CycleCloud ütemezési és automatikus skálázási fogalmak

A CycleCloud nem ütemező, hanem olyan platform, amely lehetővé teszi saját ütemező üzembe helyezését az Azure-ban. Az ütemező kezeli, elosztja és terjeszti a feladatokat egy csomópontokból álló fürtben. A CycleCloud REST API-t és Python-kódtárat biztosít az ütemezők automatikus skálázási adaptereinek fejlesztéséhez. Ezekkel az adapterekkel a felügyelt fürtök a feladatsorok és a szabályozási szabályzatok hosszának megfelelően felfelé vagy lefelé méretezhetők.

Orchestrációs diagram

Ütemezők

Az ütemező olyan szoftver, amely elfogadja a feladatok (vagy tevékenységek) listáját, és elosztja ezeket a feladatokat az elérhető erőforrások készleteibe. Figyelembe veszi a feladatok erőforrás-követelményeit, a feladatközi függőségeket és a prioritásokat. Az állások ezen listáit gyakran soroknak nevezik.

A CycleCloud beépített támogatást nyújt számos gyakran használt ütemezőhöz (PBS Professional OSS, Slurm, IBM LSF, Grid Engine és HT Condor). Sablonokat biztosít ezeknek az ütemezőknek az Azure-ban való üzembe helyezéséhez. Ezek a sablonok olyan alapértelmezett topológiák, amelyek a HPC-fürtök Azure-beli létrehozásához ajánlott eljárásokat képviselik. Egyedi speciális funkciókat használnak, például alacsony késésű InfiniBand-hálózatkezelést.

Emellett a projektek minden ütemezőhöz létrejönnek. A projektek használatával ütemező démonokat telepíthet és inicializálhat a fejcsomópontokon és számítási csomópontokon.

Ütemező adapterek

Az egyes ütemezőkhöz létrehozott adapterek két elsődleges szerepkört játszanak. Egy szerepkör összesíti az ütemező sorok erőforrás-követelményeit. A másik szerepkör az erőforrás-követelményeket Azure VM méretek készleteihez tartozó foglalási kérelmekké alakítja. Bizonyos korlátozásokhoz ezen elosztási kérelmeket kell összeállítani. Ezek a korlátozások tartalmazhatnak virtuális gép-kvótákat, a fürt méretére vonatkozó korlátozásokat, valamint az InfiniBand hálózati topológiája által a megfelelő virtuális gép-méretekre szabott korlátozásokat. Bizonyos szempontból ezek az adapterek hasonlítanak egy közvetítőre, amely több féltől származó keresletet és kínálatot tárgyal.

Kijelző

A monitor egy folyamat, amely a CycleCloud alkalmazásszerveren fut, és időszakosan lekérdezi az Azure szolgáltatásokat az erőforrások rendelkezésre állásának szempontjából az Azure-előfizetésben. Ez a figyelő ezeket az információkat az igényközvetítés ütemező adaptereinek adja meg.

Csomópontkiosztó

A node allocator a CycleCloud alkalmazásszerverben fut. Az elosztási kérelmet a programozó adapterek REST API-n keresztül fogadja, előkészíti az igény teljesítéséhez szükséges Azure erőforrásokat, majd a létrehozott erőforrásokat csomóponthalmazokként mutatja be a programozó adapterek számára.

Megjegyzés:

Bár a mögöttes fogalmak gyakoriak az ütemezők között, a megvalósítás részletei különböznek az ütemezők között. Az egyes implementációkról további információt az egyes ütemezőoldalakon talál: