Condividi tramite


Integrazione del calcolo quantistico con app classiche

Azure Quantum
Azure Key Vault
Microsoft Entra ID

Il calcolo classico è sempre più sfidato con i problemi di calcolo più complessi di oggi, anche su larga scala dei supercomputer più potenti. I computer quantistici promettono di estendere notevolmente le funzionalità di calcolo. Sfruttando le proprietà della fisica quantistica per eseguire calcoli, forniscono velocità esponenziali per determinati tipi di problemi. Ad esempio, i computer quantistici funzionano in modo eccezionale con problemi che richiedono il calcolo di un numero elevato di possibili combinazioni spesso presenti in scenari di ottimizzazione, simulazione o Machine Learning.

Tuttavia, i componenti di calcolo quantistico hanno un modello operativo diverso da quello del software classico. In genere sono presenti uno o più componenti di calcolo classici che orchestrano l'esecuzione di componenti quantistici. Questa orchestrazione include le attività seguenti:

  • Preparazione dei dati di input
  • Invio di processi di calcolo quantistico a un ambiente quantistico di destinazione
  • Monitoraggio dell'esecuzione del processo
  • Post-elaborazione dei risultati del processo

È possibile integrare questa orchestrazione con le applicazioni classiche in uno dei due modi seguenti:

  • Integrazione tramite accoppiamento stretto. La logica per l'orchestrazione delle risorse quantistica è integrata nel componente o nei componenti classici.
  • Integrazione tramite accoppiamento libero. La logica per l'orchestrazione delle risorse quantistica viene esposta come API che può essere chiamata da vari componenti software classici.

Questo articolo descrive come implementare applicazioni quantistiche in ognuna di queste progettazioni. Ogni implementazione usa Azure Quantum come motore di calcolo quantistico, ma differisce leggermente in altri aspetti, come descritto di seguito.

Approccio strettamente accoppiato

Casi d'uso potenziali

L'approccio strettamente accoppiato è preferibile in questi casi:

  • Un team possiede sia il codice quantistico che il codice classico e il codice è integrato.
  • I componenti quantistici condividono lo stesso ciclo di vita dei componenti classici.
  • L'uso dei componenti quantistici è limitato a una singola applicazione o a un piccolo set di applicazioni correlate.
  • Il processo quantistico rappresenta una soluzione specializzata (ad esempio, una simulazione molecolare) che verrà usata solo da un'applicazione classica specializzata.
  • L'algoritmo implementato è quantistico-classico ibrido per natura, ad esempio, Quantum Eigensolvers (VQE) e algoritmi di ottimizzazione quantistica approssimativa (QAOA).

Architettura

diagramma dell'architettura che mostra un'app ibrida che contiene un processo di calcolo quantistico strettamente a accoppiamento.

Scaricare un file di PowerPoint di questa architettura.

Flusso

  1. Un utente connesso attiva l'esecuzione del processo quantistico tramite un'applicazione client classica.
  2. L'applicazione client inserisce i dati di input in Archiviazione di Azure.
  3. L'applicazione client invia il processo a un'area di lavoro di Azure Quantum, specificando la destinazione o le destinazioni di esecuzione. Il client identifica l'area di lavoro tramite i dati archiviati in Key Vault ed esegue l'autenticazione nell'area di lavoro tramite 'identità gestita.
  4. Un provider quantistico esegue il processo in un ambiente di destinazione.
  5. L'applicazione client monitora l'esecuzione del processo eseguendo il polling dello stato del processo.
  6. Al termine del processo quantistico, l'applicazione client ottiene il risultato di calcolo da Archiviazione.

Questo flusso di lavoro implementa il modello Request-Reply asincrono e i passaggi definiti per il ciclo di vita del processo Azure Quantum.

Componenti

  • azure Quantum fornisce un'area di lavoro , accessibile dal portale di Azure, per gli asset associati all'esecuzione di processi quantistici in varie destinazioni. I processi vengono eseguiti su simulatori quantistici o hardware quantistico, a seconda del provider scelto.
  • microsoft Entra ID coordina l'autenticazione utente e consente di proteggere l'accesso all'area di lavoro di Azure Quantum.
  • Key Vault protegge e mantiene il controllo delle chiavi e di altri segreti, ad esempio il nome dell'area di lavoro di Azure Quantum.
  • archiviazione di Azure fornisce spazio di archiviazione per i dati di input e i risultati del provider quantistico.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, ovvero un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'affidabilità.

La disponibilità della funzionalità di calcolo quantistico dipende in modo elevato dalla disponibilità e dall'installazione della base del provider di calcolo quantistico . A seconda della destinazione di calcolo, l'applicazione client classica potrebbe riscontrare ritardi lunghi o indisponibilità della destinazione.

Per i servizi di Azure circostanti, si applicano le normali considerazioni sulla disponibilità:

  • Usare le opzioni di ridondanza Key Vault.
  • Se necessario, prendere in considerazione l'uso delle opzioni di replica in Archiviazione.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per Security.

A differenza dell'architettura per la alternativa ad accoppiamento libero, l'architettura presentata qui si basa sul presupposto che un solo client accesa all'area di lavoro di Azure Quantum. Questo scenario comporta le configurazioni seguenti:

  • Poiché il client è noto, è possibile implementare l'autenticazione tramite 'identità gestita, associata all'applicazione.
  • È possibile implementare la limitazione delle richieste e la memorizzazione nella cache dei risultati nel client stesso.

In generale, è consigliabile applicare i modelli di progettazione tipici per i di sicurezza quando appropriato.

Approccio ad accoppiamento libero

Casi d'uso potenziali

L'approccio ad accoppiamento libero è preferibile in questi casi:

  • Si dispone di un team dedicato di specialisti quantistici che forniscono centralmente funzionalità quantistiche ad altri team e i componenti quantistici vengono sviluppati indipendentemente da qualsiasi componente client classico.
  • Il processo quantistico rappresenta una soluzione generica (ad esempio, la pianificazione dei processi) che può essere riutilizzata da più applicazioni classiche.

Architettura

Diagramma dell'architettura che mostra un'app ibrida che contiene un processo di calcolo quantistico ad accoppiamento libero.

Scaricare un file di PowerPoint di questa architettura.

Flusso

  1. Un utente connesso attiva l'esecuzione del processo quantistico tramite un'applicazione classica.
  2. L'applicazione classica chiama l'API del processo personalizzata per inviare il processo.
  3. Il gateway API attiva la funzione di Azure per l'invio del processo, che passa i dati di input del processo.
  4. La funzione inserisce i dati di input in Archiviazione di Azure.
  5. La funzione invia il processo a un'area di lavoro di Azure Quantum, specificando la destinazione o le destinazioni di esecuzione. La funzione identifica l'area di lavoro tramite i dati archiviati in Azure Key Vault ed esegue l'autenticazione nell'area di lavoro tramite identità gestita.
  6. Un provider quantistico esegue il processo in un ambiente di destinazione.
  7. L'applicazione client monitora l'esecuzione del processo eseguendo il polling dello stato del processo tramite chiamate API.
  8. Il gateway API monitora l'esecuzione del processo eseguendo il polling dello stato del processo dal provider quantistico.
  9. Al termine del processo, i risultati di calcolo vengono archiviati in Archiviazione di Azure. L'applicazione client ottiene i risultati usando un'API implementata tramite la funzione di Azure.

Questo flusso di lavoro implementa il modello Request-Reply asincrono e i passaggi definiti per il ciclo di vita del processo Azure Quantum.

Componenti

  • azure Quantum fornisce un'area di lavoro , accessibile dal portale di Azure, per gli asset associati all'esecuzione di processi quantistici in varie destinazioni. I processi vengono eseguiti su simulatori quantistici o hardware quantistico, a seconda del provider scelto.
  • microsoft Entra ID coordina l'autenticazione utente e consente di proteggere l'accesso all'area di lavoro di Azure Quantum.
  • gestione API è il gateway API che espone centralmente gli endpoint API per la gestione dei processi quantistici.
  • funzioni di Azure viene usato per inoltrare le richieste client alle risorse quantistice appropriate.
  • Azure Key Vault protegge e mantiene il controllo delle chiavi e di altri segreti, ad esempio il nome dell'area di lavoro di Azure Quantum.
  • archiviazione di Azure fornisce spazio di archiviazione per i dati di input e i risultati del provider quantistico.

Affidabilità

La disponibilità della funzionalità di calcolo quantistico dipende in modo elevato dalla disponibilità e dall'installazione della base del provider di calcolo quantistico . A seconda della destinazione di calcolo, l'applicazione client classica potrebbe riscontrare ritardi lunghi o indisponibilità della destinazione.

Per i servizi di Azure circostanti, si applicano le normali considerazioni sulla disponibilità:

  • Per la disponibilità elevata, è possibile distribuire Gestione API in più zone o aree.
  • Se si usa la replica geografica, è possibile effettuare il provisioning di Funzioni di Azure in più aree.
  • Usare le opzioni di ridondanza Key Vault.
  • Se necessario, prendere in considerazione l'uso delle opzioni di replica in Archiviazione.

Sicurezza

A differenza dell'architettura per il alternativa strettamente associata, l'architettura presentata qui si basa sul presupposto che più client accedono all'area di lavoro di Azure Quantum tramite l'API. Questo scenario comporta le configurazioni seguenti:

  • I client devono eseguire l'autenticazione all'API. È possibile implementare questa autenticazione usando i criteri di autenticazione .
  • È possibile implementare l'autenticazione delle funzioni di Azure tramite identità gestite associate alle funzioni. È possibile usare queste identità per eseguire l'autenticazione nell'area di lavoro di Azure Quantum.
  • Più client accedono all'API. È possibile implementare la limitazione delle richieste usando la limitazione delle richieste di Gestione API per proteggere il back-end quantistico e limitare l'uso delle risorse quantistico.
  • A seconda del modello di richiesta, è possibile implementare la memorizzazione nella cache dei risultati del calcolo quantistico usando i criteri di memorizzazione nella cache di Gestione API .

In generale, è consigliabile applicare i modelli di progettazione tipici per i di sicurezza quando appropriato.

Efficienza delle prestazioni

L'efficienza delle prestazioni è la capacità del carico di lavoro di ridimensionarsi per soddisfare le esigenze poste dagli utenti in modo efficiente. Per altre informazioni, vedere Elenco di controllo per l'efficienza delle prestazioni.

Le prestazioni dell'applicazione dipendono dalla disponibilità e dalle prestazioni delle destinazioni di calcolo quantistico sottostanti. Per informazioni sulle prestazioni e la scalabilità dei componenti classici, vedere i modelli di progettazione tipici per la scalabilità e l'elenco di controllo per l'efficienza delle prestazioni .

Funzionalità comuni

Le funzionalità seguenti sono comuni ai modelli di implementazione strettamente accoppiati e ad accoppiamento debole

Alternative

Le architetture presentate di seguito sono destinate a problemi aziendali che richiedono risorse di calcolo quantistico per le attività di calcolo. Per alcune problematiche di calcolo, i servizi esistenti creati per eseguire high performance computing o fornire funzionalità di intelligenza artificiale potrebbe essere un'alternativa.

Considerazioni

Alcune delle destinazioni di Azure Quantum (in particolare l'hardware quantistico) saranno una risorsa limitata per il prossimo futuro. L'accesso a queste risorse viene implementato tramite un meccanismo di accodamento. Quando si invia un processo quantistico ad Azure Quantum, questo processo viene aggiunto a una coda di processi. Il processo verrà eseguito, una volta completata l'elaborazione delle voci della coda precedenti. È possibile ottenere il tempo di attesa previsto elencare le destinazioni disponibili. Per calcolare il tempo di risposta completo, è necessario aggiungere il tempo impiegato in attesa di una risorsa disponibile al tempo di esecuzione del processo.

Affidabilità

Poiché gli ambienti di destinazione quantistica come Azure Quantum in genere forniscono una correzione limitata degli errori (limitata al processore quantistico nel caso di Azure Quantum), altri errori come il timeout della macchina quantistica possono verificarsi, pertanto è consigliabile monitorare l'esecuzione dei processi in modo da poter informare l'utente sullo stato del processo. Quando l'esecuzione del processo ha esito negativo a causa di un errore temporaneo, implementare un modello di ripetizione dei tentativi . Inviare i processi tramite chiamate asincrone, con polling per il risultato, per evitare inutilmente di bloccare il client chiamante.

Poiché le risorse di calcolo quantistico sono in genere limitate, le aspettative di resilienza devono considerare questo fattore. Di conseguenza, i suggerimenti offerti in questo articolo possono fornire misure aggiuntive di resilienza.

Ottimizzazione costi

L'ottimizzazione dei costi consiste nell'esaminare i modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.

Il costo complessivo di questa soluzione dipende dalla destinazione di calcolo quantistico selezionata per eseguire il processo quantistico. Il calcolo dei costi stimati per i componenti classici è semplice. È possibile usare il calcolatore prezzi di Azure .

Per il servizio Azure Quantum, tenere presente che i provider di calcolo Quantum possono essere usati tramite un'offerta di Azure Marketplace. I prezzi dipendono dal tipo di risorsa (simulatore o hardware), dallo SKU e dall'utilizzo. Per informazioni dettagliate, vedere la pagina di riferimento per il provider necessario per lo scenario. Queste pagine di riferimento sono elencate in provider di calcolo quantistico in Azure Quantum.

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e lo mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.

L'incorporazione di processi quantistici nelle pipeline CI/CD classiche può essere eseguita usando Azure DevOps con modifiche minime a una progettazione tipica. La progettazione seguente illustra un flusso di lavoro della pipeline DevOps che può essere applicato alle architetture strettamente associate e ad accoppiamento libero.

Architettura

diagramma dell'architettura che mostra una pipeline CI/CD classica con Azure Quantum incorporato.

Scaricare un file di PowerPoint di questa architettura.

Flusso
  1. Lo sviluppatore modifica il codice sorgente dei componenti dell'applicazione.
  2. Viene eseguito il commit delle modifiche nel repository del codice sorgente.
  3. Le modifiche apportate al codice quantistico attivano la pipeline di compilazione quantistica. La pipeline di compilazione controlla il codice, lo compila, stima le risorse necessarie ed esegue l'algoritmo in un simulatore.
  4. L'algoritmo quantistico compilato viene inviato a un ambiente quantistico per il test.
  5. Le modifiche attivano una pipeline di compilazione per i componenti classici. La pipeline controlla il codice, lo compila ed esegue unit test e di integrazione.
  6. La compilazione e i test riusciti attivano una pipeline di versione. La pipeline effettua innanzitutto il provisioning dell'ambiente Azure distribuendo i modelli di Azure Resource Manager archiviati nel repository (Infrastruttura come codice).
  7. Gli artefatti dell'applicazione classica compilati vengono distribuiti in Azure. I processi quantistici vengono inviati a un'area di lavoro quantistica durante il runtime.
  8. Application Insights monitora il comportamento di runtime, l'integrità, le prestazioni e le informazioni sull'utilizzo.
  9. Gli elementi backlog vengono aggiornati in base alle esigenze, a seconda dei risultati del monitoraggio.
  10. Lo sviluppatore usa Application Insights per il feedback e l'ottimizzazione delle applicazioni.
Componenti

Questa soluzione usa gli strumenti DevOps seguenti:

  • azure Repos offre repository Git privati illimitati e ospitati nel cloud. Viene usato qui per archiviare il codice quantistico e classico e i modelli di Azure Resource Manager usati per effettuare il provisioning dell'ambiente.
  • azure Pipelines consente di compilare, testare e distribuire continuamente nel cloud. In questo caso viene usato per implementare CI/CD, incluso il provisioning dell'ambiente prima della distribuzione del codice.

In alternativa, è possibile usare i repository GitHub e GitHub actions per implementare i processi CI/CD.

La soluzione usa gli altri componenti seguenti:

  • Un'applicazione client orchestra il processo quantistico. È possibile implementare l'integrazione usando un strettamente accoppiato o un approccio ad accoppiamento debole.
  • azure Quantum fornisce un'area di lavoro per gli asset associati all'esecuzione di applicazioni di calcolo quantistico. I processi vengono eseguiti su simulatori quantistici o hardware quantistico, a seconda del provider scelto.
  • Microsoft Entra ID coordina l'autenticazione utente e protegge l'accesso all'area di lavoro di Azure Quantum.
  • Azure Key Vault protegge e mantiene il controllo delle chiavi e di altri segreti, ad esempio il nome dell'area di lavoro quantistica.
  • archiviazione di Azure contiene i dati di input e output del processo quantistico.
  • Application Insights monitora l'applicazione, rileva anomalie dell'applicazione come prestazioni e errori scarsi e invia dati di telemetria al portale di Azure.

Efficienza delle prestazioni

Le prestazioni dell'applicazione dipendono dalla disponibilità e dalle prestazioni delle destinazioni di calcolo quantistico sottostanti. Per informazioni sulle prestazioni e la scalabilità dei componenti classici, vedere i modelli di progettazione tipici per la scalabilità e l'elenco di controllo per l'efficienza delle prestazioni .

Contributori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dal collaboratore seguente.

Autore principale:

  • Holger Sirtl | Senior Technical Architect presso Microsoft Technology Center

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi