Megosztás a következőn keresztül:


Kvantum-számítástechnika integrációja klasszikus alkalmazásokkal

Azure Quantum
Azure Key Vault
Microsoft Entra ID

A klasszikus számítástechnika egyre nagyobb kihívást jelent a mai legösszetettebb számítási problémák miatt – még a legerősebb szuperszámítógépeink méretében is. A kvantumszámítógépek ígéretet adnak arra, hogy jelentősen bővítik számítási képességeinket. Azáltal, hogy kihasználja a kvantumfizika tulajdonságait számítások elvégzésére, exponenciális gyorsításokat biztosítanak bizonyos típusú problémákhoz. A kvantumszámítógépek például kivételesen jól járnak az optimalizálási, szimulációs vagy gépi tanulási forgatókönyvekben gyakran előforduló számos lehetséges kombináció kiszámítását igénylő problémákkal.

A kvantum-számítástechnikai összetevők azonban más működési modellel rendelkeznek, mint a klasszikus szoftverek. Általában egy vagy több klasszikus számítási összetevő vezényli a kvantum-összetevők végrehajtását. Ez a vezénylés a következő tevékenységeket foglalja magában:

Ezt a vezénylést a klasszikus alkalmazásokkal kétféleképpen integrálhatja:

  • Szoros összekapcsoláson keresztüli integráció. A kvantumerőforrások vezénylésének logikája integrálva van a klasszikus összetevőbe vagy összetevőkbe.
  • Integráció laza összekapcsoláson keresztül. A kvantumerőforrások vezénylésének logikája api-ként jelenik meg, amelyet különböző klasszikus szoftverösszetevők hívhatnak meg.

Ez a cikk bemutatja, hogyan implementálhat kvantumalkalmazásokat ezek mindegyikében. Minden implementáció az Azure Quantum-t használja kvantum-számítási motorként, de az alábbiakban ismertetett módon némileg eltérnek egymástól.

Szorosan összekapcsolt megközelítés

Lehetséges használati esetek

Ezekben az esetekben előnyben részesítik a szorosan összekapcsolt megközelítést:

  • Az egyik csapat a kvantumkódot és a klasszikus kódot is birtokolja, a kód pedig integrálva van.
  • A kvantum-összetevők életciklusa megegyezik a klasszikus összetevőkkel.
  • A kvantumösszetevők használata egyetlen alkalmazásra vagy a kapcsolódó alkalmazások kis csoportjára korlátozódik.
  • A kvantumfeladat egy speciális megoldást (például egy molekuláris szimulációt) jelöl, amelyet csak egy speciális klasszikus alkalmazás fog használni.
  • A implementált algoritmus természete szerint hibrid kvantumklasszikus, például variációs kvantum-Eigensolvers (VQE) és kvantum-hozzávetőleges optimalizálási algoritmusok (QAOA).

Építészet

szorosan összekapcsolt kvantum-számítási feladatot tartalmazó hibrid alkalmazást bemutató architektúradiagram.

Az architektúra PowerPoint-fájl letöltése.

Adatfolyam

  1. A bejelentkezett felhasználó kvantumfeladat-végrehajtást indít el egy klasszikus ügyfélalkalmazáson keresztül.
  2. Az ügyfélalkalmazás bemeneti adatokat helyez az Azure Storage-ba.
  3. Az ügyfélalkalmazás elküldi a feladatot egy Azure Quantum-munkaterületre, megadva a végrehajtási célt vagy a célokat. Az ügyfél a Key Vaultban tárolt adatokon keresztül azonosítja a munkaterületet, és felügyelt identitáskeresztül hitelesíti a munkaterületet.
  4. Egy kvantumszolgáltató egy célkörnyezetben futtatja a feladatot.
  5. Az ügyfélalkalmazás a feladatok végrehajtását a feladat állapotának lekérdezésével figyeli.
  6. Amint a kvantumfeladat befejeződik, az ügyfélalkalmazás megkapja a számítási eredményt a Storage-ból.

Ez a munkafolyamat implementálja az Aszinkron Request-Reply mintát és az Azure Quantum-feladatok életciklusához meghatározott lépéseket.

Összetevők

  • Azure Quantum az Azure Portalról elérhető munkaterületibiztosít a kvantumfeladatok különböző célokon való futtatásához társított eszközökhöz. A feladatok a választott szolgáltatótól függően kvantumszimulátorokon vagy kvantumhardvereken futnak.
  • Microsoft Entra-azonosító koordinálja a felhasználói hitelesítést, és segít megvédeni az Azure Quantum-munkaterülethez való hozzáférést.
  • Key Vault védi és felügyeli a kulcsokat és más titkos kulcsokat, például az Azure Quantum-munkaterület nevét.
  • Azure Storage biztosítja a bemeneti adatok és a kvantumszolgáltató eredményeinek tárolását.

Megfontolások

Ezek a szempontok implementálják az Azure Well-Architected-keretrendszer alappilléreit, amelyek a számítási feladatok minőségének javítására használható vezérelvek. További információ: Microsoft Azure Well-Architected Framework.

Megbízhatóság

A megbízhatóság biztosítja, hogy az alkalmazás megfeleljen az ügyfelek felé vállalt kötelezettségeknek. További információ: Megbízhatóságitervezési felülvizsgálati ellenőrzőlistája.

A kvantum-számítási funkciók rendelkezésre állása nagymértékben függ a kvantum-számításszolgáltatórendelkezésre állásától és telepítési alapjaitól. A számítási céltól függően a klasszikus ügyfélalkalmazás hosszú késéseket vagy a cél elérhetetlenségét tapasztalhatja.

A környező Azure-szolgáltatások esetében a szokásos rendelkezésre állási szempontok érvényesek:

  • Használja a Key Vault redundancia beállításait.
  • Szükség esetén fontolja meg a replikációs beállítások használatát Storage.

Biztonság

A biztonság biztosítékokat nyújt a szándékos támadások és az értékes adatokkal és rendszerekkel való visszaélés ellen. További információ: Biztonságitervezési felülvizsgálati ellenőrzőlistája.

A lazán összekapcsolt alternatívarchitektúrával ellentétben az itt bemutatott architektúra azon a feltételezésen alapul, hogy csak egy ügyfél fér hozzá az Azure Quantum-munkaterülethez. Ez a forgatókönyv a következő konfigurációkat eredményezi:

  • Mivel az ügyfél ismert, az alkalmazáshoz társított felügyelt identitáskeresztül is implementálhatja a hitelesítést.
  • A kérések szabályozását és az eredmények gyorsítótárazását az ügyfélben is megvalósíthatja.

Általában érdemes lehet a biztonsági tipikus tervezési mintáit alkalmazni, ha szükséges.

Lazán összekapcsolt megközelítés

Lehetséges használati esetek

A lazán összekapcsolt megközelítés az alábbi esetekben ajánlott:

  • Dedikált kvantumszakértői csapattal rendelkezik, akik központilag biztosítják a kvantumfunkciókat más csapatok számára, és a kvantum-összetevőket a klasszikus ügyfélösszetevőktől függetlenül fejlesztik.
  • A kvantumfeladat egy általános megoldást (például feladatütemezést) jelöl, amelyet több klasszikus alkalmazás is újra felhasználhat.

Építészet

architektúradiagram, amely egy lazán összekapcsolt kvantum-számítási feladatot tartalmazó hibrid alkalmazást mutat be.

Az architektúra PowerPoint-fájl letöltése.

Adatfolyam

  1. A bejelentkezett felhasználó kvantumfeladat-végrehajtást indít el egy klasszikus alkalmazáson keresztül.
  2. A klasszikus alkalmazás meghívja az egyéni feladat API-t a feladat elküldéséhez.
  3. Az API-átjáró aktiválja a feladatbeküldési Azure-függvényt, amely átadja a feladat bemeneti adatait.
  4. A függvény a bemeneti adatokat az Azure Storage-ba helyezi.
  5. A függvény elküldi a feladatot egy Azure Quantum-munkaterületnek, megadva a végrehajtási célt vagy a célokat. A függvény azonosítja a munkaterületet az Azure Key Vaultban tárolt adatokon keresztül, és felügyelt identitáskeresztül hitelesíti a munkaterületet.
  6. Egy kvantumszolgáltató egy célkörnyezetben futtatja a feladatot.
  7. Az ügyfélalkalmazás a feladat végrehajtását api-hívásokon keresztül lekérdezve figyeli a feladatok végrehajtását.
  8. Az API-átjáró úgy figyeli a feladatok végrehajtását, hogy lekérdezi a feladat állapotát a kvantumszolgáltatótól.
  9. Amikor a feladat befejeződik, a számítási eredmények az Azure Storage-ban lesznek tárolva. Az ügyfélalkalmazás az Azure-függvényen keresztül implementált API használatával kapja meg az eredményeket.

Ez a munkafolyamat implementálja az Aszinkron Request-Reply mintát és az Azure Quantum-feladatok életciklusához meghatározott lépéseket.

Összetevők

  • Azure Quantum az Azure Portalról elérhető munkaterületibiztosít a kvantumfeladatok különböző célokon való futtatásához társított eszközökhöz. A feladatok a választott szolgáltatótól függően kvantumszimulátorokon vagy kvantumhardvereken futnak.
  • Microsoft Entra-azonosító koordinálja a felhasználói hitelesítést, és segít megvédeni az Azure Quantum-munkaterülethez való hozzáférést.
  • API Management az API-átjáró, amely központilag elérhetővé teszi az API-végpontokat a kvantumfeladat-kezeléshez.
  • Azure Functions az ügyfélkérések megfelelő kvantumerőforrásokhoz való továbbítására szolgál.
  • Azure Key Vault védi és felügyeli a kulcsokat és más titkos kulcsokat, például az Azure Quantum-munkaterület nevét.
  • Azure Storage biztosítja a bemeneti adatok és a kvantumszolgáltató eredményeinek tárolását.

Megbízhatóság

A kvantum-számítási funkciók rendelkezésre állása nagymértékben függ a kvantum-számításszolgáltatórendelkezésre állásától és telepítési alapjaitól. A számítási céltól függően a klasszikus ügyfélalkalmazás hosszú késéseket vagy a cél elérhetetlenségét tapasztalhatja.

A környező Azure-szolgáltatások esetében a szokásos rendelkezésre állási szempontok érvényesek:

  • A magas rendelkezésre állás érdekében API Management több zónában vagy régióban is üzembe helyezheti.
  • Georeplikálás használata esetén több régióban is üzembe helyezhet Azure Functions-.
  • Használja a Key Vault redundancia beállításait.
  • Szükség esetén fontolja meg a replikációs beállítások használatát Storage.

Biztonság

A szorosan összekapcsolt alternatívarchitektúrával ellentétben az itt bemutatott architektúra azon a feltételezésen alapul, hogy több ügyfél is hozzáfér az Azure Quantum-munkaterülethez az API-n keresztül. Ez a forgatókönyv a következő konfigurációkat eredményezi:

  • Az ügyfeleknek hitelesíteni kell az API-t. Ezt a hitelesítést hitelesítési szabályzatokhasználatával implementálhatja.
  • Az Azure-függvények hitelesítését a függvényekhez társított felügyelt identitásokkal valósíthatja meg. Ezekkel az identitásokkal hitelesítheti magát az Azure Quantum-munkaterületen.
  • Több ügyfél is hozzáfér az API-hoz. A kérelmek szabályozását API Management-kérelmek szabályozásával valósíthatja meg a kvantum háttérrendszer védelme és a kvantumerőforrások használatának korlátozása érdekében.
  • A kérelemmintától függően előfordulhat, hogy a kvantum-számítási eredmények gyorsítótárazását API Management gyorsítótárazási szabályzatokhasználatával valósíthatja meg.

Általában érdemes lehet a biztonsági tipikus tervezési mintáit alkalmazni, ha szükséges.

Teljesítményhatékonyság

A teljesítményhatékonyság az a képesség, hogy a számítási feladatok skálázhatók, hogy hatékonyan megfeleljenek a felhasználók által támasztott követelményeknek. További információ: Teljesítményhatékonyságtervezési felülvizsgálati ellenőrzőlistája.

Az alkalmazás teljesítménye a mögöttes kvantum-számítási célok rendelkezésre állásától és teljesítményétől függ. A klasszikus összetevők teljesítményével és méretezhetőségével kapcsolatos információkért tekintse át a skálázhatósági jellemző tervezési mintáit, valamint a teljesítményhatékonysági ellenőrzőlistát.

Gyakori funkciók

Az alábbi funkciók gyakoriak a szorosan összekapcsolt és lazán összekapcsolt implementációs modellekben

Alternatívák

Az itt bemutatott architektúrák olyan üzleti problémákhoz tartoznak, amelyek kvantum-számítási erőforrásokat igényelnek a számítási feladataikhoz. Egyes számítási kihívások esetén a nagy teljesítményű számítási elvégzésére vagy AI-funkciók biztosítására készült meglévő szolgáltatások alternatívát jelenthetnek.

Megfontolások

Az Azure-beli kvantumcélok (különösen a kvantumhardverek) egy része belátható időn belül korlátozott erőforrás lesz. Az erőforrásokhoz való hozzáférés egy üzenetsor-kezelési mechanizmuson keresztül valósul meg. Amikor kvantumfeladatot küld az Azure Quantumnak, a rendszer hozzáadja ezt a feladatot egy feladatsorhoz. A feladat végrehajtása akkor történik meg, ha a cél befejezi a korábbi üzenetsor-bejegyzések feldolgozását. A várt várakozási időt elérhető céloklistázásával szerezheti be. A teljes válaszidő kiszámításához hozzá kell adnia az elérhető erőforrásra való várakozással töltött időt a feladat végrehajtási idejéhez.

Megbízhatóság

Mivel az Olyan kvantum-célkörnyezetek, mint az Azure Quantum, általában korlátozott hibajavítást biztosítanak (az Azure Quantum esetében a kvantumprocesszorra korlátozódik), más hibák is előfordulhatnak, például a kvantumgép időtúllépése, ezért ajánlott figyelni a feladatok végrehajtását, hogy tájékoztassa a felhasználót a feladat állapotáról. Ha a feladat végrehajtása átmeneti hiba miatt meghiúsul, implementáljon egy újrapróbálkozási mintát. Küldje el a feladatokat aszinkron hívásokon keresztül, az eredmény lekérdezésével, hogy elkerülje a hívó ügyfél szükségtelen blokkolását.

Mivel a kvantum-számítástechnikai erőforrások jellemzően korlátozottak, a rugalmassági elvárásoknak figyelembe kell venniük ezt a tényezőt. Ezért az ebben a cikkben ismertetett javaslatok további rugalmassági intézkedéseket is biztosíthatnak.

Költségoptimalizálás

A költségoptimalizálás a szükségtelen kiadások csökkentésének és a működési hatékonyság javításának módjairól szól. További információ: Költségoptimalizálásitervezési felülvizsgálati ellenőrzőlistája.

A megoldás teljes költsége a kvantumfeladat futtatásához kiválasztott kvantum-számítási céltól függ. A klasszikus összetevők becsült költségeinek kiszámítása egyszerű. Az Azure díjszabási kalkulátoráthasználhatja.

Az Azure Quantum szolgáltatás esetében vegye figyelembe, hogy a Kvantum-számítástechnika-szolgáltatók egy Azure Marketplace-ajánlaton keresztül használhatók fel. A díjszabás az erőforrás típusától (szimulátor vagy hardver), az termékváltozattól és a használattól függ. További részletekért tekintse meg a forgatókönyvhöz szükséges szolgáltató referenciaoldalát. Ezek a referencialapok az Azure Quantumkvantum-számítástechnikai szolgáltatóiban találhatók.

Működési kiválóság

Az Operational Excellence azokat az üzemeltetési folyamatokat fedi le, amelyek üzembe helyeznek egy alkalmazást, és éles környezetben tartják azt. További információ: Működési kiválóságitervezési felülvizsgálati ellenőrzőlistája.

A kvantumfeladatok klasszikus CI/CD-folyamatokba való beépítése az Azure DevOps használatával valósítható meg egy tipikus kialakítás kisebb módosításaival. Az alábbi terv egy DevOps-folyamat munkafolyamatát mutatja be, amely a szorosan összekapcsolt és lazán összekapcsolt architektúrákra alkalmazható.

Építészet

architektúradiagram, amely egy klasszikus CI/CD-folyamatot mutat be az Azure Quantum beépített használatával.

Az architektúra PowerPoint-fájl letöltése.

Adatfolyam
  1. A fejlesztő módosítja az alkalmazás-összetevők forráskódját.
  2. A módosítások a forráskódtárban lesznek véglegesítettek.
  3. A kvantumkód módosításai aktiválják a kvantum buildelési folyamatot. A buildelési folyamat ellenőrzi a kódot, lefordítja, megbecsüli a szükséges erőforrásokat, és egy szimulátoron futtatja az algoritmust.
  4. A lefordított kvantum-algoritmus egy kvantumkörnyezetbe kerül tesztelésre.
  5. A módosítások létrehoznak egy buildfolyamatot a klasszikus összetevőkhöz. A folyamat ellenőrzi a kódot, lefordítja, és egység- és integrációs teszteket futtat.
  6. A sikeres fordítás és tesztek elindítanak egy kiadási folyamatot. A folyamat először az Adattárban tárolt Azure Resource Manager-sablonok (infrastruktúra mint kód) üzembe helyezésével helyezi üzembe az Azure-környezetet.
  7. A lefordított klasszikus alkalmazásösszetevők üzembe vannak helyezve az Azure-ban. A kvantumfeladatok futásidőben kerülnek egy kvantum-munkaterületre.
  8. Az Application Insights figyeli a futtatókörnyezet viselkedését, állapotát, teljesítményét és használati adatait.
  9. A hátralékelemek szükség szerint frissülnek a figyelési eredményektől függően.
  10. A fejlesztő az Application Insightst használja az alkalmazás visszajelzéséhez és optimalizálásához.
Összetevők

Ez a megoldás a következő DevOps-eszközöket használja:

  • Azure Repos korlátlan, felhőalapú privát Git-adattárat biztosít. Itt tárolja a kvantum- és klasszikus kódot, valamint a környezet kiépítéséhez használt Azure Resource Manager-sablonokat.
  • Azure Pipelines lehetővé teszi a folyamatos buildelést, tesztelést és üzembe helyezést a felhőben. Itt a CI/CD implementálására szolgál, beleértve a környezet üzembe helyezését a kód üzembe helyezése előtt.

Alternatív megoldásként Használhatja a GitHub-adattárakat és a GitHub-műveleteket a CI/CD-folyamatok implementálásához.

A megoldás a következő összetevőket használja:

  • Egy ügyfélalkalmazás vezényli a kvantumfeladatot. Az integrációt szorosan összekapcsolt vagy lazán összekapcsolt megközelítéssel valósíthatja meg.
  • Azure Quantummunkaterületi biztosít a kvantum-számítási alkalmazások futtatásához társított eszközökhöz. A feladatok a választott szolgáltatótól függően kvantumszimulátorokon vagy kvantumhardvereken futnak.
  • Microsoft Entra-azonosító koordinálja a felhasználói hitelesítést, és védi az Azure Quantum-munkaterülethez való hozzáférést.
  • Azure Key Vault védi és felügyeli a kulcsokat és más titkos kulcsokat, például a kvantum-munkaterület nevét.
  • Azure Storage tárolja a kvantumfeladat bemeneti és kimeneti adatait.
  • Application Insights figyeli az alkalmazást, észleli az alkalmazás rendellenességeit, például a gyenge teljesítményt és a hibákat, és telemetriát küld az Azure Portalra.

Teljesítményhatékonyság

Az alkalmazás teljesítménye a mögöttes kvantum-számítási célok rendelkezésre állásától és teljesítményétől függ. A klasszikus összetevők teljesítményével és méretezhetőségével kapcsolatos információkért tekintse át a skálázhatósági jellemző tervezési mintáit, valamint a teljesítményhatékonysági ellenőrzőlistát.

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködő írta.

Fő szerző:

  • Holger Sirtl | Vezető műszaki tervező a Microsoft Technológiai Központban

A nem nyilvános LinkedIn-profilok megtekintéséhez jelentkezzen be a LinkedInbe.

Következő lépések