Koncepty plánování a automatického škálování v CycleCloudu
CycleCloud není plánovač, ale platforma, která uživatelům umožňuje nasadit vlastní plánovač v Azure, aby mohli spravovat a distribuovat úlohy do clusteru uzlů. CycleCloud navíc poskytuje rozhraní REST API a knihovnu Pythonu pro vývoj adaptérů automatického škálování pro plánovače, což umožňuje, aby se velikost těchto spravovaných clusterů zvětšila nebo zmenšila podle délky front úloh a zásad správného řízení.
Plánovače
Plánovač je software, který přijímá seznam úloh (nebo úkolů) a distribuuje tyto úkoly do fondů dostupných zdrojů, přičemž bere v úvahu požadavky na zdroje úloh a také závislosti a priority mezi úlohami. Tyto seznamy úloh se běžně označují jako fronty.
CycleCloud se dodává s integrovanou podporou řady běžně používaných plánovačů (PBS Professional OSS, Slurm, IBM LSF, Grid Engine a HT Condor), které poskytují šablony pro nasazení těchto plánovačů v Azure. Tyto šablony jsou výchozí topologie, které představují osvědčené postupy pro vytváření clusterů HPC v Azure, které využívají jedinečné specializované funkce, jako jsou sítě InfiniBand s nízkou latencí.
Projekty se navíc vytvářejí pro každý plánovač a používají se k instalaci a inicializaci démonů plánovače na hlavních a výpočetních uzlech.
Adaptéry plánovače
Adaptéry vytvořené pro každý typ plánovače hrají dvě hlavní role: 1) agregují požadavky na prostředky z front plánovače a 2) překládají požadavky na prostředky na žádosti o přidělení pro sady velikostí virtuálních počítačů Azure. Tyto žádosti o přidělení se konstruují s ohledem na určitá omezení, například kvóty virtuálních počítačů, omezení velikosti clusteru a omezení stanovená topologií sítě InfiniBand (pro odpovídající velikosti virtuálních počítačů). V některých aspektech se tyto adaptéry podobají zprostředkovateli, který vyjednává poptávku a nabídku od více stran.
Monitor
Monitorování je proces, který běží na aplikačním serveru CycleCloud a pravidelně se dotazuje služeb Azure na dostupnost prostředků v předplatném Azure. Toto monitorování poskytuje tyto informace adaptérům plánovače pro zprostředkování poptávky.
Alokátor uzlů
Alokátor uzlů běží na aplikačním serveru CycleCloud. Obdrží požadavek na přidělení od adaptérů plánovače prostřednictvím rozhraní REST API, zřídí prostředky Azure potřebné ke splnění požadavku a nabídne zřízené prostředky zpět adaptérům plánovače jako sady uzlů.
Poznámka
I když jsou výše uvedené základní koncepty běžné mezi plánovači, podrobnosti implementace se mezi plánovači liší. Podrobnější informace o jednotlivých implementacích najdete na stránkách jednotlivých plánovačů.