The QPath Blog


qSOAmrb

qSOA®: tecnología para la integración dinámica de los sistemas software híbridos cuántico-clásicos

Autores

José Luis Hevia
aQuantum CTO

Una vez más, nos encontramos ante el nacimiento de una nueva tecnología que está llamada a cambiar el mundo como ya lo hicieron los ordenadores, internet y los dispositivos móviles: la tecnología cuántica aplicada al mundo de la computación. Esta tecnología nos proporciona una capacidad de proceso sin parangón que revolucionará la forma de procesar la información llevando los sistemas que conocemos a un nuevo nivel de eficiencia, capacidades y resultados. Pero para ello, es necesario que se aborden -desde ya-, definiciones de principios, buenas prácticas, plataformas y productos que hagan posible la integración de esta nueva tecnología en las TI clásicas.

Estas máquinas tan espectaculares y sus potenciales servicios, que usan la mecánica cuántica, estarán en la capa más profunda de una infraestructura informática (el backend, esté alojado donde esté alojado o un servicio cloud) hasta que la tecnología pueda salir a la calle miniaturizada y empaquetada… y esto nos lleva a la forma en la que los principios de diseño y las arquitecturas de productos software deben ser concebidos.

Para poder acceder a servicios cuánticos de forma centralizada, el principio informático no cambia: necesitamos un acceso vía red de comunicaciones, un protocolo de acceso a los servicios del nuevo sistema y aplicar buenas prácticas en todos los niveles de acceso (seguridad, trazabilidad, gobernanza…) que ya están asentadas y bien probadas desde hace mucho tiempo.  

QuantumPath® tiene la capacidad de acompañar a esta nueva tecnología emergente en todos sus pasos, envolviendo su potencia hardware y sus servicios elementales de interconexión en un ecosistema de servicios, herramientas y productos, que hagan posible una rápida absorción de la tecnología. De forma que pueda transformarse en potenciales productos útiles para procesos de negocio.

QuantumPath® es una plataforma que ofrece todo lo necesario para el diseño y construcción de soluciones híbridas cuánticas. Y para ello proporciona toda una serie de servicios, herramientas y productos que permiten a los equipos de diseño abstraer, diseñar y construir las piezas necesarias para crear nuevas soluciones e integrar el software clásico con el cuántico de la forma más natural posible y que su inclusión impacte directamente en la usabilidad del caso que se quiere resolver.

Para esto, QuantumPath® proporciona qSOA®, una tecnología que se posiciona en la capa de servicios de un sistema informático, que hace posible explotar la plataforma de servicios cuánticos empleando un API. Un conjunto de funciones bien definidas que corren sobre una plataforma fiable, flexible, segura, escalable y de alto rendimiento, con la cual un sistema clásico puede acceder a los productos cuánticos como si de una pieza más de software clásico se tratara, accediendo al caso de uso y no a sus complejidades. Aunque no solo se queda en eso: desde qSOA®, además, es posible interactuar con la plataforma cuántica para, incluso, definir nuevos productos cuánticos de forma totalmente dinámica y adaptada en tiempo real a problemas reales. Y todo ello, empleando herramientas que responden perfectamente a un modelo distribuido de componentes software: estándares, seguridad, cifrado, escalabilidad, etc.

Ilustracion1qSOA

Ilustración 1 qSOA® en el modelo de servicios de QuantumPath® y su impacto en la arquitectura de plataformas híbridas

qSOA® propone una arquitectura clara, eficaz, concreta, segura y basada en estándares abiertos para interconectar los sistemas clásicos a los sistemas cuánticos, empleando herramientas conocidas y comunes en el ámbito de los sistemas software. Con qSOA® dotamos a los desarrollos de activos cuánticos de un envoltorio de alto nivel que hace posible que la tecnología clásica pueda “hablar directamente” con la cuántica, dejando que los elementos de arquitectura, complejidades técnicas, optimizaciones, traducciones, mapeos… queden “dentro de la caja”. Simplificando el modelo de integración aceleramos la inclusión de la tecnología cuántica en la infraestructura clásica de una forma natural, no forzada…, extendiendo al ámbito cuántico conceptos ya probados y consolidados en la Ingeniería del Software.

La versión 1 de qSOA® proporcionaba uno de los pilares de QuantumPath®: el acceso vía API a los casos de uso cuánticos desarrollados en el sistema para su explotación (controlando su ciclo de vida con el conjunto de herramientas gráficas asistidas). El API en este contexto, permite el acceso a la ejecución de los flujos y la obtención de los resultados. Un modelo muy concreto y especializado en simplificar el acceso al caso de uso en primera línea.

La versión 2 de qSOA® amplía esa funcionalidad incorporando el acceso automatizado al ciclo de vida del propio activo, esto es, poder ampliar dinámicamente el catálogo de assets (circuitos y flujos dinámicos, controlando su estado, compilaciones y transpilaciones de forma totalmente automática) mediante los propios sistemas informáticos que actúan de cliente y superar las barreras del diseño en cuanto a resolución de cúbits se refiere. Superada la barrera del número de cúbits soportados por una determinada tecnología cuántica, la creación de algoritmos pasará en si misma a ser exponencial: en este contexto la alta resolución de cúbits, la generación del algoritmo mediante procesos de machine learning o inteligencia artificial serán los protagonistas. La buena noticia para los desarrolladores QPath® es que ya hemos preparado al sistema para ello.

Gracias a la tecnología agnóstica de QuantumPath® y sus metalenguajes, con la nueva versión de qSOA® los desarrolladores “solamente” necesitan componer los circuitos como cadenas de ADN a través de los sistemas. Una secuencia coherente de elementos en formato de texto plano que centra el foco en el circuito y no en todos los elementos técnicos que lo envuelven, así como sus herramientas, complejidades, versiones y diferentes formatos establecidos de forma propietaria por un fabricante. Dado que los fabricantes cambiarán sus APIs, sus capacidades y sus requisitos (identificándose como el backend de más bajo nivel), qSOA® actuará de paraguas gracias a su interconexión con los servicios Core de QuantumPath®. Si cada flujo diseñado corresponde a un “Caso de uso cuántico”, desde qSOA® podrá acceder a dicho caso de uso siempre de la misma forma, sin verse afectado por los elementos del proveedor. Ya sea creado dinámicamente o con las herramientas de diseño de QuantumPath®.

qSOA® ha sido concebida, diseñada e implementada para ser extremadamente concreta, por lo que no es un API con cientos de funciones. Por el contrario, convierte el proceso de integración en algo sumamente concreto, parametrizable y controlado. Y ello, se ha logrado sobre una base de arquitecturas bien probadas, diseñadas para ser seguras, bajo principios de alto rendimiento y escalabilidad que proporcionan unas herramientas a los equipos de desarrollo que les permita prepararse ahora para marcar el camino y ser eficientes en la evolución del mismo.

qSOAv2_2

Ilustración 2 qSOA® API, diferentes tecnologías clásicas conectados al API

qSOA® hace posible el acceso al sistema cuántico con cualquier tecnología clásica, ya sea, por ejemplo, Python, Java o .NET, y que los desarrolladores, los investigadores, los equipos de I+D, etc. tengan una propuesta lo más completa posible para realizar su camino en el desarrollo de sistemas software híbridos clásico/cuántico listos para la industria. No se trata de una serie de notebooks aislados, no se trata de trabajos desconectados de un sistema de explotación para conectarlos “artesanalmente” en casa caso, sino de un sistema de información “industrial” coherente y completo que se pueda centrar en todo el proceso y no sólo en piezas sueltas que luego tendrán que componerse de alguna manera. Queremos que se “trabaje en el libro” de forma conjunta, y cada “capítulo” pueda ser debidamente tratado en conjunto, con calidad y garantías. Y esto con las herramientas que mejor se adapten a cada trabajo.

Para mostrar someramente el uso del API qSOA®, pongamos en contexto que se ha desarrollado como caso de uso, un algoritmo de tipo QRNG (generador de números aleatorios basado en tecnología de puertas). Previamente el diseñador ha realizado la generación de assets necesaria para construir la solución y ha marcado el flujo del algoritmo como “publicado” para que pueda ser explotado mediante qSOA®. El código jupyter notebook que haría la llamada quedaría así:


g_experimentName = 'QRNG Experiment'

g_idSolution = QRNG_SOLUTION

g_idFlow = QRNG_FLOW

#Listamos todos los QPU asociados a la solucion

deviceList = qsoa.getQuantumDeviceList(q_idSolution)


print('Device List:', deviceList)

#Device List: {'14': 'AMAZON BRAKET 25qbits Local Simulator', '15': #'AMAZON BRAKET GATES Managed state vector simulator SV1', '10': 'I#BM Cloud Q_Santiago 5qbits computer', '2': 'QISKIT Local Simulator#', '4': 'IBM Cloud Q_Jakarta 7qbits computer', '6': 'IBM Cloud Qua#ntum 32qbits simulator', '1': 'Q# Local Simulator Framework', '8': #'QuTECH Cloud 26qbits Single-Node Simulator'}


g_idDevice = 14 #elegimos Simulador AMAZON BRAKET puertas

g_application = qsoa.runQuantumApplication(g_experimentName, g_idSolution, g_idFlow,

g_idDevice)

resapp_execution = qsoa.getQuantumExecutionResponse(g_application)

print('Exit Code:', resapp_execution.getExitCode())

print('Exit Message:', resapp_execution.getExitMessage())

print('Solution Name:', resapp_execution.getSolutionName())

print('Flow Name:', resapp_execution.getFlowName())

print('Device Name:', resapp_execution.getDeviceName())

print('Histogram:', resapp_execution.getHistogram())

print('Duration:', resapp_execution.getDuration())

#Exit Code: OK

#Exit Message: None

#Solution Name: QPATH.QRNG

#Flow Name:RANDOMNUMBERFlow

#Device Name: amazon_braket_universal_identification

#Histogram: {'QPATH_QRNG_RandomCircuit_1_0': {'010': 117, '001': 128, #'000': 109, '110': 124, '101': 129, '100': 131, '111': 139, '011': #123}}

#Duration: 92343867

qSOA® y QuantumPath® son nuestra propuesta de tecnología para construir soluciones clásico-cuánticas listas para la industria. Es un camino claro que permite abordar la incorporación de la tecnología cuántica a la computación clásica de una manera fiable, rápida y basada en los mejores principios de ingeniería informática. Que tiene como objetivo hacer posible que el trabajo multidisciplinar de todos los profesionales que diseñan y desarrollan algoritmos cuánticos pueda ser integrado en un ecosistema completo.

Todo esto permite sacar provecho para la implantación de sistemas software híbridos desde el minuto 1. La adopción práctica de la computación cuántica en el contexto tecnológico actual es híbrida. No esperemos al futuro para la integración de estas tecnologías cuando, con arquitecturas como la de qSOA®ya está a nuestro alcance brindar a la industria soluciones reales para comenzar a acceder a las ventajas de la computación cuántica.