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.
Ważne
Klasyczne maszyny wirtualne będą wycofywane 1 marca 2023 r.
Jeśli używasz zasobów IaaS z usługi ASM, wykonaj migrację do 1 marca 2023 r. Zachęcamy do przejścia wcześniej, aby skorzystać z wielu ulepszeń funkcji w usłudze Azure Resource Manager.
Aby uzyskać więcej informacji, zobacz Migruj swoje zasoby IaaS do Azure Resource Manager do 1 marca 2023.
Skonfiguruj klaster RDMA systemu Windows na platformie Azure, używając pakietu Microsoft HPC Pack oraz rozmiarów maszyn wirtualnych HPC zgodnych z RDMA, aby uruchamiać równoległe aplikacje Interfejsu Przekazywania Komunikatów (MPI). Po skonfigurowaniu w klastrze HPC Pack węzłów opartych na systemie Windows Server, które obsługują RDMA, aplikacje MPI komunikują się wydajnie za pośrednictwem sieci o niskich opóźnieniach i wysokiej przepustowości na platformie Azure, opartej na technologii zdalnego bezpośredniego dostępu do pamięci (RDMA).
Opcje wdrażania klastra HPC Pack
Microsoft HPC Pack to narzędzie dostępne bez dodatkowych kosztów w celu tworzenia klastrów HPC lokalnie lub na platformie Azure do uruchamiania aplikacji HPC z systemem Windows lub Linux. Pakiet HPC Pack zawiera środowisko uruchomieniowe dla implementacji interfejsu przekazywania komunikatów dla systemu Windows (MS-MPI). W przypadku korzystania z wystąpień z funkcją RDMA z obsługiwanym systemem operacyjnym Windows Server pakiet HPC Pack zapewnia wydajną opcję uruchamiania aplikacji MPI systemu Windows, które uzyskują dostęp do sieci Azure RDMA.
W tym artykule przedstawiono dwa scenariusze i linki do szczegółowych wskazówek dotyczących konfigurowania klastra RDMA systemu Windows za pomocą pakietu Microsoft HPC Pack 2012 R2.
- Scenariusz 1. Wdrażanie instancji ról pracowników intensywnie korzystających z obliczeń (PaaS)
- Scenariusz 2. Wdrażanie węzłów obliczeniowych na maszynach wirtualnych intensywnie korzystających z obliczeń (IaaS)
Scenariusz 1. Wdrażanie obliczeniowo intensywnych wystąpień ról roboczych (PaaS)
Z istniejącego klastra HPC Pack można dołączyć dodatkowe zasoby obliczeniowe do węzłów platformy Azure w roli procesu roboczego, które są uruchomione w usłudze chmurowej (PaaS). Ta funkcja, nazywana również „dynamicznym skalowaniem w Azure” z pakietu HPC, obsługuje szereg rozmiarów wystąpień roli procesu roboczego. Podczas dodawania węzłów platformy Azure określ jeden z rozmiarów obsługujących funkcję RDMA.
Poniżej przedstawiono zagadnienia i kroki dotyczące skalowania do wystąpień platformy Azure obsługujących funkcję RDMA z istniejącego klastra (zazwyczaj lokalnego). Użyj podobnych procedur do dodania instancji roli roboczej do węzła głównego HPC Pack wdrożonego na maszynie wirtualnej Azure.
Uwaga / Notatka
Aby zapoznać się z samouczkiem dotyczącym skalowania na platformę Azure za pomocą pakietu HPC Pack, zobacz Konfigurowanie klastra hybrydowego za pomocą pakietu HPC Pack. Zwróć uwagę na zagadnienia opisane w poniższych krokach, które dotyczą konkretnie węzłów platformy Azure obsługujących funkcję RDMA.
Kroki
Wdrażanie i konfigurowanie węzła głównego pakietu HPC Pack 2012 R2
Pobierz pakiet instalacyjny pakietu HPC Pack z Centrum pobierania Microsoft. Aby uzyskać wymagania i instrukcje dotyczące przygotowania do wdrożenia typu burst na platformie Azure, zobacz Tworzenie wystąpień procesów roboczych Azure za pomocą pakietu Microsoft HPC Pack.
Konfigurowanie certyfikatu zarządzania w subskrypcji platformy Azure
Skonfiguruj certyfikat, aby zabezpieczyć połączenie między węzłem głównym a platformą Azure. Aby uzyskać opcje i procedury, zobacz Scenariusze konfigurowania certyfikatu zarządzania platformy Azure dla pakietu HPC Pack. W przypadku wdrożeń testowych pakiet HPC Pack instaluje domyślny certyfikat zarządzania microsoft HPC Azure, który można szybko przekazać do subskrypcji platformy Azure.
Tworzenie nowej usługi w chmurze i konta magazynu
Użyj Azure Portal, aby utworzyć klasyczną usługę w chmurze i klasyczne konto pamięci dla wdrożenia. Utwórz te zasoby w regionie, w którym dostępny jest rozmiar serii H, A8 lub A9, którego chcesz użyć. Zobacz Produkty platformy Azure według regionów.
Tworzenie szablonu węzła platformy Azure
Użyj kreatora szablonu węzła w Menedżerze klastra HPC Cluster Manager. Aby uzyskać instrukcje, zobacz Tworzenie szablonu węzła platformy Azure w temacie "Kroki wdrażania węzłów platformy Azure za pomocą pakietu Microsoft HPC Pack".
W przypadku testów początkowych zalecamy skonfigurowanie zasad dostępności ręcznej w szablonie.
Dodawanie węzłów do klastra
Użyj Kreatora dodawania węzła w Menedżerze klastra HPC. Aby uzyskać więcej informacji, zobacz Dodawanie węzłów platformy Azure do klastra HPC systemu Windows.
Podczas określania rozmiarów węzłów wybierz jeden z rozmiarów instancji obsługujących RDMA.
Uwaga / Notatka
Przy każdym wdrożeniu dynamicznym na platformie Azure z użyciem zasobochłonnych wystąpień, pakiet HPC Pack automatycznie wdraża co najmniej dwa wystąpienia z obsługą RDMA (na przykład A8) jako węzły proxy, oprócz określonych przez ciebie instancji roli roboczej na platformie Azure. Węzły serwera proxy wykorzystują rdzenie przydzielone do subskrypcji, co powoduje naliczanie opłat wraz z wystąpieniami roli pracy platformy Azure.
Uruchom węzły i przełącz je do trybu online, aby wykonywać zadania
Wybierz węzły i użyj akcji Rozpocznij w Menedżerze klastra HPC. Po zakończeniu aprowizacji wybierz węzły i użyj akcji Bring Online w Menedżerze klastra HPC. Węzły są gotowe do uruchamiania zadań.
Przesyłanie zadań do klastra
Użyj narzędzi do przesyłania zadań pakietu HPC Pack do uruchamiania zadań klastra. Zobacz Microsoft HPC Pack: Zarządzanie zadaniami.
Zatrzymywanie (anulowanie aprowizacji) węzłów
Po zakończeniu uruchamiania zadań przełącz węzły w tryb offline i użyj akcji Zatrzymaj w Menedżerze klastra HPC.
Scenariusz 2. Wdrażanie węzłów obliczeniowych na maszynach wirtualnych intensywnie korzystających z obliczeń (IaaS)
W tym scenariuszu wdrożysz węzeł główny pakietu HPC Pack i węzły obliczeniowe klastra na maszynach wirtualnych w sieci wirtualnej platformy Azure. Pakiet HPC Pack udostępnia kilka opcji wdrażania na maszynach wirtualnych platformy Azure, w tym skrypty zautomatyzowanego wdrażania i szablony szybkiego startu platformy Azure. Na przykład poniższe zagadnienia i kroki zawierają instrukcje dotyczące używania skryptu wdrażania IaaS pakietu HPC Pack w celu zautomatyzowania wdrażania klastra HPC Pack 2012 R2 na platformie Azure.
Kroki
Tworzenie węzła głównego klastra i maszyn wirtualnych węzłów obliczeniowych przez uruchomienie skryptu wdrażania IaaS pakietu HPC Pack na komputerze klienckim
Pobierz pakiet skryptu wdrażania IaaS pakietu HPC Pack z Centrum pobierania Microsoft.
Aby przygotować komputer kliencki, utwórz plik konfiguracji skryptu i uruchom skrypt, zobacz Tworzenie klastra HPC za pomocą skryptu wdrażania IaaS pakietu HPC Pack.
Aby zapoznać się z zagadnieniami dotyczącymi wdrażania węzłów obliczeniowych obsługujących funkcję RDMA, zobacz Rozmiary maszyn wirtualnych obliczeniowych o wysokiej wydajności i zwróć uwagę na następujące kwestie:
Sieć wirtualna: określ nową sieć wirtualną w regionie, w którym jest dostępny rozmiar serii H, A8 lub A9, którego chcesz użyć. Zobacz Produkty platformy Azure według regionów.
System operacyjny Windows Server: aby obsługiwać łączność RDMA, określ zgodny system operacyjny Windows Server, taki jak Windows Server 2012 R2 dla maszyn wirtualnych węzłów obliczeniowych.
Usługi w chmurze: ponieważ skrypt korzysta z klasycznego modelu wdrażania, maszyny wirtualne klastra są wdrażane przy użyciu usług w chmurze platformy Azure (
ServiceNameustawień w pliku konfiguracji). Zalecamy wdrożenie węzła głównego w jednej usłudze w chmurze i węzłach obliczeniowych w innej usłudze w chmurze.Rozmiar węzła głównego: W tym scenariuszu należy wziąć pod uwagę rozmiar co najmniej A4 (bardzo duży) dla węzła głównego.
Rozszerzenie HpcVmDrivers: skrypt wdrażania automatycznie zainstaluje agenta maszyny wirtualnej platformy Azure oraz rozszerzenie HpcVmDrivers podczas wdrażania węzłów obliczeniowych o rozmiarze A8 lub A9 z systemem operacyjnym Windows Server. HpcVmDrivers instaluje sterowniki na maszynach wirtualnych węzła obliczeniowego, aby mogły łączyć się z siecią RDMA. Na maszynach wirtualnych z serii H z obsługą funkcji RDMA należy ręcznie zainstalować rozszerzenie HpcVmDrivers. Zobacz Rozmiary maszyn wirtualnych obliczeniowych o wysokiej wydajności.
Konfiguracja sieci klastra: skrypt wdrażania automatycznie konfiguruje klaster PAKIETU HPC Pack w topologii 5 (wszystkie węzły w sieci przedsiębiorstwa). Ta topologia jest wymagana dla wszystkich wdrożeń klastra HPC Pack na maszynach wirtualnych. Nie zmieniaj topologii sieci klastra później.
Przełącz węzły obliczeniowe w tryb online, aby uruchamiać zadania
Wybierz węzły i użyj akcji Bring Online w menedżerze klastra HPC. Węzły są gotowe do wykonywania zadań.
Przesyłanie zadań do klastra
Połącz się z węzłem głównym, aby przesłać zadania lub skonfigurować komputer lokalny, aby to zrobić. Aby uzyskać informacje, zobacz Przesyłanie zadań do klastra HPC na platformie Azure.
Przełącz węzły w tryb offline i zatrzymaj (dealokuj)
Po zakończeniu uruchamiania zadań przełącz węzły w tryb offline w Menedżerze klastra HPC. Następnie użyj narzędzi do zarządzania platformy Azure, aby je zamknąć.
Uruchamianie aplikacji MPI w klastrze
Przykład: uruchamianie pliku mpipingpong w klastrze HPC Pack
Aby sprawdzić wdrożenie wystąpień pakietu HPC obsługujących funkcję RDMA, uruchom polecenie mpipingpong w klastrze. Mpipingpong wysyła pakiety danych między sparowanych węzłów wielokrotnie w celu obliczenia opóźnień i pomiarów przepływności oraz statystyk dla sieci aplikacji z włączoną funkcją RDMA. W tym przykładzie przedstawiono typową metodę uruchamiania zadania MPI (w tym przypadku mpipingpong) przy użyciu polecenia mpiexec na klastrze.
W tym przykładzie przyjęto założenie, że węzły platformy Azure zostały dodane w konfiguracji "burst to Azure" ([Scenariusz 1](#scenario-1.-deploy-compute-intensive-worker-role-instances-(PaaS) w niniejszym artykule). Jeśli pakiet HPC Pack został wdrożony w klastrze maszyn wirtualnych platformy Azure, należy zmodyfikować składnię poleceń, aby określić inną grupę węzłów i ustawić dodatkowe zmienne środowiskowe, aby kierować ruch sieciowy do sieci RDMA.
Aby uruchomić mpipingpong w klastrze:
W węźle głównym lub na prawidłowo skonfigurowanym komputerze klienckim otwórz wiersz polecenia.
Aby oszacować opóźnienie między parami węzłów we wdrożeniu burst Azure czterech węzłów, wpisz następujące polecenie, aby przesłać zadanie do uruchomienia mpipingpong z małym rozmiarem pakietów i dużą liczbą iteracji.
job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 1:100000 -op -s nulPolecenie zwraca identyfikator przesłanego zadania.
W przypadku wdrożenia klastra HPC Pack wdrożonego na maszynach wirtualnych platformy Azure określ grupę węzłów zawierającą maszyny wirtualne węzłów obliczeniowych wdrożone w jednej usłudze w chmurze i zmodyfikuj polecenie mpiexec w następujący sposób:
job submit /nodegroup:vmcomputenodes /numnodes:4 mpiexec -c 1 -affinity -env MSMPI_DISABLE_SOCK 1 -env MSMPI_PRECONNECT all -env MPICH_NETMASK 172.16.0.0/255.255.0.0 mpipingpong -p 1:100000 -op -s nulPo zakończeniu zadania, aby wyświetlić dane wyjściowe (w tym przypadku dane wyjściowe zadania 1), wpisz następujące polecenie
task view <JobID>.1gdzie <JobID> jest identyfikatorem przesłanego zadania.
Dane wyjściowe zawierają wyniki opóźnienia podobne do poniższych.
Aby oszacować przepustowość między parami węzłów Azure do obsługi szczytowych obciążeń, wpisz następujące polecenie, aby przesłać zadanie do uruchomienia mpipingpong z dużymi pakietami danych i kilkoma iteracjami.
job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 4000000:1000 -op -s nulPolecenie zwraca identyfikator przesłanego zadania.
W klastrze HPC Pack wdrożonym na maszynach wirtualnych platformy Azure zmodyfikuj polecenie zgodnie z instrukcjami w kroku 2.
Po zakończeniu zadania, aby wyświetlić dane wyjściowe (w tym przypadku dane wyjściowe zadania 1), wpisz następujące polecenie:
task view <JobID>.1Dane wyjściowe zawierają wyniki przepływności podobne do poniższych.
Zagadnienia dotyczące aplikacji MPI
Poniżej przedstawiono zagadnienia dotyczące uruchamiania aplikacji MPI z pakietem HPC Pack na platformie Azure. Niektóre dotyczą tylko wdrożeń węzłów Azure (instancji roli roboczej dodanych w konfiguracji "przyrost do Azure").
Wystąpienia roli roboczej w usłudze w chmurze są okresowo przywracane bez powiadomienia przez platformę Azure (na przykład podczas konserwacji systemu lub gdy wystąpienie ulegnie awarii). Jeśli wystąpienie zostanie ponownie aprowidowane podczas uruchamiania zadania MPI, wystąpienie utraci dane i powróci do stanu, gdy zostało wdrożone po raz pierwszy, co może spowodować niepowodzenie zadania MPI. Im więcej węzłów używasz do pojedynczego zadania MPI i im dłużej działa zadanie, tym bardziej prawdopodobne jest, że jedno z wystąpień jest ponownie aprowizowane podczas wykonywania zadania. Rozważ to również, jeśli wyznaczysz jeden węzeł we wdrożeniu jako serwer plików.
Aby uruchamiać zadania MPI na platformie Azure, nie musisz używać wystąpień obsługujących funkcję RDMA. Możesz użyć dowolnego rozmiaru wystąpienia obsługiwanego przez pakiet HPC Pack. Jednak wystąpienia obsługujące funkcję RDMA są zalecane do uruchamiania stosunkowo dużych zadań MPI, które są wrażliwe na opóźnienia i przepustowość sieci łączącej węzły. Jeśli używasz innych rozmiarów do uruchamiania zadań MPI wrażliwych na opóźnienia i przepustowość, zalecamy uruchamianie małych zadań, w których pojedyncze zadanie jest uruchamiane na kilku węzłach.
Aplikacje wdrożone na instancjach Azure podlegają warunkom licencyjnym skojarzonymi z aplikacją. Skontaktuj się z dostawcą aplikacji komercyjnej w celu uzyskania informacji na temat licencjonowania lub innych ograniczeń związanych z uruchamianiem w chmurze. Nie wszyscy dostawcy oferują licencjonowanie w modelu pay-as-you-go.
Wystąpienia platformy Azure wymagają dalszej konfiguracji w celu uzyskania dostępu do węzłów lokalnych, udziałów i serwerów licencyjnych. Aby na przykład umożliwić węzłom platformy Azure dostęp do lokalnego serwera licencji, można skonfigurować sieć wirtualną platformy Azure typu lokacja-lokacja.
Aby uruchamiać aplikacje MPI na instancjach platformy Azure, zarejestruj każdą aplikację MPI w zaporze systemu Windows tych instancji, uruchamiając polecenie hpcfwutil. Dzięki temu komunikacja MPI odbywa się na porcie przypisanym dynamicznie przez zaporę.
Uwaga / Notatka
W przypadku wdrożeń na platformie Azure można również skonfigurować polecenie wyjątku zapory, aby było uruchamiane automatycznie we wszystkich nowych węzłach platformy Azure dodawanych do klastra. Po uruchomieniu polecenia hpcfwutil i sprawdzeniu, czy aplikacja działa, dodaj polecenie do skryptu uruchamiania dla węzłów platformy Azure. Aby uzyskać więcej informacji, zobacz Używanie skryptu uruchamiania dla węzłów platformy Azure.
Pakiet HPC Pack używa zmiennej środowiskowej klastra CCP_MPI_NETMASK, aby określić zakres dopuszczalnych adresów dla komunikacji MPI. Począwszy od pakietu HPC Pack 2012 R2, zmienna środowiskowa klastra CCP_MPI_NETMASK wpływa tylko na komunikację MPI między przyłączonym do domeny węzłami obliczeniowymi klastra (lokalnie lub na maszynach wirtualnych platformy Azure). Zmienna jest ignorowana przez węzły dodane w ramach serii do konfiguracji platformy Azure.
Zadania MPI nie mogą być uruchamiane na instancjach Azure wdrożonych w różnych usługach chmurowych (na przykład w przypadku wdrożeń w Azure z różnymi szablonami węzłów lub gdy węzły obliczeniowe maszyn wirtualnych Azure są wdrożone w wielu usługach chmurowych). Jeśli masz wiele wdrożeń węzłów platformy Azure, które są uruchamiane z różnymi szablonami węzłów, zadanie MPI musi być uruchamiane tylko na jednym zestawie węzłów platformy Azure.
Po dodaniu węzłów platformy Azure do klastra i przełączeniu ich do trybu online usługa harmonogramu zadań HPC natychmiast próbuje uruchomić zadania w węzłach. Jeśli na platformie Azure można uruchomić tylko część obciążenia, upewnij się, że zaktualizujesz lub utworzysz szablony zadań, aby zdefiniować typy zadań, które mogą być uruchamiane na platformie Azure. Aby na przykład upewnić się, że zadania przesłane przy użyciu szablonu zadania są uruchamiane tylko w węzłach platformy Azure, dodaj właściwość Grupy węzłów do szablonu zadania i wybierz pozycję AzureNodes jako wymaganą wartość. Aby utworzyć grupy niestandardowe dla węzłów platformy Azure, użyj polecenia cmdlet programu PowerShell Add-HpcGroup HPC.
Dalsze kroki
- Alternatywą dla korzystania z pakietu HPC Pack jest programowanie za pomocą usługi Azure Batch w celu uruchamiania aplikacji MPI w zarządzanych pulach węzłów obliczeniowych na platformie Azure. Zobacz Korzystanie z zadań multiinstancyjnych do uruchamiania aplikacji z interfejsem MPI (Message Passing Interface) w usłudze Azure Batch.