Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 job di calcolo quantistico … a un ambiente quantistico di destinazione
- Monitoraggio dell'esecuzione del lavoro
- Post-elaborazione dei risultati del lavoro
È 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 differiscono leggermente in altri aspetti, come descritto nelle sezioni seguenti.
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 viene usata solo da un'applicazione classica specializzata.
- L'algoritmo implementato è di natura ibrida quantistico-classica, ad esempio, gli algoritmi Variational Quantum Eigensolvers (VQE) e Quantum Approximate Optimization Algorithms (QAOA).
Architettura
Scaricare un file PowerPoint di questa architettura.
Flusso di dati
- Un utente connesso attiva l'esecuzione del processo quantistico tramite un'applicazione client classica.
- L'applicazione client inserisce i dati di input in Azure Storage.
- L'applicazione client invia il processo a un'area di lavoro Azure Quantum, specificando la destinazione o le destinazioni di esecuzione. Il client identifica l'area di lavoro tramite dati archiviati in Key Vault ed esegue l'autenticazione nell'area di lavoro tramite identity gestita.
- Un provider quantistico esegue il processo in un ambiente di destinazione.
- L'applicazione client monitora l'esecuzione del processo eseguendo il polling dello stato del processo.
- Quando l'elaborazione quantistica termina, l'applicazione client ottiene il risultato di calcolo dalla memoria.
Questo flusso di lavoro implementa il modello Asynchronous Request-Reply e i passaggi definiti per il ciclo di vita del processo Azure Quantum.
Componenti
- Azure Quantum fornisce un workspace, accessibile dal portale di Azure, per gli asset associati all'esecuzione di processi quantistici su 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 Azure Quantum.
- Key Vault protegge e mantiene il controllo delle chiavi e di altri segreti, ad esempio il nome dell'area di lavoro Azure Quantum.
- Azure Storage 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 maggiori informazioni, consultare la sezione 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 di 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 maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.
A differenza dell'architettura per l'alternativa debolmente accoppiata, l'architettura presentata qui si basa sul presupposto che solo un client accede all'area di lavoro 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 lavoro quantistico rappresenta una soluzione generica (ad esempio, la pianificazione dei processi) che può essere riutilizzata da più applicazioni classiche.
Architettura
Scaricare un file PowerPoint di questa architettura.
Flusso di dati
- Un utente connesso attiva l'esecuzione del processo quantistico tramite un'applicazione classica.
- L'applicazione classica chiama l'API per lavori personalizzati per inviare il lavoro.
- Il gateway API attiva la funzione di invio del processo Azure, che passa i dati di input del processo.
- La funzione inserisce i dati di input in Azure Storage.
- La funzione invia il processo a un'area di lavoro 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 identity gestita.
- Un provider quantistico esegue il processo in un ambiente di destinazione.
- L'applicazione client monitora l'esecuzione del processo eseguendo il polling dello stato del processo attraverso chiamate API.
- Il gateway API monitora l'esecuzione dell'attività eseguendo il polling dello stato dell'attività dal fornitore di servizi quantistici.
- Al termine del processo, i risultati di calcolo vengono archiviati in Azure Storage. L'applicazione client ottiene i risultati usando un'API implementata tramite la funzione Azure.
Questo flusso di lavoro implementa il modello Asynchronous Request-Reply e i passaggi definiti per il ciclo di vita del processo Azure Quantum.
Componenti
- Azure Quantum fornisce un workspace, accessibile dal portale di Azure, per gli asset associati all'esecuzione di processi quantistici su 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 Azure Quantum.
- Gestione API è il gateway API che centralmente espone gli endpoint API per la gestione dei lavori quantistici.
- Azure Functions 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 Azure Quantum.
- Azure Storage 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 Azure Functions in più aree.
- Usare le opzioni di ridondanza di Key Vault.
- Se necessario, prendere in considerazione l'uso delle opzioni di replica in Archiviazione.
Sicurezza
A differenza dell'architettura per l'alternativa tightly coupled, l'architettura presentata qui si basa sul presupposto che più client accedano al workspace 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 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 quantistiche.
- 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 maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione 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 quantistiche Azure (in particolare l'hardware quantistico) sono 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 a Azure Quantum, questo processo viene aggiunto a una coda di processi. Il processo viene eseguito dopo il completamento dell'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, ad esempio il timeout della macchina quantistica, potrebbero verificarsi ancora in modo che sia consigliabile monitorare l'esecuzione dei processi in modo da 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 potrebbero 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 Azure.
Per il servizio Azure Quantum, considerare che i provider di calcolo quantistico possono essere utilizzati tramite un'offerta Microsoft Marketplace. I prezzi dipendono dal tipo di risorsa (simulatore o hardware), dallo SKU e dall'utilizzo. Per altre informazioni, vedere la pagina di riferimento per il provider necessario per lo scenario. Queste pagine di riferimento sono elencate in Quantum computing providers on 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 ulteriori informazioni, vedere Lista di controllo per la revisione del design 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
Scaricare un file PowerPoint di questa architettura.
Flusso di dati
- Lo sviluppatore modifica il codice sorgente dei componenti dell'applicazione.
- Le modifiche vengono salvate nel repository del codice sorgente.
- 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.
- L'algoritmo quantistico compilato viene inviato a un ambiente quantistico per il test.
- 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.
- La compilazione e i test riusciti attivano una pipeline di rilascio. La pipeline effettua innanzitutto il provisioning dell'ambiente Azure distribuendo i modelli di Azure Resource Manager archiviati nel repository (Infrastruttura come codice).
- Gli artefatti dell'applicazione classica compilati vengono distribuiti in Azure. I processi quantistici vengono inviati a un'area di lavoro quantistica durante il runtime.
- Application Insights monitora il comportamento di runtime, l'integrità, le prestazioni e le informazioni sull'utilizzo.
- Gli elementi backlog vengono aggiornati in base alle esigenze, a seconda dei risultati del monitoraggio.
- 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 ospitati nel cloud. Viene usato qui per archiviare il codice quantistico e classico e i modelli 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 GitHub repository e GitHub azioni 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 approccio ad accoppiamento stretto o ad accoppiamento debole.
- Azure Quantum fornisce un workspace 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 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.
- Azure Storage 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 di LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Per una panoramica di Microsoft Quantum, un ecosistema completo di calcolo quantistico open-cloud, consultare Microsoft Quantum e seguire il percorso di apprendimento calcolo quantistico.
- Per altre informazioni sul servizio di Azure Quantum, vedere Azure Quantum.
- Per informazioni generali sulla gestione dei processi Azure Quantum, vedere Work with Azure Quantum jobs.
- Per informazioni sull'esecuzione di algoritmi sull'hardware quantistico, vedere il modulo Esegui algoritmi sull'hardware quantistico usando Azure Quantum.
Risorse correlate
- principi di eccellenza operativa
- Schema di Request-Reply Asincrono
- di calcolo quantistico ad accoppiamento libero