Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Alguns problemas computacionais são impraticáveis ou intratáveis de resolver em computadores clássicos, mesmo em supercomputadores grandes. Para alguns destes problemas, um algoritmo quântico pode chegar a uma solução usando muito menos recursos do que a abordagem clássica mais conhecida. Um computador quântico utiliza efeitos quânticos, como sobreposição e emaranhamento, para representar e processar informação de formas que um computador clássico não consegue.
Os programas quânticos correm em provedores quânticos aos quais se acede através da submissão de tarefas. Os alvos quânticos apresentam diferentes perfis de alvo. Alguns perfis permitem apenas operações quânticas, e a lógica clássica que se pode executar neles é limitada. Outros perfis permitem que tanto operações quânticas como clássicas corram em conjunto no provedor.
Independentemente do perfil alvo, os componentes de computação clássica tratam da integração da aplicação envolvente. Mesmo quando um alvo quântico aceita operações clássicas, chega-se ao alvo submetendo um trabalho e aguardando pelos resultados. Este artigo descreve e compara dois modelos de orquestração para integrar trabalho quântico com aplicações clássicas.
Na prática, executar um programa quântico é uma chamada de serviço. A sua aplicação clássica ou código cliente submete um trabalho a um alvo, espera que ele seja executado e recupera os resultados. Um ou mais componentes clássicos de computação orquestram cada trabalho quântico realizando as seguintes atividades:
- Preparação dos dados de entrada
- Submeter trabalhos de computação quântica a um ambiente quântico alvo
- Monitorização da execução do trabalho
- Resultados da tarefa de pós-processamento
Modelos de integração quântica
Integra trabalho quântico com uma aplicação clássica usando um de dois padrões de orquestração:
Integração quântica direta. Uma aplicação cliente ou um harness clássico leve interage diretamente com o espaço de trabalho do Azure Quantum. O cliente detém a preparação de entradas, submissão de tarefas, monitorização, gestão de resultados e a lógica clássica que envolve a execução quântica.
Integração quântica orquestrada por fluxo de trabalho. Um orquestrador de workflow controla o estado global e as transições. A execução quântica ocorre em passos de fluxo de trabalho que correm paralelamente a etapas que correm em computação de alto desempenho (HPC) ou computação de unidades de processamento gráfico (GPU).
Para um determinado limite de integração de aplicações, estes padrões são alternativas. Ou o cliente integra-se diretamente com o espaço de trabalho, ou um fluxo de trabalho mais amplo controla o passo quântico. Este artigo descreve a implementação de cada padrão.
Note
As arquiteturas neste artigo executam parte de uma tarefa de computação num alvo quântico. Para alguns desafios de computação, serviços existentes construídos para realizar computação de alto desempenho ou fornecer funcionalidades de IA podem ser alternativas.
A escolha de integração é independente de onde se executa o cálculo clássico. Dependendo do perfil de destino e da carga de trabalho, a lógica clássica pode ser executada dentro do programa quântico, no ambiente cliente entre execuções quânticas, no orquestrador do fluxo de trabalho ou numa etapa clássica do fluxo de trabalho em HPC ou em computação por GPU.
Matriz de decisão
Use a seguinte matriz de decisão para orientar a sua escolha de padrões de integração:
| Se a sua carga de trabalho tiver estas características | Use esta abordagem |
|---|---|
| Uma aplicação ou estrutura leve gere todo o ciclo de vida da tarefa quântica, e a preparação dos dados de entrada e o processamento dos resultados cabem nesse cliente. | Integração quântica direta |
| Explora-se as propriedades do hardware quântico com código quântico manuscrito, e uma aplicação ou um pequeno conjunto de aplicações relacionadas consome os resultados. | Integração quântica direta |
| O lado clássico é exigente em termos computacionais e usa a computação quântica como uma etapa entre muitas, num pipeline de várias fases cujas etapas correm no backend mais adequado a cada uma, como HPC, GPU ou um alvo quântico. | Integração quântica orquestrada por fluxos de trabalho |
| As execuções quânticas repetem-se, e o resultado de uma execução gera o próximo programa quântico ou determina os seus parâmetros. | Integração quântica orquestrada por fluxos de trabalho |
Detalhes do cenário
Ambos os fluxos de trabalho implementam o padrão de Request-Reply assíncrono e os passos definidos para o ciclo de vida do trabalho Azure Quantum.
Os alvos quânticos, especialmente o hardware quântico, são recursos limitados. O Azure Quantum aloca estes recursos através de uma fila de trabalhos. Quando submetes uma tarefa, a tarefa entra na fila do alvo que selecionas e é executada depois de esse alvo terminar as entradas anteriores. Para ver o tempo de espera esperado, liste os alvos disponíveis. Calcula o teu tempo total de resposta como a espera na fila mais o tempo de execução do trabalho.
As capacidades de um alvo quântico também variam. Alguns alvos aceitam apenas operações quânticas, enquanto outros executam lógica clássica com operações quânticas num único trabalho. Este modelo suporta algoritmos que se adaptam durante a execução. Antes de se comprometer com um alvo, confirme que ele suporta as operações que o seu algoritmo necessita. Para mais informações sobre como as instruções clássicas e quânticas funcionam em conjunto, veja Introdução à computação quântica híbrida.
Note
Estes padrões descrevem como integra o trabalho quântico na arquitetura da sua aplicação. São distintos dos modelos de computação híbrida do Azure Quantum, que descrevem como a computação clássica e a computação quântica interagem dentro dos trabalhos quânticos. Os perfis-alvo limitam o que pode ser executado nessas tarefas. Para mais informações, consulte Introdução à computação quântica híbrida. Os padrões de integração de aplicações são independentes do comportamento dentro do trabalho e controlam se um cliente ou um fluxo de trabalho executa os trabalhos quânticos.
Integração quântica direta
As secções seguintes descrevem o modelo de integração direta para integrar trabalho quântico com uma aplicação clássica.
Arquitetura
Descarregue um ficheiro PowerPoint desta arquitetura.
Fluxo de dados
O seguinte fluxo de dados corresponde ao diagrama anterior:
Um usuário conectado aciona a execução de trabalho quântico por meio de um aplicativo cliente clássico.
A aplicação cliente insere os dados no Armazenamento do Azure.
A aplicação cliente submete o trabalho para um espaço de trabalho do Azure Quantum, especificando o(s) alvo(s) de execução(s).
O cliente identifica o espaço de trabalho desde a sua configuração e autentica-se ao espaço usando uma identidade Microsoft Entra. Um cliente que corre num recurso alojado no Azure pode usar uma identidade gerida. Uma aplicação cliente local autentica-se com outra identidade Microsoft Entra, como um principal de serviço ou um login interativo do utilizador.
Um provedor de computação quântica executa o trabalho em um ambiente de destino.
O aplicativo cliente monitora a execução do trabalho pesquisando o status do trabalho.
Assim que o trabalho quântico terminar, o aplicativo cliente obterá o resultado da computação do armazenamento.
Componentes
- Azure Quantum fornece um espaço de trabalho, acessível a partir do portal Azure, para ativos associados à execução de trabalhos quânticos em vários alvos. Os trabalhos correm em simuladores quânticos ou hardware quântico, dependendo do fornecedor escolhido.
- O Microsoft Entra ID coordena a autenticação do utilizador e ajuda a proteger o acesso ao espaço de trabalho do Azure Quantum.
- O armazenamento fornece armazenamento para dados de entrada e resultados provenientes do fornecedor quântico.
Casos de uso potenciais de integração direta
O padrão de integração quântica direta enquadra-se nos seguintes casos de uso:
- Uma aplicação cliente ou uma estrutura clássica leve gere todo o ciclo de vida da tarefa quântica sem um fluxo de trabalho mais amplo.
- O cliente pode executar trabalhos clássicos envolventes, como preparação de entradas e processamento de resultados.
- Exploras as propriedades do hardware quântico, por isso normalmente escreves o código quântico à mão em vez de o gerar dinamicamente.
- A utilização dos componentes quânticos está limitada a uma única aplicação ou a um pequeno conjunto de aplicações relacionadas.
- O trabalho quântico representa uma solução especializada, como uma simulação molecular, que só uma aplicação clássica especializada utiliza.
Integração quântica orquestrada por fluxos de trabalho
As secções seguintes descrevem o modelo orquestrado por fluxo de trabalho para integrar trabalho quântico com uma aplicação clássica.
Arquitetura
A lógica do fluxo de trabalho não depende de nenhum host ou fornecedor específico. O fluxograma seguinte mostra a máquina de estados: uma única entrada, um ciclo pelos passos e as fases de cada passo. O ramo quântico pode incluir uma fase opcional de geração e otimização de programas que os passos clássicos não utilizam.
O seletor de back-end no fluxograma anterior é uma fase lógica em vez de um componente obrigatório, e pode ser uma consulta de configuração que encaminha cada passo para um tipo de back-end fixo.
Pode hospedar este fluxo de trabalho no Azure com um conjunto de serviços clássicos que submetem e monitorizam o trabalho quântico. O diagrama seguinte mostra um exemplo de topologia:
Descarregue um ficheiro PowerPoint desta arquitetura.
Fluxo de dados
O seguinte fluxo de dados corresponde à topologia de implementação:
- Uma aplicação cliente submete um pedido através da API Management, que autentica o chamador com o Microsoft Entra ID e aplica a limitação antes de o pedido atingir o nível de computação.
- A API Management encaminha o pedido para a Input API, uma função ativada por HTTP que o valida e inicia o orquestrador do workflow.
- Para uma etapa que corre de forma clássica, o orquestrador encaminha a execução para um backend clássico, como um cluster HPC ou computação por GPU.
- O backend clássico escreve os seus resultados e o estado atualizado do pipeline no Storage.
- Para uma etapa executada em quantum, o orquestrador encaminha a execução através do percurso quântico. O caminho quântico prepara o programa do passo, gerando-o e otimizando-o a partir da entrada do passo ou utilizando uma implementação fixa, e submete a tarefa ao espaço de trabalho do Azure Quantum. A submissão autentica-se através de identidade gerida.
- O espaço de trabalho executa o trabalho no alvo quântico selecionado.
- O alvo quântico grava os seus resultados no armazenamento.
- O orquestrador lê o armazenamento de estado atualizado e avalia a lógica de transição do pipeline. Se uma condição de convergência ou iteração exigir outra execução quântica, o orquestrador usa o resultado para determinar parâmetros para o próximo programa quântico ou para fornecer entradas que gerem o próximo programa. O pipeline retorna então à etapa adequada.
- O cliente consulta a API de Estado através da API Management para acompanhar o progresso e recuperar os resultados finais quando o pipeline atinge o estado terminal.
Componentes
- Durable Functions atua como orquestrador de workflow para executar o pipeline como uma máquina de estados, coordenar os passos e selecionar o backend quântico ou outro tipo de computação para a execução de cada passo. Podes implementar o Orchestrator com o Durable Functions ou outro motor de workflow.
- As infraestruturas de computação clássica do Azure HPC e GPU executam as etapas não quânticas.
- O Funções do Azure aloja as APIs HTTP que iniciam e monitorizam o fluxo de trabalho, juntamente com o orquestrador que o executa.
- A Gestão de APIs é o ponto de entrada para pedidos de clientes. Autentica os chamadores e aplica limitação. Para evitar que a aplicação de funções seja chamada diretamente, utilize opções de rede do Funções do Azure, como restrições de acesso de entrada ou um endpoint privado, para que aceite apenas tráfego proveniente da API Management.
- O Azure Quantum fornece um espaço de trabalho para ativos associados à execução de trabalhos quânticos. Os trabalhos correm em simuladores quânticos ou hardware quântico, dependendo do alvo que escolheres.
- O Microsoft Entra ID coordena a autenticação e ajuda a proteger o acesso ao espaço de trabalho do Azure Quantum.
- O armazenamento armazena dados de entrada, estado intermédio do pipeline e resultados.
Alternativas
As arquiteturas neste artigo executam parte de uma tarefa de computação num alvo quântico. Para alguns desafios de computação, serviços existentes construídos para realizar computação de alto desempenho ou fornecer funcionalidades de IA podem ser alternativas.
Para cargas de trabalho de I&D científica,
Detalhes de cenários orquestrados pelo fluxo de trabalho
Neste padrão, um orquestrador de fluxo de trabalho executa a carga de trabalho como uma sequência de etapas. O orquestrador comporta-se como uma máquina de estados em que as etapas se repetem e entram em ciclo até que se verifique uma condição de terminação ou de convergência. Cada passo segue a mesma forma: prepara a sua entrada, executa e processa a saída.
O orquestrador seleciona a infraestrutura de base que executa cada etapa. Esta seleção faz parte da lógica de orquestração, não é um serviço separado, e pode ser tão simples como ler o backend alvo para cada passo a partir da configuração. Uma etapa é executada numa infraestrutura de computação quântica ou em computação clássica, como num cluster HPC ou em computação com GPU. Um passo clássico leve pode ser executado no próprio orquestrador. Quando os passos quânticos se repetem, o fluxo de trabalho processa o resultado de uma execução quântica para determinar parâmetros para o próximo programa quântico ou para fornecer entradas que gerem o programa seguinte.
Um passo que é executado num backend quântico pode introduzir uma fase que os passos clássicos não apresentam. Essa fase gera e otimiza o programa quântico antes da execução. Esta fase é opcional. O programa pode ser gerado dinamicamente a partir da entrada da etapa, ou pode provir de uma implementação fixa que ignora esta fase. Um passo elegível para computação quântica pode ainda assim ser executado num backend clássico quando tal se adequa melhor aos dados de entrada.
A química quântica é um exemplo representativo. Um pipeline típico utiliza passos clássicos para preparar um sistema molecular: otimização geométrica, cálculo de campo autoconsistente e seleção em espaço ativo. O pipeline calcula então uma propriedade alvo, como a energia do estado fundamental de uma molécula. O passo de computação de energia mantém a mesma intenção, quer corra numa aproximação clássica ou num algoritmo quântico. Escolhes o back-end com base na precisão necessária e na dimensão do problema.
A biblioteca QDK/Chemistry suporta pipelines como estas. A biblioteca fornece componentes modulares para as etapas clássicas de preparação e para gerar um circuito de preparação de estados a partir da função de onda classicamente calculada, que um backend quântico utiliza para estimar a energia com um algoritmo como a estimação quântica de fase. Esta capacidade de geração de circuitos é um exemplo concreto de como gerar dinamicamente o programa quântico com base na entrada de uma etapa.
Casos de uso potenciais
O padrão de integração quântica orquestrado por fluxo de trabalho adequa-se a estes casos de utilização:
- O lado clássico é pesado e orientado para a lógica do estado do problema, e consome a capacidade quântica como um ou vários passos entre muitos.
- A carga de trabalho é uma cadeia de processamento de várias etapas, frequentemente iterativa, como uma máquina de estados. Cada estágio corre no backend de computação que melhor se adequa: HPC, GPU ou um alvo quântico. A computação quântica é uma opção para um ou mais estágios.
- Um passo quântico representa um bloco de construção bem definido, como um cálculo científico que calcula uma propriedade molecular. O código quântico preciso pode até ser gerado e otimizado dinamicamente para se ajustar às entradas reais.
- O orquestrador do fluxo de trabalho gere múltiplas execuções quânticas autónomas e o processamento clássico entre elas. O resultado de uma execução determina parâmetros para o próximo programa quântico ou fornece entradas que geram o programa seguinte. A estimação iterativa de fase encaixa-se nesta estrutura, assim como algoritmos variacionais como o Variational Quantum Eigensolver (VQE) e o Quantum Approximate Optimization Algorithm (QAOA).
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que você pode usar para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Well-Architected Framework.
Fiabilidade
A confiabilidade ajuda a garantir que seu aplicativo possa cumprir os compromissos que você assume com seus clientes. Para obter mais informações, consulte Lista de verificação de revisão de design para confiabilidade.
As tarefas quânticas são executadas em destinos remotos e partilhados, pelo que a execução da tarefa pode falhar devido a erros transitórios, como a expiração do tempo limite de um destino. Independentemente do padrão de integração que escolher, monitorize a execução do trabalho para que possa mostrar o estado do trabalho ao utilizador. Quando um trabalho falha devido a um erro transitório, aplica o padrão de Retentativa. Submete trabalhos através de chamadas assíncronas e consulta o resultado para não bloquear o cliente que está a ligar.
A disponibilidade da funcionalidade de computação quântica depende fortemente das características de disponibilidade e capacidade do fornecedor de computação quântica. Dependendo do destino de computação, o aplicativo cliente clássico pode enfrentar longos atrasos ou indisponibilidade do destino.
Para os serviços Azure circundantes, aplicam-se as considerações habituais de disponibilidade. Se necessário, considere usar as opções de replicação na redundância do Armazenamento do Azure.
Fiabilidade para integração orquestrada por fluxos de trabalho
Para alta disponibilidade na integração orquestrada por workflow, implemente a API Management em várias zonas de disponibilidade ou em múltiplas regiões. A redundância de zonas requer o nível Premium ou Premium v2, e a implementação multirregional requer o nível Premium.
Se implementar o orquestrador com Durable Functions, planeie a recuperação após desastre como um todo, em vez de tratar a aplicação de funções e o respetivo estado como serviços independentes. As funções duráveis mantêm todo o estado de orquestração num hub de tarefas num backend de armazenamento, que é o Armazenamento do Azure por defeito. Como o estado de execução e o cálculo estão acoplados através desse hub de tarefas, provisionar a aplicação de funções numa segunda região e replicar o Armazenamento separadamente não define um failover seguro. As orquestrações podem pausar, perder transações recentes ou ler um hub de tarefas multi-região, dependendo da topologia.
Para um failover seguro, utilize uma configuração ativo-passiva que faça failover para uma região secundária, antecipada por um serviço global de balanceamento de carga como o Azure Front Door ou o Gestor de Tráfego do Azure. Confirme que as sondas de saúde do serviço conseguem chegar à aplicação de funções sob as suas restrições de rede, porque os mesmos controlos que limitam a aplicação ao tráfego de Gestão de API também podem bloquear essas sondas. Escolha a topologia que corresponda à sua tolerância à perda de dados e à latência entre regiões. Para conhecer as opções coordenadas e as respetivas vantagens e desvantagens, veja Recuperação após desastre e geodistribuição no Durable Functions.
Segurança
A segurança fornece garantias contra ataques deliberados e o uso indevido de seus valiosos dados e sistemas. Para obter mais informações, consulte Lista de verificação de revisão de design para segurança.
Aplique as seguintes práticas de endurecimento aos serviços clássicos que rodeiam o trabalho quântico, independentemente do padrão de integração que escolher:
Autentique no Azure Quantum e nos serviços circundantes usando identidades Microsoft Entra, e desative a autenticação local onde o serviço a suporte. Use identidades geridas sempre que o ambiente de alojamento as permita. Para um cliente que não consegue usar uma identidade gerida, autentique com outra identidade Microsoft Entra, como um principal de serviço ou um login interativo do utilizador.
Atribua a cada componente que acede ao Armazenamento o acesso ao plano de dados de que necessita através do controlo de acesso baseado em funções do Azure (Azure RBAC) com o Microsoft Entra ID, delimitado ao respetivo componente. Não incorpore chaves de conta de armazenamento no código da aplicação.
Em geral, aplique as recomendações de segurança do Well-Architected Framework conforme apropriado.
Segurança para integração quântica direta
Ao contrário da integração quântica orquestrada por workflow, este padrão assume que um único cliente acede ao espaço de trabalho do Azure Quantum. O cliente é normalmente uma estrutura clássica leve que se concentra na submissão e execução de tarefas, em vez do estado global do fluxo de trabalho. Esse cenário leva às seguintes configurações:
Como o cliente é conhecido, pode dar-lhe uma identidade fixa. Quando o cliente é executado num recurso hospedado no Azure, associe-lhe uma identidade gerida. Quando o cliente funciona fora do Azure, utilize um principal de serviço ou um login interativo do utilizador.
Pode implementar a limitação de pedidos e o armazenamento em cache dos resultados no próprio cliente.
Segurança para integração orquestrada por fluxos de trabalho
Ao contrário da integração quântica direta, este padrão coloca um nível clássico de serviço à frente do trabalho quântico. A Gestão de APIs é a porta de entrada para esse nível, por isso as configurações de segurança enfatizam a proteção do ponto de entrada e do caminho para o espaço de trabalho quântico.
Os clientes devem autenticar-se na API. Implemente esta autenticação utilizando políticas de autenticação.
Pode implementar a autenticação das funções Azure via <>identidades geridas associadas às funções. Usas essas identidades para autenticar chamadas de saída para o espaço de trabalho do Azure Quantum.
A Gestão de APIs pode aplicar limitação da taxa de pedidos para proteger a infraestrutura de back-end quântica e limitar a utilização de recursos quânticos. Para mais informações, consulte a limitação de pedidos no API Management.
Dependendo do padrão de solicitação, você poderá implementar o cache de resultados de computação quântica usando políticas de cache do Gerenciamento de API.
Otimização de Custos
A Otimização de Custos concentra-se em formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Lista de verificação de revisão de projeto para Otimização de custos.
O custo geral desta solução depende do alvo de computação quântica que você selecionar para executar o trabalho quântico. Os componentes clássicos são simples de estimar. Para uma implementação representativa do padrão orquestrado por workflow, consulte este exemplo de estimativa de custo, que cobre os componentes clássicos, incluindo API Management, Funções do Azure e Storage. O padrão de integração direta é mais leve, mas os seus custos clássicos continuam a incluir Armazenamento e qualquer alojamento, rede e monitorização que a aplicação cliente utilize.
Pode utilizar fornecedores de computação quântica do Azure Quantum através de uma oferta no Microsoft Marketplace. O preço depende do tipo de recurso (simulador ou hardware), da SKU e do seu uso. Para mais informações, aceda à página de referência do fornecedor do seu cenário em Quantum computing providers no Azure Quantum.
Contribuidores
A Microsoft mantém este artigo. O seguinte colaborador escreveu este artigo.
Autor principal:
- Zander Chocron | Engenheiro Principal de Software, Microsoft Quantum
Para ver perfis não públicos do LinkedIn, faça login no LinkedIn.
Próximos passos
- Para uma visão geral do ecossistema de computação quântica da Microsoft, consulte o site Microsoft Quantum e complete o percurso de aprendizagem dos fundamentos da computação quântica.
- Para mais informações sobre o serviço Azure Quantum, veja O que é o Azure Quantum?.
- Para informações gerais sobre a gestão de tarefas do Azure Quantum, veja Trabalhar com tarefas do Azure Quantum.
- Para informações sobre como combinar instruções clássicas e quânticas num trabalho, veja Introdução à computação quântica híbrida.