Úvod do režimů spouštění Qiskit Runtime
Když byl Qiskit Runtime uveden, uživatelé mohli spouštět obvody pouze jako jednotlivé joby. S tím, jak vznikaly různé typy kvantových pracovních zátěží, se ukázala potřeba různých strategií plánování. Režimy spouštění určují, jak jsou tvoje joby plánovány, a výběr správného režimu umožňuje, aby tvoje pracovní zátěž běžela efektivně v rámci tvého rozpočtu. Existují tři režimy spouštění: job, session a batch.
Režim job
Jeden primitivní požadavek na Estimator nebo Sampler provedený bez správce kontextu. Obvody a vstupy jsou zabaleny jako primitive unified blocs (PUBs) a odeslány jako úloha ke spuštění na kvantovém počítači. Pro spuštění v režimu job zadej při vytváření primitivu mode=backend. Viz Příklady primitivů pro použití.
Režim batch
Správce více jobů pro efektivní spouštění experimentů tvořených pracovními zátěžemi s více joby. Tyto pracovní zátěže se skládají z nezávisle spustitelných jobů, které na sobě nejsou podmíněně závislé. V režimu batch uživatelé odesílají všechny své joby najednou.
Systém paralelizuje nebo zpracovává ve vláknech krok předběžného zpracování (klasické výpočty) každého primitivního jobu, aby co nejtěsněji seskupil kvantové spouštění napříč joby, a poté spouští kvantové spouštění každého jobu v rychlém sledu, aby dosáhl co nejefektivnějších výsledků. Další podrobnosti o zpracování ve vláknech najdeš na stránce s FAQ o režimech spouštění.
- Při použití batche není zaručeno, že joby poběží v pořadí, v jakém byly odeslány. Přestože tvoje batch joby poběží co nejblíže u sebe, nezískají exkluzivní přístup k backendu. Proto mohou tvoje batch joby běžet paralelně s joby jiných uživatelů, pokud je na QPU dostatečná kapacita zpracování. Navíc mezi batch joby mohou proběhnout kalibrační joby QPU.
- Doba čekání ve frontě se nesnižuje pro první job odeslaný v rámci batche. Batch tedy nepřináší žádné výhody při spuštění jediného jobu.
Pro spuštění v režimu batch zadej při vytváření primitivu mode=batch nebo spusť job ve správci kontextu batche. Viz Spouštění jobů v batchi pro příklady.
Režim session
Vyhrazené časové okno pro spouštění pracovní zátěže s více joby. Během tohoto okna má uživatel exkluzivní přístup k systému a žádné jiné joby nemohou běžet – včetně kalibračních jobů. To uživatelům umožňuje experimentovat s variantními algoritmy předvídatelnějším způsobem a dokonce spouštět více experimentů současně s využitím paralelismu v zásobníku. Používání sessions pomáhá vyhnout se zpožděním způsobeným zařazením každého jobu zvlášť do fronty, což může být zvláště užitečné u iterativních úloh vyžadujících časté propojení mezi klasickými a kvantovými prostředky.
Pro spuštění v režimu session zadej při vytváření primitivu mode=session nebo spusť job ve správci kontextu session. Viz Spouštění jobů v session pro příklady.
- Doba čekání ve frontě se nesnižuje pro první job odeslaný v rámci session. Session tedy nepřináší žádné výhody při spuštění jediného jobu.
- Uživatelé plánu Open nemohou odesílat session joby.
Základní pracovní postup
Základní pracovní postup pro batche a sessions je podobný:
- První job v batchi nebo session vstupuje do normální fronty. U batchů je celá sada jobů plánována společně.
- Když první job začne běžet, spustí se časovač maximální doby životnosti (TTL) a nezastaví ani nepozastaví se, dokud není dosaženo jeho konce.
- Interaktivní časovač TTL se spustí po dokončení každého jobu. Pokud v okně interaktivního TTL nejsou připraveny žádné joby pracovní zátěže, je pracovní zátěž dočasně deaktivována a obnoví se normální výběr jobů. Job může deaktivovanou pracovní zátěž znovu aktivovat, pokud batch nebo session nedosáhly své maximální hodnoty TTL.
poznámka
Job musí projít normální frontou, aby znovu aktivoval pracovní zátěž.
- Pokud je dosaženo maximální hodnoty TTL, pracovní zátěž skončí a všechny zbývající joby ve frontě selžou. Žádný aktuálně běžící job nedokončí svůj běh, pokud by tím byl překročen limit nákladů instance.
Následující video ilustruje základní pracovní postup na příkladu sessions:
Úplné podrobnosti o časovačích TTL najdeš v průvodci Maximální doba spuštění.