Compartir a través de


Integración de la computación cuántica con aplicaciones clásicas

Azure Quantum
Azure Key Vault
Microsoft Entra ID

La computación clásica se desafía cada vez más con los problemas de proceso más complejos actuales, incluso a la escala de nuestros superequipos más potentes. Los equipos cuánticos tienen la promesa de ampliar drásticamente nuestras funcionalidades de proceso. Al aprovechar las propiedades de la física cuántica para realizar cálculos, proporcionan velocidades exponenciales para determinados tipos de problemas. Por ejemplo, los equipos cuánticos hacen excepcionalmente bien con problemas que requieren calcular un gran número de combinaciones posibles a menudo encontradas en escenarios de optimización, simulación o aprendizaje automático.

Sin embargo, los componentes de computación cuántica tienen un modelo operativo diferente del de software clásico. Normalmente hay uno o varios componentes de proceso clásicos que orquestan la ejecución de componentes cuánticos. Esta orquestación incluye las actividades siguientes:

  • Preparación de datos de entrada
  • Envío de trabajos de computación cuántica a un entorno cuántico de destino
  • Supervisión de la ejecución del trabajo
  • Posprocesamiento de los resultados del trabajo

Puede integrar esta orquestación con aplicaciones clásicas de una de estas dos maneras:

  • Integración mediante acoplamiento estrecho. La lógica para la orquestación de recursos cuánticos se integra en el componente o componentes clásicos.
  • Integración mediante acoplamiento flexible. La lógica de la orquestación de recursos cuánticos se expone como una API a la que pueden llamar varios componentes de software clásicos.

En este artículo se describe cómo implementar aplicaciones cuánticas en cada uno de estos diseños. Cada implementación utiliza Azure Quantum como motor de computación cuántica, pero difieren ligeramente en otros aspectos, como se detalla a continuación.

Enfoque estrechamente acoplado

Casos de uso potenciales

En estos casos, se prefiere el enfoque estrechamente acoplado:

  • Un equipo posee tanto el código cuántico como el código clásico, y el código está integrado.
  • Los componentes cuánticos comparten el mismo ciclo de vida que los componentes clásicos.
  • El uso de los componentes cuánticos se limita a una sola aplicación o a un pequeño conjunto de aplicaciones relacionadas.
  • El trabajo cuántico representa una solución especializada (por ejemplo, una simulación molecular) que solo usará una aplicación clásica especializada.
  • El algoritmo implementado es híbrido clásico cuántico por naturaleza, por ejemplo, Quantum Eigensolvers cuánticos variantes (VQE) y algoritmos de optimización aproximada cuántica (QAOA).

Arquitectura

diagrama de arquitectura que muestra una aplicación híbrida que contiene un trabajo de computación cuántica estrechamente acoplado.

Descargar un archivo de PowerPoint de esta arquitectura.

Flujo de datos

  1. Un usuario que ha iniciado sesión desencadena la ejecución de trabajos cuánticos a través de una aplicación cliente clásica.
  2. La aplicación cliente coloca los datos de entrada en Azure Storage.
  3. La aplicación cliente envía el trabajo a un área de trabajo de Azure Quantum, especificando el destino de ejecución o los destinos. El cliente identifica el área de trabajo a través de los datos almacenados en Key Vault y se autentica en el área de trabajo a través de identidad administrada.
  4. Un proveedor cuántico ejecuta el trabajo en un entorno de destino.
  5. La aplicación cliente supervisa la ejecución del trabajo mediante el sondeo del estado del trabajo.
  6. Tan pronto como finalice el trabajo cuántico, la aplicación cliente obtiene el resultado de proceso de Storage.

Este flujo de trabajo implementa el patrón de Request-Reply asincrónico de y los pasos definidos para el ciclo de vida del trabajo de Azure Quantum .

Componentes

  • Azure Quantum proporciona un área de trabajo de , accesible desde Azure Portal, para los recursos asociados a la ejecución de trabajos cuánticos en varios destinos. Los trabajos se ejecutan en simuladores cuánticos o hardware cuántico, en función del proveedor que elija.
  • microsoft Entra ID coordina la autenticación del usuario y ayuda a proteger el acceso al área de trabajo de Azure Quantum.
  • Key Vault protege y mantiene el control de las claves y otros secretos, como el nombre del área de trabajo de Azure Quantum.
  • azure Storage proporciona almacenamiento para los datos de entrada y los resultados del proveedor cuántico.

Consideraciones

Estas consideraciones implementan los pilares de Azure Well-Architected Framework, que es un conjunto de principios rectores que se pueden usar para mejorar la calidad de una carga de trabajo. Para obtener más información, consulte Microsoft Azure Well-Architected Framework.

Fiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, vea Lista de comprobación de revisión de diseño para lade confiabilidad.

La disponibilidad de la funcionalidad de proceso cuántico depende en gran medida de la disponibilidad e instalación de la base de proveedor de computación cuántica. En función del destino de proceso, la aplicación cliente clásica puede experimentar retrasos prolongados o falta de disponibilidad del destino.

Para los servicios de Azure circundantes, se aplican las consideraciones de disponibilidad habituales:

  • Use las opciones de redundancia Key Vault.
  • Si es necesario, considere la posibilidad de usar las opciones de replicación en Storage.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de sus valiosos datos y sistemas. Para obtener más información, vea Lista de comprobación de revisión de diseño para security.

A diferencia de la arquitectura de la alternativa de acoplamiento flexible, la arquitectura que se presenta aquí se basa en la suposición de que solo un cliente accede al área de trabajo de Azure Quantum. Este escenario conduce a las siguientes configuraciones:

  • Dado que se conoce el cliente, puede implementar la autenticación a través de identidad administrada, asociada a la aplicación.
  • Puede implementar la limitación de solicitudes y el almacenamiento en caché de los resultados en el propio cliente.

En general, considere la posibilidad de aplicar los patrones de diseño típicos para los de seguridad cuando proceda.

Enfoque acoplado flexible

Casos de uso potenciales

En estos casos, se prefiere el enfoque de acoplamiento flexible:

  • Tiene un equipo dedicado de especialistas cuánticos que proporcionan centralmente funcionalidad cuántica a otros equipos y los componentes cuánticos se desarrollan independientemente de los componentes de cliente clásicos.
  • El trabajo cuántico representa una solución genérica (por ejemplo, programación de trabajos) que varias aplicaciones clásicas pueden reutilizar.

Arquitectura

diagrama de arquitectura que muestra una aplicación híbrida que contiene un trabajo de computación cuántica acoplado flexiblemente.

Descargar un archivo de PowerPoint de esta arquitectura.

Flujo de datos

  1. Un usuario que ha iniciado sesión desencadena la ejecución de trabajos cuánticos a través de una aplicación clásica.
  2. La aplicación clásica llama a la API de trabajo personalizada para enviar el trabajo.
  3. La puerta de enlace de API desencadena la función de Azure de envío de trabajos, que pasa los datos de entrada del trabajo.
  4. La función coloca los datos de entrada en Azure Storage.
  5. La función envía el trabajo a un área de trabajo de Azure Quantum, especificando el destino de ejecución o los destinos. La función identifica el área de trabajo a través de los datos almacenados en Azure Key Vault y se autentica en el área de trabajo a través de identidad administrada.
  6. Un proveedor cuántico ejecuta el trabajo en un entorno de destino.
  7. La aplicación cliente supervisa la ejecución del trabajo mediante el sondeo del estado del trabajo a través de llamadas API.
  8. La puerta de enlace de API supervisa la ejecución del trabajo mediante el sondeo del estado del trabajo desde el proveedor cuántico.
  9. Cuando finalice el trabajo, los resultados de proceso se almacenan en Azure Storage. La aplicación cliente obtiene los resultados mediante una API que se implementa a través de la función de Azure.

Este flujo de trabajo implementa el patrón de Request-Reply asincrónico de y los pasos definidos para el ciclo de vida del trabajo de Azure Quantum .

Componentes

  • Azure Quantum proporciona un área de trabajo de , accesible desde Azure Portal, para los recursos asociados a la ejecución de trabajos cuánticos en varios destinos. Los trabajos se ejecutan en simuladores cuánticos o hardware cuántico, en función del proveedor que elija.
  • microsoft Entra ID coordina la autenticación del usuario y ayuda a proteger el acceso al área de trabajo de Azure Quantum.
  • API Management es la puerta de enlace de API que expone centralmente los puntos de conexión de API para la administración de trabajos cuánticos.
  • de Azure Functions se usa para reenviar las solicitudes de cliente a los recursos cuánticos adecuados.
  • Azure Key Vault protege y mantiene el control de las claves y otros secretos, como el nombre del área de trabajo de Azure Quantum.
  • azure Storage proporciona almacenamiento para los datos de entrada y los resultados del proveedor cuántico.

Fiabilidad

La disponibilidad de la funcionalidad de proceso cuántico depende en gran medida de la disponibilidad e instalación de la proveedor de computación cuántica. En función del destino de proceso, la aplicación cliente clásica puede experimentar retrasos prolongados o falta de disponibilidad del destino.

Para los servicios de Azure circundantes, se aplican las consideraciones de disponibilidad habituales:

  • Para lograr una alta disponibilidad, puede implementar API Management en varias zonas o regiones.
  • Si usa la replicación geográfica, puede aprovisionar azure Functions en varias regiones.
  • Use las opciones de redundancia Key Vault.
  • Si es necesario, considere la posibilidad de usar las opciones de replicación en Storage.

Seguridad

A diferencia de la arquitectura de la alternativa estrechamente acoplada, la arquitectura que se presenta aquí se basa en la suposición de que varios clientes acceden al área de trabajo de Azure Quantum a través de la API. Este escenario conduce a las siguientes configuraciones:

En general, considere la posibilidad de aplicar los patrones de diseño típicos para los de seguridad cuando proceda.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar a fin de satisfacer las demandas que los usuarios ponen en ella de forma eficaz. Para obtener más información, vea Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.

El rendimiento de la aplicación depende de la disponibilidad y el rendimiento de los destinos de computación cuántica subyacentes. Para obtener información sobre el rendimiento y la escalabilidad de los componentes clásicos, revise el patrones de diseño típicos para la escalabilidad y la lista de comprobación de eficiencia del rendimiento .

Características comunes

Las siguientes características son comunes a los modelos de implementación estrechamente acoplados y de acoplamiento flexible

Alternativas

Las arquitecturas que se presentan aquí son para problemas empresariales que requieren recursos de computación cuántica para sus tareas de proceso. Para algunos desafíos de proceso, los servicios existentes creados para realizar informática de alto rendimiento o proporcionar funcionalidad de inteligencia artificial podrían ser una alternativa.

Consideraciones

Algunos de los destinos cuánticos de Azure (especialmente el hardware cuántico) serán un recurso limitado para el futuro previsible. El acceso a estos recursos se implementa a través de un mecanismo de puesta en cola. Al enviar un trabajo cuántico a Azure Quantum, este trabajo se agrega a una cola de trabajos. El trabajo se ejecutará, una vez que el destino complete el procesamiento de entradas de cola anteriores. Puede obtener el tiempo de espera esperado enumerar los destinos disponibles. Para calcular el tiempo de respuesta completo, debe agregar el tiempo dedicado a esperar un recurso disponible al tiempo de ejecución del trabajo.

Fiabilidad

Como entornos de destino cuánticos, como Azure Quantum, normalmente proporcionan una corrección de errores limitada (limitada al procesador cuántico en el caso de Azure Quantum), pueden producirse otros errores, como el tiempo de espera de la máquina cuántica, por lo que se recomienda supervisar la ejecución del trabajo para que pueda informar al usuario sobre el estado del trabajo. Cuando se produce un error en la ejecución del trabajo debido a un error transitorio, implemente un patrón de reintento . Envíe los trabajos a través de llamadas asincrónicas, con sondeo para el resultado, para evitar bloquear innecesariamente el cliente que realiza la llamada.

Dado que los recursos de computación cuántica suelen ser limitados, las expectativas de resistencia deben tener en cuenta este factor. Por lo tanto, las sugerencias que se ofrecen en este artículo pueden proporcionar medidas adicionales de resistencia.

Optimización de costos

La optimización de costos consiste en examinar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costos.

El costo total de esta solución depende del destino de computación cuántica que seleccione para ejecutar el trabajo cuántico. Calcular los costos estimados de los componentes clásicos es sencillo. Puede usar la calculadora de precios de Azure .

Para el servicio Azure Quantum, tenga en cuenta que los proveedores de computación cuántica se pueden consumir a través de una oferta de Azure Marketplace. Los precios dependen del tipo de recurso (simulador o hardware), la SKU y el uso. Para obtener más información, consulte la página de referencia del proveedor necesario para su escenario. Estas páginas de referencia se enumeran en proveedores de computación cuántica en Azure Quantum.

Excelencia operativa

La excelencia operativa abarca los procesos de operaciones que implementan una aplicación y lo mantienen en ejecución en producción. Para obtener más información, vea Lista de comprobación de revisión de diseño para la excelencia operativa.

La incorporación de trabajos cuánticos a canalizaciones clásicas de CI/CD se puede realizar mediante Azure DevOps con cambios menores en un diseño típico. En el diseño siguiente se muestra un flujo de trabajo de canalización de DevOps que se puede aplicar a las arquitecturas estrechamente acopladas y de acoplamiento flexible.

Arquitectura

diagrama de arquitectura que muestra una canalización clásica de CI/CD con Azure Quantum incorporada en él.

Descargar un archivo de PowerPoint de esta arquitectura.

Flujo de datos
  1. El desarrollador cambia el código fuente de los componentes de la aplicación.
  2. Los cambios se confirman en el repositorio de código fuente.
  3. Los cambios en el código cuántico desencadenan la canalización de compilación cuántica. La canalización de compilación comprueba el código, lo compila, calcula los recursos necesarios y ejecuta el algoritmo en un simulador.
  4. El algoritmo cuántico compilado se envía a un entorno cuántico para realizar pruebas.
  5. Los cambios desencadenan una canalización de compilación para los componentes clásicos. La canalización comprueba el código, lo compila y ejecuta pruebas unitarias e de integración.
  6. Las pruebas y la compilación correctas desencadenan una canalización de versión. La canalización aprovisiona primero el entorno de Azure mediante la implementación de las plantillas de Azure Resource Manager que se almacenan en el repositorio (infraestructura como código).
  7. Los artefactos de aplicación clásica compilados se implementan en Azure. Los trabajos cuánticos se envían a un área de trabajo cuántica durante el tiempo de ejecución.
  8. Application Insights supervisa el comportamiento del entorno de ejecución, el estado, el rendimiento y la información de uso.
  9. Los elementos de trabajo pendiente se actualizan según sea necesario, en función de los resultados de la supervisión.
  10. El desarrollador usa Application Insights para la optimización y los comentarios de la aplicación.
Componentes

Esta solución usa las siguientes herramientas de DevOps:

  • azure Repos proporciona repositorios git privados ilimitados hospedados en la nube. Aquí se usa para almacenar el código cuántico y clásico y las plantillas de Azure Resource Manager que se usan para aprovisionar el entorno.
  • azure Pipelines le permite compilar, probar e implementar continuamente en la nube. Aquí se usa para implementar CI/CD, incluido el aprovisionamiento del entorno antes de la implementación de código.

Como alternativa, puede usar repositorios de GitHub y acciones de GitHub para implementar los procesos de CI/CD.

La solución usa los siguientes componentes:

  • Una aplicación cliente organiza el trabajo cuántico. Puede implementar la integración mediante un estrechamente acoplado o un enfoque de acoplado flexiblemente.
  • Azure Quantum proporciona una de área de trabajo para los recursos asociados a la ejecución de aplicaciones de computación cuántica. Los trabajos se ejecutan en simuladores cuánticos o hardware cuántico, en función del proveedor que elija.
  • microsoft Entra ID coordina la autenticación de usuario y protege el acceso al área de trabajo de Azure Quantum.
  • Azure Key Vault protege y mantiene el control de las claves y otros secretos, como el nombre del área de trabajo cuántica.
  • azure Storage contiene los datos de entrada y salida del trabajo cuántico.
  • Application Insights supervisa la aplicación, detecta anomalías de la aplicación, como errores y rendimiento deficientes, y envía telemetría a Azure Portal.

Eficiencia del rendimiento

El rendimiento de la aplicación depende de la disponibilidad y el rendimiento de los destinos de computación cuántica subyacentes. Para obtener información sobre el rendimiento y la escalabilidad de los componentes clásicos, revise el patrones de diseño típicos para la escalabilidad y la lista de comprobación de eficiencia del rendimiento .

Colaboradores

Microsoft mantiene este artículo. Originalmente fue escrito por el siguiente colaborador.

Autor principal:

  • Holger Sirtl | Arquitecto técnico sénior en el Centro de tecnología de Microsoft

Para ver perfiles de LinkedIn no públicos, inicie sesión en LinkedIn.

Pasos siguientes