Sdílet prostřednictvím


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í.

Diagram orchestrace

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čů.