Klasické výpočty jsou stále více náročné na dnešní nejsložitější výpočetní problémy , a to i ve velkém měřítku našich nejvýkonnějších superpočítačů. Kvantové počítače slibují, že výrazně rozšiřují naše výpočetní možnosti. Díky využití vlastností kvantové fyziky k provádění výpočtů poskytují exponenciální zrychlení pro určité typy problémů. Kvantové počítače například dělají mimořádně dobře problémy, které vyžadují výpočet velkého počtu možných kombinací, které se často vyskytují ve scénářích optimalizace, simulace nebo strojového učení.
Komponenty kvantového computingu ale mají jiný provozní model než klasický software. Obvykle existuje jedna nebo více klasických výpočetních komponent, které orchestrují provádění kvantových komponent. Tato orchestrace zahrnuje následující aktivity:
- Příprava vstupních dat
- Odeslání úloh kvantových výpočtů do cílového kvantového prostředí
- Monitorování spouštění úloh
- Následné zpracování výsledků úlohy
Tuto orchestraci můžete integrovat s klasickými aplikacemi jedním ze dvou způsobů:
- Integrace přes úzkou spojku. Logika pro orchestraci kvantových prostředků je integrovaná do klasické komponenty nebo komponent.
- Integrace prostřednictvím volné spojky. Logika pro orchestraci kvantových prostředků je vystavená jako rozhraní API, které lze volat různými klasickými softwarovými komponentami.
Tento článek popisuje, jak v každém z těchto návrhů implementovat kvantové aplikace. Každá implementace využívá Azure Quantum jako modul kvantových výpočtů, ale liší se mírně v jiných aspektech, jak je podrobně popsáno níže.
Úzce propojený přístup
Potenciální případy použití
V těchto případech je upřednostňovaný úzce propojený přístup:
- Jeden tým vlastní kvantový i klasický kód a je integrovaný.
- Kvantové komponenty sdílejí stejný životní cyklus jako klasické komponenty.
- Použití kvantových komponent je omezené na jednu aplikaci nebo malou sadu souvisejících aplikací.
- Kvantová úloha představuje specializované řešení (například molekulární simulaci), které bude používat pouze jedna specializovaná klasická aplikace.
- Implementovaný algoritmus je hybridní kvantovou klasickou povahou, například variační kvantové Eigensolvers (VQE) a kvantové přibližné optimalizační algoritmy (QAOA).
Architektura
Stáhnout powerpointový soubor této architektury.
Dataflow
- Přihlášený uživatel aktivuje provádění kvantových úloh prostřednictvím klasické klientské aplikace.
- Klientská aplikace vloží vstupní data do služby Azure Storage.
- Klientská aplikace odešle úlohu do pracovního prostoru Azure Quantum a určí cíl spuštění nebo cíle. Klient identifikuje pracovní prostor prostřednictvím dat uložených ve službě Key Vault a ověřuje se v pracovním prostoru prostřednictvím spravované identity.
- Kvantový poskytovatel spustí úlohu v cílovém prostředí.
- Klientská aplikace monitoruje provádění úloh dotazováním stavu úlohy.
- Jakmile se kvantová úloha dokončí, klientská aplikace získá výsledek výpočetních prostředků ze služby Storage.
Tento pracovní postup implementuje vzor
Součásti
- Azure Quantum poskytuje pracovní prostorpřístupný z webu Azure Portal pro prostředky spojené se spouštěním kvantových úloh na různých cílech. Úlohy se spouštějí na kvantových simulátorech nebo kvantovém hardwaru v závislosti na zvoleném poskytovateli.
- Microsoft Entra ID koordinuje ověřování uživatelů a pomáhá chránit přístup k pracovnímu prostoru Azure Quantum.
- Key Vault chrání a udržuje kontrolu nad klíči a dalšími tajnými kódy, jako je název pracovního prostoru Azure Quantum.
- azure Storage poskytuje úložiště pro vstupní data a výsledky od kvantového poskytovatele.
Úvahy
Tyto aspekty implementují pilíře architektury Azure Well-Architected Framework, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace najdete v tématu rozhraní Microsoft Azure Well-Architected Framework.
Spolehlivost
Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace naleznete v tématu Kontrolní seznam pro kontrolu spolehlivosti.
Dostupnost funkcí kvantových výpočtů závisí na dostupnosti a instalaci základu poskytovatele kvantových výpočtů. V závislosti na cílovém výpočetním objektu může klasická klientská aplikace zaznamenat dlouhá zpoždění nebo nedostupnost cíle.
U okolních služeb Azure platí obvyklé aspekty dostupnosti:
- Použijte možnosti redundance služby Key Vault.
- V případě potřeby zvažte použití možností replikace v
Storage .
Bezpečnost
Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace naleznete v tématu Kontrolní seznam pro kontrolu návrhu prozabezpečení .
Na rozdíl od architektury pro volně svázané alternativníje architektura uvedená zde založená na předpokladu, že k pracovnímu prostoru Azure Quantum přistupuje jenom jeden klient. Tento scénář vede k následujícím konfiguracím:
- Vzhledem k tomu, že je klient známý, můžete implementovat ověřování prostřednictvím spravované identitypřidružené k aplikaci.
- Můžete implementovat omezování požadavků a ukládání výsledků do mezipaměti v samotném klientovi.
Obecně zvažte použití typických vzorů návrhu pro zabezpečení, pokud je to vhodné.
Volně propojený přístup
Potenciální případy použití
V těchto případech se upřednostňuje volně propojený přístup:
- Máte vyhrazený tým kvantových specialistů, kteří centrálně poskytují kvantové funkce jiným týmům a kvantové komponenty se vyvíjejí nezávisle na všech klasických klientských komponentách.
- Kvantová úloha představuje obecné řešení (například plánování úloh), které je možné znovu použít v několika klasických aplikacích.
Architektura
Stáhnout powerpointový soubor této architektury.
Dataflow
- Přihlášený uživatel aktivuje provádění kvantových úloh prostřednictvím klasické aplikace.
- Klasická aplikace volá vlastní rozhraní API úlohy k odeslání úlohy.
- Brána rozhraní API aktivuje funkci Azure pro odeslání úlohy, která předává vstupní data úlohy.
- Funkce vloží vstupní data do Azure Storage.
- Funkce odešle úlohu do pracovního prostoru Azure Quantum a určí cíl spuštění nebo cíle. Funkce identifikuje pracovní prostor prostřednictvím dat uložených ve službě Azure Key Vault a ověřuje se v pracovním prostoru prostřednictvím spravované identity.
- Kvantový poskytovatel spustí úlohu v cílovém prostředí.
- Klientská aplikace monitoruje provádění úloh dotazováním stavu úlohy prostřednictvím volání rozhraní API.
- Brána rozhraní API monitoruje provádění úloh dotazováním stavu úlohy od kvantového poskytovatele.
- Po dokončení úlohy se výsledky výpočetních prostředků uloží do Služby Azure Storage. Klientská aplikace získá výsledky pomocí rozhraní API implementovaného prostřednictvím funkce Azure.
Tento pracovní postup implementuje vzor
Součásti
- Azure Quantum poskytuje pracovní prostorpřístupný z webu Azure Portal pro prostředky spojené se spouštěním kvantových úloh na různých cílech. Úlohy se spouštějí na kvantových simulátorech nebo kvantovém hardwaru v závislosti na zvoleném poskytovateli.
- Microsoft Entra ID koordinuje ověřování uživatelů a pomáhá chránit přístup k pracovnímu prostoru Azure Quantum.
- API Management je brána rozhraní API, která centrálně zveřejňuje koncové body rozhraní API pro správu kvantových úloh.
- azure Functions slouží k předávání požadavků klientů na příslušné kvantové prostředky.
- azure Key Vault chrání a udržuje kontrolu nad klíči a dalšími tajnými kódy, jako je název pracovního prostoru Azure Quantum.
- azure Storage poskytuje úložiště pro vstupní data a výsledky od kvantového poskytovatele.
Spolehlivost
Dostupnost funkcí kvantových výpočtů je vysoce závislá na dostupnosti a instalaci základu poskytovatele kvantových výpočtů. V závislosti na cílovém výpočetním objektu může klasická klientská aplikace zaznamenat dlouhá zpoždění nebo nedostupnost cíle.
U okolních služeb Azure platí obvyklé aspekty dostupnosti:
- Pro zajištění vysoké dostupnosti můžete nasadit API Management do více zón nebo oblastí.
- Pokud používáte geografickou replikaci, můžete zřídit azure Functions ve více oblastech.
- Použijte možnosti redundance služby Key Vault.
- V případě potřeby zvažte použití možností replikace v
Storage .
Bezpečnost
Na rozdíl od architektury pro úzce propojených alternativníchje architektura uvedená zde založená na předpokladu, že více klientů přistupuje k pracovnímu prostoru Azure Quantum přes rozhraní API. Tento scénář vede k následujícím konfiguracím:
- Klienti se musí ověřit v rozhraní API. Toto ověřování můžete implementovat pomocí zásad ověřování .
- Ověřování funkcí Azure můžete implementovat prostřednictvím spravovaných identit přidružených k funkcím. Tyto identity můžete použít k ověření v pracovním prostoru Azure Quantum.
- K rozhraní API přistupuje více klientů. Omezení požadavků můžete implementovat pomocí omezení požadavků služby API Management k ochraně kvantového back-endu a omezení používání kvantových prostředků.
- V závislosti na vzoru požadavku můžete implementovat ukládání výsledků kvantových výpočtů do mezipaměti pomocí zásad ukládání do mezipaměti API Management.
Obecně zvažte použití typických vzorů návrhu pro zabezpečení, pokud je to vhodné.
Efektivita výkonu
Efektivita výkonu je schopnost vaší úlohy škálovat tak, aby splňovala požadavky, které na ni mají uživatelé efektivním způsobem. Další informace naleznete v tématu Kontrola návrhu kontrolní seznam pro zvýšení efektivity výkonu.
Výkon aplikace závisí na dostupnosti a výkonu základních cílů kvantových výpočtů. Informace o výkonu a škálovatelnosti klasických komponent najdete v typických vzorů návrhu pro zajištění škálovatelnosti a kontrolního seznamu efektivity výkonu.
Běžné funkce
Následující funkce jsou společné pro úzce propojené i volně propojené modely implementace.
Alternativy
Zde uvedené architektury jsou určené pro obchodní problémy, které pro své výpočetní úlohy vyžadují prostředky kvantových výpočtů. V případě některých problémů s výpočetními prostředky mohou být alternativou stávající služby vytvořené k provádění
Úvahy
Některé kvantové cíle Azure (zejména kvantový hardware) budou v dohledné budoucnosti omezeným prostředkem. Přístup k těmto prostředkům se implementuje prostřednictvím mechanismu zařadování do fronty. Když odešlete kvantovou úlohu do Azure Quantum, přidá se tato úloha do fronty úloh. Úloha se spustí, jakmile cíl dokončí zpracování dřívějších položek fronty. Očekávanou dobu čekání můžete získat výpisem dostupných cílů. Pokud chcete vypočítat celou dobu odezvy, musíte přidat čas strávený čekáním na dostupný prostředek do doby provádění úlohy.
Spolehlivost
Vzhledem k tomu, že kvantová cílová prostředí, jako je Azure Quantum, obvykle poskytují omezenou opravu chyb (omezené na kvantový procesor v případě Azure Quantum), můžou se stále vyskytovat jiné chyby, jako je vypršení časového limitu kvantového počítače, takže doporučujeme monitorovat provádění úloh, abyste mohli uživatele informovat o stavu úlohy. Pokud provádění úlohy selže kvůli přechodné chybě, implementujte vzor opakování. Odešlete úlohy prostřednictvím asynchronních volání s dotazováním na výsledek, abyste zbytečně neblokovali volajícího klienta.
Vzhledem k tomu, že jsou prostředky kvantových výpočtů obvykle omezené, měla by tato možnost zvážit očekávání odolnosti. Návrhy nabízené v tomto článku mohou poskytovat další opatření odolnosti.
Optimalizace nákladů
Optimalizacenákladůch Další informace naleznete v tématu Kontrolní seznam pro kontrolu návrhu proOptimalizace nákladů .
Celkové náklady na toto řešení závisí na cíli kvantového computingu, který vyberete ke spuštění kvantové úlohy. Výpočet odhadovaných nákladů na klasické komponenty je jednoduchý. Můžete použít cenovou kalkulačku Azure.
U služby Azure Quantum zvažte, že poskytovatelé kvantových výpočtů je možné využívat prostřednictvím nabídky Azure Marketplace. Ceny závisí na typu prostředku (simulátoru nebo hardwaru), skladové položky a využití. Podrobnosti najdete na referenční stránce pro poskytovatele potřebného pro váš scénář. Tyto referenční stránky jsou uvedeny v poskytovatelích kvantových výpočtů ve službě Azure Quantum.
Efektivita provozu
Efektivita provozu se zabývá provozními procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace naleznete v tématu kontrolní seznam pro kontrolu efektivity provozu.
Začlenění kvantových úloh do klasických kanálů CI/CD je možné provést pomocí Azure DevOps s drobnými změnami typického návrhu. Následující návrh znázorňuje pracovní postup kanálu DevOps, který lze použít u úzce propojených a volně propojených architektur.
Architektura
Stáhnout powerpointový soubor této architektury.
Dataflow
- Vývojář změní zdrojový kód komponent aplikace.
- Změny se potvrdí v úložišti zdrojového kódu.
- Změny kvantového kódu aktivují kanál kvantového sestavení. Kanál buildu zkontroluje kód, zkompiluje ho, odhadne požadované prostředky a spustí algoritmus v simulátoru.
- Zkompilovaný kvantový algoritmus se odešle do kvantového prostředí pro účely testování.
- Změny aktivují kanál buildu pro klasické komponenty. Kanál zkontroluje kód, zkompiluje ho a spustí testy jednotek a integrace.
- Úspěšná kompilace a testy aktivují kanál verze. Kanál nejprve zřídí prostředí Azure nasazením šablon Azure Resource Manageru, které jsou uložené v úložišti (infrastruktura jako kód).
- Kompilované klasické artefakty aplikace se nasazují do Azure. Kvantové úlohy se během běhu odesílají do kvantového pracovního prostoru.
- Application Insights monitoruje chování modulu runtime, stav, výkon a informace o využití.
- Položky backlogu se aktualizují podle potřeby v závislosti na výsledcích monitorování.
- Vývojář používá Application Insights pro zpětnou vazbu a optimalizaci aplikací.
Součásti
Toto řešení používá následující nástroje DevOps:
- Azure Repos poskytuje neomezená privátní úložiště Git hostovaná v cloudu. Používá se zde k ukládání kvantových a klasických kódů a šablon Azure Resource Manageru, které se používají ke zřízení prostředí.
- Azure Pipelines umožňuje nepřetržitě sestavovat, testovat a nasazovat do cloudu. Tady se používá k implementaci CI/CD, včetně zřizování prostředí před nasazením kódu.
Alternativně můžete k implementaci procesů CI/CD použít úložiště GitHub a akce GitHubu.
Řešení používá následující další komponenty:
- Klientská aplikace orchestruje kvantovou úlohu. Integraci můžete implementovat pomocí úzce propojených nebo volně propojených přístupu.
- Azure Quantum poskytuje pracovní prostor pro prostředky, které jsou přidružené ke spouštění aplikací kvantových výpočtů. Úlohy se spouštějí na kvantových simulátorech nebo kvantovém hardwaru v závislosti na zvoleném poskytovateli.
- Microsoft Entra ID koordinuje ověřování uživatelů a chrání přístup k pracovnímu prostoru Azure Quantum.
- azure Key Vault chrání a udržuje kontrolu nad klíči a dalšími tajnými kódy, jako je název kvantového pracovního prostoru.
- azure Storage uchovává vstupní a výstupní data kvantové úlohy.
- Application Insights monitoruje aplikaci, detekuje anomálie aplikací, jako je nízký výkon a selhání, a odesílá telemetrii na azure Portal.
Efektivita výkonu
Výkon aplikace závisí na dostupnosti a výkonu základních cílů kvantových výpočtů. Informace o výkonu a škálovatelnosti klasických komponent najdete v typických vzorů návrhu pro zajištění škálovatelnosti a kontrolního seznamu efektivity výkonu.
Přispěvatelů
Tento článek spravuje Microsoft. Původně byl napsán následujícím přispěvatelem.
Hlavní autor:
- Holger Sirtl | Senior Technical Architect ve společnosti Microsoft Technology Center
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Přehled microsoft Quantum, kompletního ekosystému otevřených cloudových kvantových výpočtů, najdete v tématu Microsoft Quantum a dokončení základů kvantových výpočtů studijním programu.
- Další informace o službě Azure Quantum najdete v tématu Azure Quantum.
- Obecné informace o správě úloh Azure Quantum najdete v tématu Práce s úlohami Azure Quantum.
- Informace o spouštění algoritmů na kvantovém hardwaru najdete v modulu Spouštění algoritmů na kvantovém hardwaru pomocí azure Quantum.