Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zanim utworzysz klaster w Azure CycleCloud, zaplanuj, jak klaster jest zorganizowany i skalatywny. Dobre decyzje planistyczne na początku – dotyczące harmonogramu, typów maszyn wirtualnych (VM), skalowania klastra oraz przechowywania i przenoszenia danych – decydują o tym, jak dobrze klaster działa i ile kosztuje jego uruchomienie.
Ten artykuł opisuje główne decyzje, które należy podjąć podczas planowania klastra HPC w CycleCloud. Uzupełnia klastry i węzły CycleCloud, które wyjaśniają, czym są klastry, węzły i tablice węzłów, oraz Create a new cluster, który przeprowadza proces budowy klastra na podstawie szablonu.
Sprawdź, czy CycleCloud odpowiada twojemu obciążeniu
Korzystaj z CycleCloud, gdy musisz obsługiwać konkretny harmonogram HPC, dostosować topologię klastra i stos oprogramowania lub ściśle dostosować się do istniejących lokalnych przepływów pracy. Zanim zdecydujesz się na rozmiar własnego klastra, rozważ następujące alternatywy:
- Wybierz Azure CycleCloud Workspace for Slurm, jeśli potrzebujesz gotowego do wdrożenia środowiska Slurm z wdrożonymi w ramach subskrypcji komponentami sieciowymi, pamięci masowej i dostępowymi.
- Wybierz Azure Batch, jeśli chcesz, aby Azure zapewniał planowanie zadań jako usługę, a Twoja aplikacja mogła korzystać z pul, zadań i tasków usługi Batch.
Jeśli CycleCloud jest odpowiednim modelem operacyjnym, użyj poniższych sekcji, aby stworzyć bazę planistyczną. Zapisz swoje decyzje dotyczące harmonogramu, maszyny wirtualnej, skali, kwoty, regionu, magazynu, sieci i kosztów przed wdrożeniem i zweryfikowaj je za pomocą reprezentatywnego obciążenia.
Wybierz planownik
CycleCloud jest niezależny od harmonogramu zadań. Ma wbudowane wsparcie dla planistów, z których korzysta większość zespołów HPC, a także dodaje automatyczne skalowanie do każdego z nich:
- Slurm
- PBS Professional
- IBM Spectrum LSF
- Silnik Altair Grid
- HTCondor
Wybierz harmonogram, który odpowiada Twoim istniejącym workflowom i skryptom zadań, aby móc przenosić obciążenia na Azure przy minimalnych zmianach. Jeśli Twoja organizacja używa planisty, który nie znajduje się na wbudowanej liście, możesz zintegrować go z API autoskalowania CycleCloud. Więcej informacji można znaleźć w artykule Planowanie w CycleCloud.
Wybierz rodziny i rozmiary maszyn wirtualnych
Rodzina i rozmiar maszyn wirtualnych, które wybierzesz dla węzłów obliczeniowych, mają największy wpływ zarówno na wydajność, jak i koszty. Dopasuj maszynę wirtualną do charakterystyki swojego obciążenia:
- Ściśle sprzężone obciążenia (MPI), które wymieniają dane między węzłami, korzystają z maszyn wirtualnych zoptymalizowanych pod kątem HPC, wyposażonych w interkonekt InfiniBand o niskich opóźnieniach, takich jak rozmiary maszyn wirtualnych HPC.
- Obciążenia przyspieszane przez GPU, takie jak trening lub renderowanie AI, wykorzystują rozmiary VM zoptymalizowane pod GPU.
- Co krępujące, równoległe lub przepustowościowe obciążenia, gdzie zadania działają niezależnie, mogą korzystać z maszyn wirtualnych ogólnego przeznaczenia lub optymalizacji obliczeniowej i nie wymagają specjalistycznego połączenia.
Pełne porównanie opcji VM można znaleźć w artykule Rozmiary dla maszyn wirtualnych w Azure.
Ponieważ tablica węzłów może obejmować więcej niż jeden zestaw skalowanych maszyn wirtualnych, pojedyncza tablica może oferować maszyny wirtualne o różnych rozmiarach lub rodzinach dla tej samej roli. Ta elastyczność pomaga, gdy preferowany rozmiar maszyny wirtualnej ma ograniczoną pojemność w danym regionie. Więcej informacji można znaleźć w CycleCloud clusters and nodes.
Zrób rozmiar klastra i zaplanuj automatyczne skalowanie
CycleCloud automatycznie dostosowuje liczbę węzłów obliczeniowych na podstawie zadań oczekujących w kolejce w harmonogramie zadań, więc nie musisz z góry szacować stałego rozmiaru klastra. Zamiast tego zaplanuj następujące granice:
- Maksymalny rozmiar. Formularz tworzenia klastra ogranicza zakres automatycznego skalowania klastra na podstawie łącznej liczby węzłów lub rdzeni, które może uruchomić. Ustaw ten limit tak, aby odzwierciedlał największe oczekiwane obciążenie pracą oraz kwotę dostępną w regionie.
- Węzły dedykowane a węzły Spot.Dedykowane węzły są zarezerwowane dla Twojej puli i zapewniają przewidywalną dostępność zasobów. Węzły Spot korzystają z niewykorzystanych zasobów platformy Azure po obniżonej cenie, ale platforma Azure może je odebrać, gdy ponownie będzie potrzebować tych zasobów. Używaj dedykowanych węzłów do zadań wrażliwych na opóźnienia lub długotrwałych, a węzłów Spot do zadań odpornych na awarie lub takich, które można ponownie uruchomić, gdy koszt ma większe znaczenie niż gwarantowana dostępność.
- Zachowanie podczas skalowania w dół. Autoskalowanie usuwa bezczynne węzły, więc przestajesz płacić za obliczenia, których nie używasz. Potwierdź, że Twoje zadania zapisują wyniki do trwałej pamięci, ponieważ lokalne dane na węźle są tracone podczas deallokacji węzła.
Zrozum limity automatycznego skalowania
W klastrze CycleCloud kilka niezależnych limitów decyduje o liczbie węzłów, które CycleCloud może uruchomić. Najniższy efektywny limit wygrywa:
| Limit | Co kontroluje |
|---|---|
| Dostępna całkowita regionalna kwota vCPU | Pozostała liczba jednostek vCPU, które Twoja subskrypcja może uruchomić we wszystkich rodzinach maszyn wirtualnych w regionie. |
| Dostępny limit vCPU rodziny VM | Pozostała liczba jednostek vCPU, które Twoja subskrypcja może uruchomić w wybranej rodzinie maszyn wirtualnych w regionie. Oba limity vCPU muszą umożliwić wdrożenie. |
CycleCloud MaxCount |
Maksymalna liczba węzłów w tablicy węzłów. |
CycleCloud MaxCoreCount |
Maksymalna liczba rdzeni w tablicy węzłów. Jeśli szablon definiuje zarówno MaxCount, jak i MaxCoreCount, CycleCloud stosuje niższe obowiązujące ograniczenie. |
Ważna
Limity przydziału i limity usługi CycleCloud to górne pułapy, a nie rezerwacje zasobów. Rzeczywiste udostępnianie może być niższe z powodu tymczasowych ograniczeń pojemności Azure lub błędów konfiguracyjnych.
Aby zidentyfikować ograniczenie, przejdź do strony klastra CycleCloud dla swojego klastra. W tabeli Węzły wybierz Akcje>Dodaj. Okno Dodawaj węzły opisuje obowiązujące ograniczenia dla wybranej tablicy węzłów.
Na przykład, załóżmy, że tablica węzłów korzysta z VM aktualnej generacji Standard_HB368rs_v5 , które zużywają po 368 vCPU każda, i mają następujące limity:
| Ograniczenie | Dostępny lub skonfigurowany limit | Efektywne węzły |
|---|---|---|
| Całkowita regionalna kwota vCPU | 3 680 vCPU | 10 |
| Przydział vCPU dla rodziny maszyn wirtualnych HBv5 | 2 208 vCPU | 6 |
CycleCloud MaxCount |
8 węzłów | 8 |
Limit rodziny VM HBv5 to najniższy limit, więc skonfigurowany limit to sześć węzłów, mimo że MaxCount pozwala na osiem. Jeśli Azure ma pojemność tylko dla pięciu maszyn wirtualnych w momencie uruchomienia żądania, CycleCloud udostępnia pięć węzłów, a pozostałe żądanie pozostaje ograniczone do czasu dostępnej pojemności. Samo zwiększenie MaxCount nie podnosi ani górnego limitu przydziału, ani dostępnej pojemności.
Gdy szablon używa MaxCoreCount, podziel tę wartość przez liczbę vCPU maszyny wirtualnej i zaokrąglij w dół, aby obliczyć maksymalną liczbę węzłów. Definicje obu ustawień CycleCloud można znaleźć w sekcji Obiekty węzła i tablicy węzłów.
Sprawdź kwotę, pojemność i region
Maszyny wirtualne, których planujesz używać, muszą być dostępne i mieszczące się w normie w regionie, w którym wdrażasz:
- Region. Wybierz region, który oferuje rodziny maszyn wirtualnych potrzebne Twojemu obciążeniu i znajduje się blisko Twoich danych oraz użytkowników. Nie każda rodzina maszyn wirtualnych jest dostępna we wszystkich regionach.
- Kwota. Limity rdzeni (vCPU) są ustalane na region i na rodzinę maszyn wirtualnych. Upewnij się, że Twój limit jest wystarczająco wysoki dla maksymalnej wielkości klastra, który planowałeś, i poproś o jej podwyżkę , jeśli zajdzie taka potrzeba.
- Pojemność. Nawet w ramach limitu rozmiary maszyn wirtualnych HPC mogą być ograniczone w danym regionie w danym czasie. Rozważ zapasowy rozmiar maszyny wirtualnej lub dodatkowy region na potrzeby dużych lub pilnych czasowo uruchomień.
Planuj przechowywanie i sieci
Zadania HPC często są ograniczone przez szybkość odczytu i zapisu danych, a nie tylko przez obliczenia:
- Współdzielone systemy plików. Większość klastrów HPC potrzebuje współdzielonego systemu plików, który wszystkie węzły mogą zamontować. CycleCloud może wdrażać serwery NFS i równoległe systemy plików (na przykład BeeGFS) jako część klastra, a także łączyć się z usługami zarządzanymi, takimi jak Azure NetApp Files czy Azure Managed Lustre.
- Interkonekt. Ściśle powiązane zadania MPI wymagają połączenia InfiniBand dostępnego na maszynach wirtualnych zoptymalizowanych HPC. Potwierdź, że zarówno rozmiar maszyny wirtualnej, jak i region to obsługują.
- Sieci komputerowe. Zaplanuj sieć wirtualną i podsieci, które hostują klaster, oraz upewnij się, że serwer aplikacji CycleCloud ma dostęp wychodzący potrzebny do zarządzania węzłami. Aby uzyskać wskazówki dotyczące produkcji, zobacz: Zaplanuj wdrożenie produkcyjne.
Wybierz ścieżkę danych klastra
Sposób, w jaki dostarczasz dane do węzłów obliczeniowych, ma duży wpływ na przepustowość i koszty. Wybierz na podstawie sposobu, w jaki twoje zadania odczytują i zapisują dane:
| Option | Najlepsze dla | Notatki |
|---|---|---|
| BlobFuse2 (streaming) | Odczyt dużych zbiorów danych bezpośrednio z Blob (dane treningowe AI, dane symulacyjne) z dużą przepustowością, bez stałego serwera plików | Montowanie FUSE dla każdego węzła; nie w pełni zgodne z POSIX. Zobacz Instalowanie usługi Azure Blob Storage w węzłach klastra. |
| Azure Managed Lustre | Ściśle powiązane zadania lub zadania intensywnie wykorzystujące operacje we/wy, które wymagają współdzielonego, równoległego systemu plików POSIX; mogą być zasilane danymi z usługi Blob | Zarządzany równoległy system plików. Zobacz Azure Managed Lustre. |
| Azure HPC Cache | Buforowanie istniejącego zaplecza NAS lub magazynu Blob na potrzeby środowisk HPC z przewagą operacji odczytu, w tym danych hybrydowych i przechowywanych lokalnie | Rozproszona warstwa pamięci podręcznej przed warstwą pamięci masowej. See Azure HPC Cache. |
| Azure NetApp Files | Współdzielona przestrzeń NFS lub SMB o niskich opóźnieniach dla EDA oraz ogólnej przestrzeni domowej i roboczej HPC | Zarządzana usługa plików. See Azure NetApp Files. |
Praktyczna zasada: używaj streamingu BlobFuse2, gdy dane znajdują się już w usłudze Blob, a zadania głównie je odczytują. Używaj współdzielonego lub równoległego systemu plików (Managed Lustre lub NetApp Files), gdy zadania wymagają koordynacji między węzłami, semantyki POSIX lub intensywnych współdzielonych zapisów. Użyj warstwy pamięci podręcznej (HPC Cache), gdy chcesz przyspieszyć dostęp do istniejącego systemu zaplecza.
Planuj pod kątem kosztów
Koszty obliczeniowe są zazwyczaj największym wydatkiem w środowisku HPC. Planuj kontrolować te koszty poprzez:
- Korzystanie z automatycznego skalowania i węzłów Spot, aby uniknąć płacenia za niewykorzystane zasoby.
- Dopasowanie rozmiarów maszyn wirtualnych, aby dopasowały się do obciążenia zamiast domyślnie wybierać największą opcję.
- Śledzenie wydatków dzięki zintegrowanej integracji z Microsoft Cost Management. Więcej informacji można znaleźć w sekcji Cost and Usage Tracking.
Walidacja klastra przed wyprodukowaniem
Przeprowadź test koncepcyjny z reprezentatywnym zadaniem, jego oczekiwanym wolumenem danych oraz produkcyjnym harmonogramem zadań i konfiguracją klastra. Nie zatwierdzaj projektu do produkcji, dopóki nie będziesz mógł zarejestrować dowodów dla każdego kryteru:
| Criterion | Dowody do zarejestrowania |
|---|---|
| Kompatybilność workflow | Istniejące skrypty zadań, polityki planistów, oprogramowanie, licencje i integracje tożsamości działają bez nieplanowanych zmian. |
| Skala i kwota | Automatyczne skalowanie uzyskuje wymaganą liczbę węzłów w zamierzonym regionie, nie przekraczając łącznych limitów regionalnych, limitów rodzin maszyn wirtualnych, MaxCount ani MaxCoreCount. |
| Wydajność obliczeniowa i pamięci masowej | Całkowity czas realizacji zadania mieści się w założonym limicie, w tym czas oczekiwania w kolejce, udostępnianie węzłów, przygotowanie danych, obliczenia oraz trwałe zapisanie wyników. |
| Recovery | Po awarii aprowizacji węzła, niepowodzeniu zadania lub eksmisji maszyny Spot, jeśli ma to zastosowanie, obciążenie robocze mieści się w zarejestrowanym maksymalnym czasie odzyskiwania i dopuszczalnej utracie punktów kontrolnych, dotrzymuje terminu ukończenia i pomyślnie korzysta z planowanego zapasowego rozmiaru maszyny wirtualnej. |
| Cost | Zmierzone koszty obliczeniowe, pamięci masowej, sieciowej i licencji za ukończone zadanie spełniają cel przy oczekiwanej częstotliwości wykonywania. |
| Operations | Wyznaczeni właściciele mogą monitorować harmonogram zadań i infrastrukturę, analizować nieudane żądania skalowania, wdrażać poprawki w środowisku oraz odzyskiwać zadania i dane. |
Jeśli kryterium nie zostanie spełnione, zmodyfikuj maszynę wirtualną (VM), limity tablicy węzłów, ścieżkę pamięci masowej, konfigurację automatycznego skalowania lub regionalny mechanizm awaryjny i powtórz to samo zadanie. Mały test funkcjonalny nie ustala gotowości produkcyjnej, ponieważ nie sprawdza kompatybilności z harmonogramem, szczytowej skali ani ruchu danych.