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.
Efektywne planowanie pojemności pomaga zagwarantować, że obciążenia Azure Batch mają potrzebne zasoby obliczeniowe, gdy ich potrzebują. W tym artykule wyjaśniono, jak jest zorganizowana pojemność usługi Batch, jak planować limity przydziału dla swoich obciążeń roboczych oraz jak zmniejszyć ryzyko niepowodzeń alokacji.
Limit przydziału jest limitem, a nie gwarancją pojemności. Planowanie z wyprzedzeniem pomaga zażądać odpowiedniego limitu przydziału, wybrać odporne konfiguracje i bezpiecznie reagować, gdy pojemność jest ograniczona. Aby uzyskać informacje o określonych wartościach domyślnych i maksymalnych, zobacz Limity przydziału i limity usługi Batch.
Potwierdź, że Batch pasuje do Twojego obciążenia
Użyj usługi Batch, gdy chcesz, aby Azure zapewniło usługę planowania, a Twoja aplikacja może organizować pracę w pule, zlecenia i zadania. Zanim zaplanujesz przepustowość wsadową, rozważ następujące alternatywy:
- Wybierz Azure 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.
- 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.
Jeśli Batch to odpowiedni model operacyjny, użyj poniższych sekcji, aby oszacować szczytowe zapotrzebowanie, wybrać maszyny wirtualne, obliczyć kwoty i zdefiniować zapasowe rozwiązania przed utworzeniem pul produkcyjnych.
Hierarchia pojemności
Pojemność partii jest określana na kilku poziomach, przy czym każdy poziom ogranicza poziom znajdujący się poniżej. Rzeczywista pojemność jest ograniczona przez najbardziej restrykcyjny limit w łańcuchu.
U góry region Azure zapewnia fizyczną pojemność centrum danych dostępną dla każdej rodziny maszyn wirtualnych. Pojemność regionalna nie jest wartością stałą, którą kontrolujesz; zmienia się wraz z upływem czasu i według serii maszyn wirtualnych. Przydział subskrypcji określa następnie dozwolony limit rdzeni dla każdej rodziny maszyn wirtualnych w danym regionie. W trybie alokacji puli subskrypcji użytkownika te limity subskrypcji mają bezpośrednie zastosowanie do pul usługi Batch. Przydział zasobów konta usługi Batch określa liczbę rdzeni, pul i aktywnych zadań dozwolonych dla konta usługi Batch. W trybie alokacji puli usług Batch obowiązują te limity przydziału na poziomie konta. Na koniec limity puli ograniczają liczbę węzłów w puli na podstawie limitu przydziału obowiązującego na poziomie nadrzędnym wobec puli oraz limitów rozmiaru puli ustawionych przez usługę Batch.
Zrozumienie, która warstwa ma zastosowanie do twojego konta, zależy od trybu alokacji puli. Aby uzyskać więcej informacji, zobacz temat Konta usługi Batch i tryby alokacji puli.
Planowanie wymagań dotyczących pojemności
Przed utworzeniem pul produkcyjnych należy oszacować zasoby wymagane przez obciążenie. Przejdź przez poniższe pytania, aby przełożyć charakterystyki obciążenia na wniosek o przydział limitu:
- Profil obciążenia. Jaka jest szczytowa liczba współbieżnych zadań i zadań? Jaki jest średni czas trwania zadania i wymaganie dotyczące pamięci? Czy zadania wymagają procesorów GPU lub koordynacji między wieloma węzłami (MPI)?
- Wybór maszyny wirtualnej. Która rodzina maszyn wirtualnych i rozmiar najlepiej pasują do obciążenia? Ile rdzeni i ile pamięci zapewnia każda maszyna wirtualna?
- Określanie rozmiaru puli. Ile zadań jest uruchamianych współbieżnie na węzeł (maksymalnie cztery razy więcej rdzeni węzła, ograniczonych do 256 miejsc zadań na węzeł)? Biorąc pod uwagę liczbę współbieżnych zadań szczytowych, ile węzłów potrzebujesz? Jak podzielić zasoby między węzły dedykowane a węzły Spot?
- Wymaganie dotyczące limitu przydziału. Pomnóż maksymalną liczbę węzłów przez liczbę rdzeni w każdej maszynie wirtualnej, aby uzyskać całkowitą liczbę wymaganych rdzeni. Porównaj tę łączną wartość z obecnym limitem, aby określić, o jakie zwiększenie należy zawnioskować.
- Kosztorys. Użyj stawki godzinowej maszyny wirtualnej i oczekiwanego czasu działania, aby oszacować dzienne i miesięczne koszty. Aby uzyskać więcej informacji, zobacz Planowanie zarządzania kosztami dla Azure Batch.
Aby sprawdzić bieżące przydziały i zażądać zwiększenia, zobacz Wyświetlanie przydziałów usługi Batch i Zwiększanie limitu przydziału. Składaj wnioski o zwiększenie limitu z dużym wyprzedzeniem i zaczynaj od niewielkich, stopniowych zwiększeń. Duże zwiększenie limitu przydziału może wymagać ręcznego przeglądu i może potrwać od kilku dni do kilku tygodni.
Proaktywne zarządzanie pojemnością
Zaplanuj pojemność, zanim stanie się ograniczeniem:
- Monitoruj wykorzystanie przydziału. Śledź wykorzystanie rdzeni względem przydziału i ustaw alert, gdy użycie zbliża się do limitu, na przykład po osiągnięciu 70–80%. Aby uzyskać więcej informacji, zobacz Monitorowanie rozwiązań Batch.
- Użyj automatycznego skalowania. Skonfiguruj automatyczne skalowanie , aby pule rosły i zmniejszały się wraz z zapotrzebowaniem zamiast utrzymywać stałą, aprowizowaną liczbę węzłów. Typowy wzorzec polega na utrzymywaniu bazowej liczby dedykowanych węzłów, aby zapewnić nieprzerwane działanie, oraz na korzystaniu w razie potrzeby z węzłów Spot w celu uzyskania dodatkowej przepustowości.
- Rozłożone między regionami i kontami. Dystrybuuj obciążenia w wielu regionach lub kontach usługi Batch, aby uzyskać dostęp do większej pojemności zagregowanej. Przydziały usług, takie jak aktywne zadania i pule, mają zastosowanie do każdego odrębnego konta usługi Batch.
Obsługa ograniczeń pojemności
Nawet w przypadku planowania mogą wystąpić błędy alokacji. Zaprojektuj przepływ pracy tak, aby był odporny:
- Ponów próbę i zróżnicuj. Jeśli pula nie może osiągnąć rozmiaru docelowego, spróbuj ponownie po kilku minutach, spróbuj użyć innego rozmiaru maszyny wirtualnej lub spróbuj użyć innego regionu. Zmiany dostępności zasobów w czasie.
- Zadania retargetowania Unikaj polegania na pojedynczej puli statycznej. Upewnij się, że możesz przekierować zadania do innej puli, być może o innym rozmiarze maszyny wirtualnej, jeśli nie można zwiększyć puli. Aby uzyskać więcej informacji, zobacz najlepsze praktyki usługi Azure Batch.
- Przygotuj się na wywłaszczenie maszyn Spot.Węzły Spot mogą zostać wywłaszczone, gdy platforma Azure będzie ponownie potrzebować tych zasobów. Używaj węzłów typu Spot tylko do zadań odpornych na awarie i łącz je z dedykowanymi węzłami oraz autoskalowaniem, aby pula automatycznie się odtwarzała.
Aby uzyskać szczegółowe objawy, przyczyny i rozwiązania błędów alokacji i limitu przydziału, zobacz wskazówki dotyczące rozwiązywania problemów:
- Błędy puli i węzłów
- Błąd podczas zmiany rozmiaru puli Azure Batch
- Niepowodzenie tworzenia puli Azure Batch
Walidacja mocy przed wyprodukowaniem
Przeprowadź test koncepcyjny z reprezentatywnym zadaniem, oczekiwanym wolumenem danych oraz konfiguracją puli produkcyjnej. Nie zatwierdzaj projektu do produkcji, dopóki nie będziesz mógł zarejestrować dowodów dla każdego kryteru:
| Criterion | Dowody do zarejestrowania |
|---|---|
| Zakończenie obciążenia | Zadanie kończy się poprawnie dzięki zależności zadań produkcyjnych, pakietom aplikacji oraz ścieżkom danych wejściowych i wyjściowych. |
| Skala i kwota | Pula osiąga wymaganą liczbę węzłów w docelowym regionie bez przekraczania limitu konta usługi Batch, subskrypcji ani rodziny maszyn wirtualnych. |
| Performance | Czas realizacji zadań od początku do końca spełnia cel, w tym alokację puli, transfer danych, obliczenia oraz trwałość wyników. |
| Recovery | Po utracie węzła, niepowodzeniu zadania lub preempcji Spot, jeśli jest stosowana, zadanie pozostaje w granicach maksymalnego czasu odzyskiwania i dozwolonej utraty punktów kontrolnych, spełnia termin ukończenia i pomyślnie wykorzystuje planowany rozmiar lub pulę maszyn zapasowych. |
| Cost | Zmierzone koszty obliczeniowe, pamięci masowej, sieciowej i licencji za ukończone zadanie spełniają cel przy oczekiwanej częstotliwości wykonywania. |
| Operations | Alerty sygnalizują problemy z limitami przydziału, niepowodzenia alokacji i nieudane zadania, a właściciel może przekierować lub przywrócić obciążenie. |
Jeśli kryterium nie zadziała, zmodyfikuj rozmiar puli, wybór VM, ścieżkę pamięci, zachowanie powtórki lub regionalny plan awaryjny i powtórz to samo zadanie. Mały test funkcjonalny nie pozwala określić wydajności środowiska produkcyjnego, ponieważ nie obejmuje obciążenia w skali szczytowej, limitów przydziału ani przepływu danych.
Najlepsze praktyki
| Practice | Opis |
|---|---|
| Wcześniej zażądaj limitu przydziału | Prześlij żądania limitu przydziału z wyprzedzeniem; duże wzrosty mogą potrwać od kilku dni do kilku tygodni. |
| Planuj z zapasem | Zażądaj nieco większego limitu przydziału niż bieżący szczyt, aby umożliwić wzrost. |
| Korzystanie z wielu regionów | Rozłożenie obciążeń między regionami w celu uzyskania dostępu do większej pojemności zagregowanej. |
| Monitorowanie użycia | Generuj alert, gdy wykorzystanie rdzeni osiągnie 70–80% Twojego limitu. |
| Maszyny wirtualne o odpowiednim rozmiarze | Dopasuj serię i rozmiar maszyny wirtualnej do obciążenia roboczego, zamiast przewymiarowywania zasobów. |
| Korzystaj ze Spot rozważnie | Zarezerwuj węzły typu spot dla obciążeń odpornych na błędy i połącz je z dedykowanymi węzłami. |
| Uprzątnij zasoby | Usuń nieużywane pule, aby zwolnić limit konta. |