CycleCloud: podstawowe pojęcia
W najbardziej podstawowym systemie obliczeń o wysokiej wydajności (HPC) jest pulą zasobów obliczeniowych wspieranych przez wydajne systemy plików i wzajemnie połączonych przez sieci o małych opóźnieniach. Te zasoby obliczeniowe są zwykle zarządzane przez harmonogramy HPC, aplikacje programowe, które umożliwiają planowanie zadań.
Tworzenie poszczególnych systemów HPC na platformie Azure z podstawowych jednostek infrastruktury, takich jak Virtual Machines, dyski i interfejsy sieciowe, może być kłopotliwe, zwłaszcza jeśli te zasoby są efemeryczne — istniejące tylko przez czas wymagany do rozwiązania zadania HPC. Ponadto operatorzy chcą tworzyć wiele, oddzielnych środowisk HPC, które mogą być dostosowane do różnych jednostek biznesowych, zespołów badawczych lub osób fizycznych. Zarządzanie tymi wieloma systemami HPC może być skomplikowane operacyjnie.
Co to jest CycleCloud?
Azure CycleCloud to narzędzie, które ułatwia tworzenie systemów HPC na platformie Azure. Organizuje te systemy tak, aby elastycznie określały rozmiar zgodnie z zadaniami HPC, bez problemów z zarządzaniem podstawowymi blokami konstrukcyjnymi platformy Azure. Usługa CycleCloud została zaprojektowana przez zespół doświadczonych specjalistów HPC dla administratorów i użytkowników HPC, szczególnie użytkowników, którzy szukają kompilacji systemów HPC na platformie Azure, które przypominają wewnętrzną infrastrukturę HPC, którą znają.
Operacyjnie usługa CycleCloud to serwer aplikacji zainstalowany na maszynie wirtualnej z systemem Linux na platformie Azure lub na serwerze lokalnym, który ma dostęp do interfejsów API i zasobów platformy Azure. Usługa CycleCloud uzyskuje i aprowizuje maszyny wirtualne platformy Azure w celu konstruowania klastrów CycleCloud, które mogą integrować harmonogramy i aplikacje użytkowników. Usługa CycleCloud udostępnia również integracje skalowania automatycznego dla wielu harmonogramów HPC i agenta CycleCloud działającego na maszynach wirtualnych platformy Azure.
Serwer aplikacji
Ten serwer aplikacji zapewnia następujące możliwości:
- Interfejs API REST do tworzenia systemów HPC i zarządzania nimi na platformie Azure.
- Graficzny interfejs użytkownika, który umożliwia użytkownikowi monitorowanie systemów HPC i zarządzanie nimi.
- Interfejs wiersza polecenia ułatwiający integrację aplikacji CycleCloud z istniejącymi przepływami pracy.
- Wewnętrzny magazyn danych NoSQL, który buforuje stan klastra i węzła.
- System alokacji i aranżacji, który uzyskuje maszyny wirtualne platformy Azure i zarządza nimi
- System monitorowania węzłów dla istniejących maszyn wirtualnych, który powiadamia o zmianach stanu.
Integracje
Usługa CycleCloud udostępnia również wiele integracji z typowymi harmonogramami i maszynami wirtualnymi platformy Azure. Tee zapewniają:
- System przygotowywania węzła i konfiguracji do konwertowania aprowizowanej maszyny wirtualnej na węzeł HPC.
- Skalowanie automatyczne dla harmonogramów HPC, które przekładają wymagania dotyczące zadań harmonogramu HPC na zasoby platformy Azure.
Co można zrobić w usłudze CycleCloud
Usługa CycleCloud jest przeznaczona dla operatorów HPC (administratorów i użytkowników), którzy wdrażają systemy HPC na platformie Azure i którzy chcą replikować infrastrukturę, która była uruchomiona wewnętrznie, od harmonogramu HPC do punktów instalacji systemu plików na potrzeby instalacji aplikacji i dostępu do danych. Użytkownicy ci szczególnie przyglądają się obsłudze aplikacji, aparatów przepływu pracy i potoków obliczeniowych bez konieczności ponownegotoolowania procesów wewnętrznych.
Usługa CycleCloud udostępnia zaawansowaną i deklaratywną składnię tworzenia szablonów, która umożliwia użytkownikom opisywanie systemu HPC z topologii klastra (liczby i typów węzłów klastra) do punktów instalacji i aplikacji, które zostaną wdrożone w każdym węźle. Usługa CycleCloud została zaprojektowana do pracy z harmonogramami HPC, takimi jak PBSPro, Slurm, IBM LSF, Grid Engine i HT Condor, umożliwiając użytkownikom tworzenie różnych kolejek w każdym harmonogramie i mapowanie ich na węzły obliczeniowe o różnych rozmiarach maszyn wirtualnych na platformie Azure. Ponadto wtyczki skalowania automatycznego są zintegrowane z węzłami głównymi harmonogramu, które nasłuchują kolejek zadań w każdym systemie i odpowiednio ustawiają rozmiar klastra obliczeniowego przez interakcję z interfejsem API REST automatycznego skalowania uruchomionym na serwerze aplikacji.
Oprócz aprowizowania i tworzenia węzłów HPC usługa CycleCloud udostępnia również platformę do przygotowywania i konfigurowania maszyny wirtualnej, w istocie zapewniając system konwersji maszyny wirtualnej na składnik funkcjonalny systemu HPC. Dzięki tej strukturze użytkownicy mogą wykonywać konfigurację ostatniej mili na maszynie wirtualnej.
Ponadto usługa CycleCloud udostępnia następujące funkcje:
Dostęp użytkowników
Usługa CycleCloud oferuje wbudowaną obsługę tworzenia kont użytkowników lokalnych w każdym węźle systemu HPC. Dzięki temu systemowi dostęp użytkowników można kontrolować za pomocą jednej płaszczyzny zarządzania bez wdrażania usługi katalogowej.
Monitorowanie
Metryki na poziomie węzła są zbierane i wyświetlane w interfejsie użytkownika cyclecloud. Są one przydatne do monitorowania obciążenia systemu i można je podłączyć do usług raportowania i zgłaszania alertów.
Rejestrowanie
Usługa CycleCloud udostępnia system rejestrowania działań i zdarzeń na poziomie węzła i serwera aplikacji.
Przenoszenia
System nie nakazuje użycia określonego obrazu maszyny wirtualnej ani systemu operacyjnego. Usługa CycleCloud obsługuje główne systemy operacyjne Windows i Linux w węzłach HPC. Ponadto użytkownicy mogą tworzyć własny obraz maszyny wirtualnej i używać go w systemie HPC.
Infrastruktura jako kod
Ponieważ wszystko utworzone w usłudze CycleCloud jest definiowane w szablonach i skryptach konfiguracji, systemy HPC wdrożone za pośrednictwem aplikacji CycleCloud są powtarzalne i przenośne. Zapewnia to operatorom spójność wdrażania systemów HPC w różnych środowiskach: piaskownica, programowanie, testowanie i produkcja. Operatorzy mogą również wdrażać identyczne systemy HPC dla różnych grup biznesowych lub zespołów w celu oddzielenia zagadnień księgowych.
Luźno powiązane lub ściśle powiązane obciążenia
Klastry HPC utworzone przez usługę CycleCloud są przeznaczone nie tylko do obsługi luźno powiązanych lub żenujących równoległych zadań, w których skalowanie (rozmiar klastra) jest głównym problemem. Klastry CycleCloud są również zaprojektowane z myślą o sieci szkieletowej Infiniband platformy Azure, obsługując ściśle powiązane lub oparte na interfejsie MPI obciążenia, w których bliskość węzła i opóźnienie sieci są krytyczne. Te koncepcje skalowalne w poziomie i ściśle powiązane są wbudowane w integracje harmonogramu obsługiwane przez usługę CycleCloud.