Dobrze zaprojektowana struktura platformy Azure dla hpc

Plan obliczeń o wysokiej wydajności na platformie Azure (HPC) przedstawia proces racjonalizacji scenariusza, określania priorytetów wysiłków technicznych i identyfikowania obciążeń. W przypadku wielu obciążeń ważne jest przestrzeganie zestawu zasad architektury. Te zasady ułatwiają opracowywanie i optymalizowanie obciążeń. Pięć konstrukcji architektonicznych jest szczegółowo opisanych w strukturze Azure Well-Architected Framework. Te wskazówki zawierają podsumowanie sposobu stosowania tych zasad do zarządzania obciążeniami danych.

Niezawodność

Wszystko ma potencjał do złamania. Potoki danych nie są wyjątkiem. Doskonałe architektury są zaprojektowane z myślą o dostępności i odporności. Najważniejsze zagadnienia to szybkość wykrywania zmian i szybkiego wznawiania operacji.

Środowisko danych powinno uwzględniać architektury odporne, nadmiarowość między regionami, poziom usług, umowy dotyczące poziomu usług (SLA) i obsługę krytyczną. Istniejące środowisko powinno również obejmować inspekcję, monitorowanie i alerty przy użyciu zintegrowanego monitorowania i struktury powiadomień.

W oparciu o te mechanizmy kontroli środowiska zespół ds. obciążeń powinien wziąć pod uwagę następujące kwestie:

  • Wykonanie większej liczby modyfikacji architektury w celu poprawy umów SLA na poziomie usług.
  • Konfigurowanie nadmiarowej architektury specyficznej dla obciążenia.
  • Ustanawianie procesów monitorowania i powiadamiania poza tym, co zapewniają zespoły ds. operacji w chmurze.

Łączność hybrydowa usługi ExpressRoute

Aby obsługiwać obciążenia HPC o krytycznym znaczeniu, użyj konfiguracji wysokiej dostępności usługi Azure ExpressRoute. Nawet w jednej lokacji konfiguracja wysokiej dostępności, w której może istnieć nadmiarowe połączenie usługi ExpressRoute, nie chroni cię przed przestojem jednej lokacji brzegowej. Po włączeniu dwóch połączeń w dwóch obiektach nadmiarowość umożliwia firmie kontynuowanie w przypadku awarii w lokalizacji podstawowej. Dzięki wysokiej dostępności usługi ExpressRoute możesz zapewnić łączność z platformą Azure, jeśli w jednym regionie wystąpi awaria usługi ExpressRoute.

Zalecenia

  • Włącz dwa obwody usługi ExpressRoute w dwóch różnych lokalizacjach lokacji brzegowych usługi ExpressRoute w celu zapewnienia maksymalnej nadmiarowości.
    • Ta konfiguracja wymaga ustanowienia dwóch obwodów usługi ExpressRoute w witrynie Azure Portal dla dwóch różnych lokalizacji lokacji brzegowych usługi ExpressRoute. Następnie połączysz oba obwody usługi ExpressRoute z tą samą siecią koncentratora wirtualnego na platformie Azure.
    • Umieść dwie lokalizacje lokacji brzegowych w tym samym regionie świadczenia usługi Azure. Zapewnia to nadmiarowość w przypadku awarii jednej z lokalizacji komunikacji równorzędnej. Obie połączenia usługi ExpressRoute kończą się w tej samej sieci koncentratora wirtualnego na platformie Azure. Wyświetl listę lokalizacji usługi ExpressRoute i partnerów łączności, aby zaplanować lokalizacje komunikacji równorzędnej usługi ExpressRoute.
    • Skontaktuj się z dostawcą, aby skonfigurować drugą lokację usługi ExpressRoute.
    • Upewnij się, że drugie połączenie działa, przechodząc w tryb failover do drugiej lokalizacji, co jest krytyczne. Wykonaj regularne przechodzenie do szczegółów, aby zapewnić łączność.

Aby uzyskać więcej informacji na temat maksymalnej odporności konfiguracji usługi ExpressRoute, zobacz Projektowanie odzyskiwania po awarii za pomocą usługi ExpressRoute.

Zabezpieczenia

Zastosuj zasady zabezpieczeń do środowiska HPC, aby zapewnić ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Zapoznaj się z zabezpieczaniem obrazów systemu operacyjnego użytkownika i dostępu użytkowników oraz postępuj zgodnie z wytycznymi dotyczącymi zabezpieczeń usług Azure Batch i Azure CycleCloud. Aby uzyskać więcej informacji, zobacz Zasady filaru zabezpieczeń.

Obrazy systemu operacyjnego

Witryna Azure Marketplace udostępnia obrazy HPC oparte na systemie Linux do użycia w klastrze. Te obrazy zawierają wiele popularnych bibliotek, pakietów oprogramowania i narzędzi diagnostycznych, takich jak:

  • Biblioteki interfejsu MPI (Message Passing Interface) oparte na protokole InfiniBand.
  • Mellanox OFED.
  • Wstępnie skonfigurowany adres IP przez infiniBand.
  • Środowiska uruchomieniowe komunikacji.
  • Biblioteki zoptymalizowane pod kątem technologii Intel/AMD.
  • Narzędzia diagnostyczne HPC platformy Azure.

Możesz zacząć od obrazów, a następnie zastosować zasady zabezpieczeń organizacji w celu wzmocnienia obrazów oprogramowania przed lukami w zabezpieczeniach i zagrożeniami cybernetycznymi. Po weryfikacji możesz zapisać nowy obraz w galerii obliczeń platformy Azure. Następnie możesz użyć obrazu do tworzenia maszyn wirtualnych w usłudze Azure CycleCloud, Azure HPC i Batch.

Dostęp użytkowników

  • Zdefiniuj jasne wiersze odpowiedzialności i rozdzielenie obowiązków dla każdej funkcji.
  • Ogranicz dostęp na podstawie zasad zabezpieczeń z najniższymi uprawnieniami i potrzebami.
  • Przypisywanie uprawnień do użytkowników, grup i aplikacji w określonym zakresie za pomocą kontroli dostępu opartej na rolach na platformie Azure. Jeśli to możliwe, użyj wbudowanych ról.
  • Zapobiegaj usuwaniu lub modyfikowaniu zasobu, grupy zasobów lub subskrypcji za pomocą blokad zarządzania.
  • Użyj tożsamości zarządzanych, aby uzyskać dostęp do zasobów na platformie Azure.
  • Obsługa pojedynczego katalogu przedsiębiorstwa. Zachowaj synchronizację katalogów w chmurze i lokalnych, z wyjątkiem kont o krytycznym znaczeniu.
  • Skonfiguruj dostęp warunkowy firmy Microsoft Entra. Wymuszanie i mierzenie kluczowych atrybutów zabezpieczeń podczas uwierzytelniania wszystkich użytkowników, szczególnie w przypadku kont o kluczowym znaczeniu.
  • Użyj metod bez hasła lub wybierz nowoczesne metody haseł.
  • Blokuj starsze protokoły i metody uwierzytelniania.

Zabezpieczenia usługi Azure Batch

Postępuj zgodnie z najlepszymi rozwiązaniami, aby włączyć zabezpieczenia dla usługi Batch.

Zabezpieczenia usługi Azure CycleCloud

Postępuj zgodnie z najlepszymi rozwiązaniami, aby włączyć zabezpieczenia usługi Azure CycleCloud.

Optymalizacja kosztów

Aby jak najlepiej wykorzystać środowisko na platformie Azure, należy określić priorytety związane z zarządzaniem kosztami i ćwiczeniami planowania z góry. Zarządzanie kosztami i planowanie są zwykle najważniejszymi zagadnieniami dotyczącymi pomyślnej migracji do chmury w organizacji. Usługa Microsoft Cost Management udostępnia narzędzia do planowania, analizowania i ograniczania wydatków w celu zmaksymalizowania inwestycji w chmurę. Aby uzyskać więcej informacji na temat sposobów planowania i optymalizowania kosztów chmury, zobacz Cost Management billing best practices (Najlepsze rozwiązania dotyczące rozliczeń zarządzania kosztami). Poniżej przedstawiono niektóre z najważniejszych zagadnień związanych z optymalizacją kosztów.

Wybór systemu operacyjnego

Linux to dominujący system operacyjny dla obciążeń HPC. System Linux jest typu open source i dostraja wydajność do korzystania z infrastruktury HPC. Dlatego biblioteki MPI i sterowniki Infiniband działają dobrze w systemie Linux i Windows. Korzystając z maszyn wirtualnych z systemem Linux w porównaniu z systemem Windows do konfigurowania klastra HPC, zdecydowanie może obniżyć koszty. Jednak niektórzy użytkownicy mogą mieć silne preferencje dla środowiska systemu Windows, szczególnie podczas wykonywania zadań wstępnego przetwarzania i przetwarzania końcowego w obciążeniach, takich jak obliczeniowa dynamika płynów. W takim przypadku zalecamy przesyłanie zadań frontonu systemu Windows do hosta z systemem Linux, węzła głównego, który używa węzłów obliczeniowych do symulacji.

Skalowanie automatyczne

Skalowanie automatyczne umożliwia konfigurowanie i używanie maszyn wirtualnych tylko podczas przesyłania zadania lub gdy zadanie jest aktywne. Po zakończeniu zadania węzły są wyłączane automatycznie. Korzystając z skalowania automatycznego, dostosowujesz zasoby obliczeniowe używane przez aplikację, co potencjalnie pozwala zaoszczędzić czas i pieniądze. Usługa Azure CycleCloud domyślnie włącza skalowanie automatyczne w swoich harmonogramach. Domyślny limit czasu wyłączania węzłów wynosi 15 minut. Możesz dostosować limit czasu. Limit czasu pomaga zapewnić, że użytkownicy płacą tylko za to, z czego korzystają. Usługa Batch udostępnia mechanizm integrowania formuły skalowania automatycznego z wybranymi parametrami. Aby uzyskać więcej informacji, zobacz Wprowadzenie do automatycznego skalowania na platformie Azure.

Płatność zgodnie z rzeczywistym użyciem a wystąpienia zarezerwowane i wystąpienia typu spot

Platforma Azure oferuje różne opcje cenowe, płatność zgodnie z rzeczywistym użyciem, wystąpienie zarezerwowane z opcjami jednorazowymi lub trzyletnimi oraz wystąpienia typu spot, które podlegają pojemności dostępnej w centrum danych. Wystąpienia z płatnością zgodnie z rzeczywistym użyciem są opłacalne, ponieważ zaspokajają one sporadyczne zapotrzebowanie na pojemność. Wystąpienia zarezerwowane mogą okazać się opłacalne, jeśli istnieje ciągłe zapotrzebowanie na hpc lub istnieje wiele aplikacji uruchamianych na platformie Azure HPC. Oba są dobrym rozwiązaniem w przypadku obciążeń gotowych do produkcji. Wystąpienia typu spot są dobre w przypadku krótkich testów i eksperymentów lub jeśli aplikacja wymaga tworzenia punktów kontrolnych, na przykład genomiki. Wystąpienia typu spot podlegają pojemności dostępnej w centrum danych. Ceny zależą od tych czynników. Możesz wykluczyć wystąpienia typu spot z minimalnym powiadomieniem.

Klasyfikacja danych

Obciążenia HPC korzystają z magazynu o wysokiej przepływności. Na przykład użyj równoległego systemu plików Azure Managed Lustre, Azure Net App Files lub BeeGFS Parallel File System. Te usługi magazynu zapewniają wydajność, ale mogą być kosztowne. Ważne jest, aby wcześniej klasyfikować dane, aby tylko dane specyficzne dla aplikacji znajdowały się w tych systemach. Wszystkie inne dane mogą znajdować się w tanich rozwiązaniach magazynu, takich jak Azure Data Lake Storage lub Azure Blob Storage.

Ponadto może być przydatne skonfigurowanie systemów magazynu HPC na żądanie w celu zapewnienia synchronizacji danych z usługą magazynu o niskich kosztach, takiej jak Blob Storage. Magazyn na żądanie pomaga zapewnić zachowanie danych w usłudze Blob Storage po wyłączeniu systemu magazynu o wysokiej wydajności. Usługa Managed Lustre i Net App Files oferują usługę synchronizacji.

Ustawianie budżetów

Usługa Azure CycleCloud umożliwia ustawianie budżetów na klaster i wysyłanie powiadomień do adresatów, jeśli są blisko wyczerpania budżetów. W przypadku usługi Batch można tworzyć budżety i alerty dotyczące wydatków dla pul usługi Batch lub kont usługi Batch w witrynie Azure Portal. Budżety i alerty są przydatne do powiadamiania uczestników projektu o wszelkich zagrożeniach związanych z nadmiernym wydatkiem, chociaż istnieje możliwość opóźnienia alertów wydatków i nieznacznego przekroczenia budżetu.

Doskonałość operacyjna

Gdy aplikacje HPC działają w środowisku produkcyjnym, wdrożenia muszą być niezawodne i przewidywalne. Niezawodne i przewidywalne wdrożenia składają się z automatyzacji obciążeń HPC z rozwiązaniami infrastruktury jako kodu (IaC). Należy również przeprowadzić kontrole kondycji węzła, aby analizować i monitorować obciążenia HPC.

Aby uzyskać więcej informacji na temat sugestii dotyczących wdrażania, zobacz Rekomendacje dotyczące używania infrastruktury jako kodu. Aby uzyskać więcej informacji na temat sugestii monitorowania, zobacz Rekomendacje do projektowania i tworzenia systemu monitorowania.

Infrastruktura jako kod

Usługa HPC na platformie Azure wdraża kilka zasobów, takich jak Azure CycleCloud, klaster HPC, magazyn, węzły wizualizacji, serwery licencji itd. Aby zautomatyzować wdrożenie, zalecamy użycie standardowych w branży narzędzi, takich jak Terraform, Ansible i Packer, aby uprościć proces.

Sprawdzanie kondycji węzła

Azure Managed Grafana to w pełni zarządzana usługa do analizy i monitorowania rozwiązań. Usługa Grafana Labs obsługuje aplikację Grafana i udostępnia rozszerzalne wizualizacje danych. To rozwiązanie można zintegrować w obciążeniach HPC jako przykład. Aby uzyskać więcej informacji, zobacz Azure HPC OnDemand platformy.

Efektywność wydajności

Upewnij się, że środowisko HPC jest w stanie wydajnie skalować, aby spełnić wymagania wprowadzone przez użytkowników. Wybierz odpowiednią platformę dla aplikacji HPC na podstawie zaleceń dostawcy aplikacji. Zainwestuj w planowanie pojemności, jeśli potrzebujesz dodatkowej infrastruktury, aby zaspokoić zapotrzebowanie. Monitoruj wydajność infrastruktury HPC, gdy użytkownicy korzystają z systemu.

Aby uzyskać więcej informacji, zobacz artykuły dotyczące wydajności.

Wybieranie odpowiedniej platformy dla aplikacji HPC

Platforma Azure oferuje szereg platform dla maszyn wirtualnych opartych na procesorach Intel, PROCESORACH AMD i procesorach GPU FIRMY AMD oraz procesorach GPU FIRMY AMD. Chociaż większość aplikacji jest zgodna z dostępnymi elementami, niektóre korzystają tylko z określonego typu procesora CPU lub procesora GPU. Przed wdrożeniem infrastruktury w chmurze ważne jest, aby uzyskać zalecenie od dostawcy aplikacji (ISV), aby zrozumieć następujące potrzeby.

  • Jeśli aplikacja jest powiązana z pamięcią, powiązana z procesorem CPU lub powiązana z procesorem GPU
  • Jeśli mają jakiekolwiek zalecenia dotyczące dowolnego typu architektury procesora CPU lub procesora GPU pod kątem wydajności
  • Jeśli istnieje typ mpI i jego wersja, że ich aplikacja może korzystać z zalet
  • Jeśli istnieje zalecenie dotyczące typu harmonogramu
  • Jeśli istnieje zalecenie dotyczące liczby operacji we/wy na sekundę/przepływności z równoległych systemów plików

Inwestowanie w planowanie pojemności

Na podstawie typu aplikacji i warunków licencji sprawdź, czy licencja jest ustawiona na użycie określonej liczby rdzeni. Oceń inwestycję, aby umożliwić licencję do obsługi obliczeń HPC, a następnie odpowiednio zaplanować pojemność.

Monitorowanie wydajności infrastruktury

  • Ważne jest, aby móc śledzić sposób, w jaki użytkownicy korzystają z systemu, śledzenia użycia zasobów i ogólnie monitorować kondycję i wydajność systemu. Te informacje mogą służyć jako pomoc diagnostyczna do wykrywania i rozwiązywania problemów oraz pomagania w wykrywaniu potencjalnych problemów i zapobieganiu ich występowaniu. Aby zapoznać się z omówieniem składników i usług platformy Azure dostępnych do monitorowania zasobów, zobacz Omówienie usługi Azure Monitor.
  • Monitor to doskonałe narzędzie do identyfikowania, czy istnieją wąskie gardła w wystąpieniach maszyn wirtualnych i magazynie.
  • Ograniczanie przepustowości magazynu może spowodować znaczne spowolnienie aplikacji i wpływać na wydajność. Ograniczanie przepływności występuje, gdy operacje wejściowe i wyjściowe w magazynie przekraczają ustawione limity przepływności. Usługi Azure Storage oferują wykresy operacji odczytu i zapisu do monitorowania, jeśli występują problemy z ograniczaniem przepustowości.
  • Usługa Azure CycleCloud integruje się z usługami platformy Azure, takimi jak Monitor i Microsoft Cost Management. Obsługuje również monitorowanie usług zewnętrznych za pomocą swojej architektury podłączanej. Aby uzyskać więcej informacji, zobacz Monitorowanie.
  • Ponadto, jeśli używasz usługi Batch, narzędzie Batch Explorer to bezpłatne, zaawansowane, autonomiczne narzędzie klienckie ułatwiające tworzenie, debugowanie i monitorowanie aplikacji usługi Batch.

Następne kroki