Pojęcia dotyczące planowania i skalowania automatycznego w usłudze CycleCloud

CycleCloud nie jest harmonogramem, ale raczej platformą, która umożliwia użytkownikom wdrażanie własnego harmonogramu na platformie Azure, zarządzanie zadaniami i dystrybuowanie ich w klastrze węzłów. Ponadto usługa CycleCloud udostępnia interfejs API REST i bibliotekę języka Python do tworzenia kart skalowania automatycznego dla harmonogramów, umożliwiając tym klastrom zarządzanym rozmiar w górę lub w dół zgodnie z długością kolejek zadań i zasad ładu.

Diagram aranżacji

Pracownikom

Harmonogram to oprogramowanie, które akceptuje listę zadań (lub zadań) i dystrybuuje te zadania do pul dostępnych zasobów, uwzględniając wymagania dotyczące zasobów zadań, a także zależności i priorytety między zadaniami. Te listy zadań są często określane jako kolejki.

Usługa CycleCloud oferuje wbudowaną obsługę wielu powszechnie używanych harmonogramów (PBS Professional OSS, Slurm, IBM LSF, Grid Engine i HT Condor), zapewniając szablony wdrażania tych harmonogramów na platformie Azure. Te szablony to domyślne topologie, reprezentujące najlepsze rozwiązania dotyczące tworzenia klastrów HPC na platformie Azure, które korzystają z unikatowych wyspecjalizowanych funkcji, takich jak sieć InfiniBand o małym opóźnieniu.

Ponadto projekty są tworzone dla każdego harmonogramu i używane do instalowania i inicjowania demonów harmonogramu w węzłach głównych i węzłach obliczeniowych.

Karty harmonogramu

Karty utworzone dla każdego typu harmonogramu odgrywają dwie role podstawowe: 1) agregowanie wymagań dotyczących zasobów z kolejek harmonogramu i 2) przekładają wymagania dotyczące zasobów na żądania alokacji dla zestawów rozmiarów maszyn wirtualnych platformy Azure. Te żądania alokacji są tworzone z pewnymi ograniczeniami, na przykład limity przydziału maszyn wirtualnych, limity rozmiaru klastra i limity nałożone przez topologię sieci InfiniBand (dla odpowiednich rozmiarów maszyn wirtualnych). W niektórych aspektach te karty przypominają brokera, który negocjuje popyt i podaż z wielu stron.

Monitor

Monitor to proces uruchamiany na serwerze aplikacji CycleCloud i okresowo sonduje usługi platformy Azure pod kątem dostępności zasobów w subskrypcji platformy Azure. Ten monitor udostępnia te informacje kartom harmonogramu na potrzeby brokera żądań.

Alokator węzłów

Alokator węzła jest uruchamiany na serwerze aplikacji CycleCloud. Odbiera żądanie alokacji z kart harmonogramu za pośrednictwem interfejsu API REST, aprowizuje zasoby platformy Azure wymagane do spełnienia żądania i przedstawia aprowizowane zasoby z powrotem do kart harmonogramu jako zestawy węzłów.

Uwaga

Chociaż powyższe podstawowe pojęcia są wspólne wśród harmonogramów, szczegóły implementacji różnią się między harmonogramami. Aby uzyskać bardziej szczegółowe informacje na temat każdej implementacji, zobacz poszczególne strony harmonogramu.