Nastavení clusteru Windows RDMA pomocí sady HPC Pack pro spuštění aplikací MPI
Důležité
Klasické virtuální počítače budou vyřazeny 1. března 2023.
Pokud používáte prostředky IaaS z ASM, dokončete migraci do 1. března 2023. Doporučujeme vám, abyste mohli v Azure Resource Manager využít výhod mnoha vylepšení funkcí.
Další informace najdete v tématu Migrace prostředků IaaS do Azure Resource Manager do 1. března 2023.
Nastavte v Azure cluster s Windows RDMA pomocí sady Microsoft HPC Pack a velikostí virtuálních počítačů s podporou RDMA pro spouštění paralelních aplikací MPI (Message Passing Interface). Když nastavíte RDMA, uzly založené na Windows Serveru v clusteru HPC Pack komunikují aplikace MPI efektivně přes nízkou latenci a síť s vysokou propustností v Azure, která je založená na technologii vzdáleného přímého přístupu k paměti (RDMA).
Možnosti nasazení clusteru HPC Pack
Microsoft HPC Pack je nástroj, který není za příplatek k vytváření clusterů HPC místně nebo v Azure pro spouštění aplikací PROSTŘEDÍ HPC s Windows nebo Linuxem. Sada HPC Pack zahrnuje prostředí runtime pro implementaci rozhraní Message Passing Interface for Windows (MS-MPI). Při použití s instancemi podporujícími RDMA s podporovaným operačním systémem Windows Server poskytuje sada HPC Pack efektivní možnost spouštění aplikací MPI systému Windows, které přistupují k síti Azure RDMA.
Tento článek představuje dva scénáře a odkazy na podrobné pokyny k nastavení clusteru Windows RDMA s Microsoft HPC Pack 2012 R2.
- 1\. scénář: Nasazení instancí rolí pracovních procesů náročných na výpočetní výkon (PaaS)
- 2\. scénář: Nasazení výpočetních uzlů ve virtuálních počítačích náročných na výpočetní výkon (IaaS)
Scénář 1: Nasazení instancí rolí pracovních procesů náročných na výpočetní výkon (PaaS)
Z existujícího clusteru HPC Pack přidejte do instancí rolí pracovních procesů Azure (uzly Azure) spuštěné v cloudové službě (PaaS) další výpočetní prostředky. Tato funkce označovaná také jako "burst to Azure" z sady HPC Pack podporuje řadu velikostí pro instance rolí pracovního procesu. Při přidávání uzlů Azure zadejte jednu z velikostí podporujících RDMA.
Následují důležité informace a kroky pro zvýšení kapacity instancí Azure s podporou RDMA z existujícího (obvykle místního) clusteru. Pomocí podobných postupů můžete přidat instance rolí pracovního procesu do hlavního uzlu sady HPC Pack, který je nasazený na virtuálním počítači Azure.
Poznámka
Kurz pro rozšíření do Azure pomocí sady HPC Pack najdete v tématu Nastavení hybridního clusteru pomocí sady HPC Pack. Všimněte si aspektů v následujících krocích, které platí speciálně pro uzly Azure podporující RDMA.
Postup
Nasazení a konfigurace hlavního uzlu HPC Pack 2012 R2
Stáhněte instalační balíček sady HPC Pack z webu Microsoft Download Center. Požadavky a pokyny k přípravě na nasazení s nárůstem kapacity Azure najdete v tématu Rozšíření služeb Azure Worker Instances pomocí sady Microsoft HPC Pack.
Konfigurace certifikátu pro správu v předplatném Azure
Nakonfigurujte certifikát pro zabezpečení připojení mezi hlavním uzlem a Azure. Možnosti a postupy najdete v tématu Scénáře konfigurace certifikátu Azure Management pro sadu HPC Pack. Pro testovací nasazení nainstaluje sada HPC Pack výchozí certifikát Microsoft HPC Azure Management Certificate, který můžete rychle nahrát do svého předplatného Azure.
Vytvoření nové cloudové služby a účtu úložiště
Pomocí Azure Portal vytvořte cloudovou službu (Classic) a účet úložiště (classic) pro nasazení. Vytvořte tyto prostředky v oblasti, ve které je k dispozici velikost H-series, A8 nebo A9, kterou chcete použít. Podívejte se na produkty Azure podle oblasti.
Vytvoření šablony uzlu Azure
Použijte Průvodce vytvořením šablony uzlu ve Správci clusteru HPC. Postup najdete v tématu Vytvoření šablony uzlu Azure v tématu Postup nasazení uzlů Azure pomocí sady Microsoft HPC Pack.
Pro počáteční testy doporučujeme nakonfigurovat zásadu ruční dostupnosti v šabloně.
Přidání uzlů do clusteru
Použijte Průvodce přidáním uzlu ve Správci clusteru HPC. Další informace najdete v tématu Přidání uzlů Azure do clusteru PROSTŘEDÍ WINDOWS HPC.
Při zadávání velikosti uzlů vyberte jednu z velikostí instancí podporujících RDMA.
Poznámka
V každém rozšíření nasazení do Azure s výpočetními instancemi hpC Pack automaticky nasadí minimálně dvě instance podporující RDMA (například A8) jako proxy uzly kromě zadaných instancí role pracovního procesu Azure. Uzly proxy používají jádra přidělená předplatnému a účtují se poplatky spolu s instancemi rolí pracovního procesu Azure.
Spuštění (zřízení) uzlů a jejich online spuštění úloh
Vyberte uzly a použijte akci Start ve Správci clusteru HPC. Po dokončení zřizování vyberte uzly a použijte akci Přenést online ve Správci clusteru HPC. Uzly jsou připravené ke spuštění úloh.
Odeslání úloh do clusteru
Ke spouštění úloh clusteru použijte nástroje pro odesílání úloh sady HPC Pack. Viz Microsoft HPC Pack: Správa úloh.
Zastavení (zrušení zřízení) uzlů
Po dokončení spuštěných úloh převezměte uzly offline a použijte akci Zastavit ve Správci clusteru HPC.
Scénář 2: Nasazení výpočetních uzlů ve virtuálních počítačích náročných na výpočetní výkon (IaaS)
V tomto scénáři nasadíte hlavní uzel sady HPC Pack a výpočetní uzly clusteru na virtuální počítače ve virtuální síti Azure. Sada HPC Pack nabízí několik možností nasazení na virtuálních počítačích Azure, včetně skriptů automatizovaného nasazení a šablon rychlých startů Azure. Následující aspekty a kroky vám například pomůžou použít skript nasazení sady HPC Pack IaaS k automatizaci nasazení clusteru HPC Pack 2012 R2 v Azure.
Postup
Vytvoření hlavního uzlu clusteru a virtuálních počítačů výpočetních uzlů spuštěním skriptu nasazení IaaS sady HPC Pack na klientském počítači
Stáhněte balíček skriptu nasazení sady HPC Pack IaaS z webu Microsoft Download Center.
Pokud chcete připravit klientský počítač, vytvořte konfigurační soubor skriptu a spusťte skript, přečtěte si téma Vytvoření clusteru HPC s skriptem nasazení HPC Pack IaaS.
Důležité informace o nasazení výpočetních uzlů podporujících RDMA najdete v tématu Velikosti virtuálních počítačů s vysokým výkonem a poznamenejte si následující:
Virtuální síť: Zadejte novou virtuální síť v oblasti, ve které je k dispozici velikost H-series, A8 nebo A9, kterou chcete použít. Podívejte se na produkty Azure podle oblasti.
Operační systém Windows Server: Pokud chcete podporovat připojení RDMA, zadejte kompatibilní operační systém Windows Server, například Windows Server 2012 R2 pro virtuální počítače výpočetních uzlů.
Cloudové služby: Protože skript používá model nasazení Classic, nasazují se virtuální počítače clusteru pomocí cloudových služeb Azure (
ServiceName
nastavení v konfiguračním souboru). Doporučujeme nasadit hlavní uzel do jedné cloudové služby a výpočetních uzlů v jiné cloudové službě.Velikost hlavního uzlu: Pro tento scénář zvažte velikost alespoň A4 (Extra Large) hlavního uzlu.
Rozšíření HpcVmDrivers: Skript nasazení nainstaluje agenta virtuálního počítače Azure a rozšíření HpcVmDrivers automaticky, když nasadíte výpočetní uzly A8 nebo A9 s operačním systémem Windows Server. HpcVmDrivers instaluje ovladače na virtuální počítače výpočetních uzlů, aby se mohli připojit k síti RDMA. Na virtuálních počítačích řady H-series s podporou RDMA musíte ručně nainstalovat rozšíření HpcVmDrivers. Podívejte se na velikosti virtuálních počítačů s vysokým výkonem.
Konfigurace sítě clusteru: Skript nasazení automaticky nastaví cluster HPC Pack v topologii 5 (všechny uzly v podnikové síti). Tato topologie se vyžaduje pro všechna nasazení clusteru HPC Pack ve virtuálních počítačích. Později nezměníte topologii sítě clusteru.
Online spuštění úloh výpočetních uzlů
Vyberte uzly a použijte akci Přenést online ve Správci clusteru HPC. Uzly jsou připravené ke spuštění úloh.
Odeslání úloh do clusteru
Připojte se k hlavnímu uzlu a odešlete úlohy nebo nastavte místní počítač, aby to udělal. Informace najdete v tématu Odeslání úloh do clusteru HPC v Azure.
Převést uzly do offline režimu a zastavit je (uvolnit)
Po dokončení spuštěných úloh převezměte uzly offline ve Správci clusteru HPC. Pak je pomocí nástrojů pro správu Azure vypněte.
Spouštění aplikací MPI v clusteru
Příklad: Spuštění mpipingpongu v clusteru HPC Pack
Pokud chcete ověřit nasazení sady HPC Pack instancí podporujících RDMA, spusťte v clusteru příkaz MPIpingpong sady HPC Pack. mpipingpong odesílá pakety dat mezi spárovanými uzly opakovaně za účelem výpočtu latence a měření propustnosti a statistiky pro aplikační síť s podporou RDMA. Tento příklad ukazuje typický vzor pro spuštění úlohy MPI (v tomto případě mpipingpong) pomocí příkazu mpiexec clusteru.
Tento příklad předpokládá, že jste přidali uzly Azure do konfigurace "burst to Azure" ([Scénář 1](#scenario-1.-deploy-compute-intensive-worker-role-instances-(PaaS) v tomto článku). Pokud jste nasadili sadu HPC Pack do clusteru virtuálních počítačů Azure, budete muset upravit syntaxi příkazu tak, aby určila jinou skupinu uzlů a nastavila další proměnné prostředí tak, aby směrovaly síťový provoz do sítě RDMA.
Spuštění příkazu mpipingpong v clusteru:
Na hlavním uzlu nebo na správně nakonfigurovaném klientském počítači otevřete příkazový řádek.
Pokud chcete odhadnout latenci mezi páry uzlů v nasazení azure se čtyřmi uzly, zadejte následující příkaz, kterým odešlete úlohu, která spustí mpipingpong s malou velikostí paketů a mnoha iteracemi:
job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 1:100000 -op -s nul
Příkaz vrátí ID odeslané úlohy.
Pokud jste nasadili cluster HPC Pack nasazený na virtuální počítače Azure, zadejte skupinu uzlů obsahující virtuální počítače výpočetních uzlů nasazené v jedné cloudové službě a upravte příkaz mpiexec následujícím způsobem:
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 nul
Po dokončení úlohy zobrazte výstup (v tomto případě výstup úlohy 1 úlohy), zadejte následující:
task view <JobID>.1
kde <JobID> je ID úlohy, která byla odeslána.
Výstup zahrnuje výsledky latence podobné následujícímu.
Pokud chcete odhadnout propustnost mezi páry uzlů s nárůstem kapacity Azure, zadejte následující příkaz, kterým odešlete úlohu pro spuštění příkazu mpipingpong s velkou velikostí paketů a několika iteracemi:
job submit /nodegroup:azurenodes /numnodes:4 mpiexec -c 1 -affinity mpipingpong -p 4000000:1000 -op -s nul
Příkaz vrátí ID odeslané úlohy.
V clusteru HPC Pack nasazeného na virtuálních počítačích Azure upravte příkaz, jak je uvedeno v kroku 2.
Po dokončení úlohy zobrazte výstup (v tomto případě výstup úlohy 1 úlohy), zadejte následující:
task view <JobID>.1
Výstup zahrnuje výsledky propustnosti podobné následujícímu.
Důležité informace o aplikacích MPI
Následují důležité informace o spouštění aplikací MPI s využitím sady HPC Pack v Azure. Některé se vztahují jenom na nasazení uzlů Azure (instance rolí pracovního procesu přidané v konfiguraci "shluků do Azure").
Instance rolí pracovního procesu v cloudové službě se pravidelně znovu zopakují bez upozornění v Azure (například pro údržbu systému nebo v případě selhání instance). Pokud je instance při spuštění úlohy MPI znovu zřízený, instance ztratí data a vrátí se do stavu při prvním nasazení, což může způsobit selhání úlohy MPI. Čím více uzlů používáte pro jednu úlohu MPI, a čím déle se úloha spustí, tím pravděpodobnější je, že jedna z instancí se při spuštění úlohy znovu zprovozní. Zvažte to také v případě, že určíte jeden uzel v nasazení jako souborový server.
Pokud chcete spouštět úlohy MPI v Azure, nemusíte používat instance podporující RDMA. Můžete použít libovolnou velikost instance podporovanou sadou HPC Pack. Instance podporující RDMA se ale doporučují pro spouštění relativně rozsáhlých úloh MPI, které jsou citlivé na latenci a šířku pásma sítě, která tyto uzly připojuje. Pokud ke spouštění úloh MPI citlivých na latenci a šířku pásma používáte jiné velikosti, doporučujeme spouštět malé úlohy, ve kterých se jedna úloha spouští jenom na několika uzlech.
Aplikace nasazené do instancí Azure podléhají licenčním podmínkám přidruženým k aplikaci. S dodavateli komerčních aplikací se vždy poraďte ohledně licencování a dalších omezení při spouštění v cloudu. Ne všichni dodavatelé nabízejí licencování formou průběžných plateb.
Instance Azure potřebují další nastavení pro přístup k místním uzlům, sdíleným složkám a licenčním serverům. Pokud například chcete uzlům Azure povolit přístup k místnímu licenčnímu serveru, můžete nakonfigurovat virtuální síť Azure typu site-to-site.
Pokud chcete spouštět aplikace MPI na instancích Azure, zaregistrujte každou aplikaci MPI ve službě Windows Firewall na instancích spuštěním příkazu hpcfwutil . Díky tomu může komunikace MPI probíhat na portu, který je dynamicky přiřazen bránou firewall.
Poznámka
V případě rozšíření nasazení Do Azure můžete také nakonfigurovat příkaz výjimky brány firewall tak, aby se spouštěl automaticky na všech nových uzlech Azure, které se přidají do vašeho clusteru. Po spuštění příkazu hpcfwutil a ověření, že vaše aplikace funguje, přidejte příkaz do spouštěcího skriptu pro uzly Azure. Další informace najdete v tématu Použití spouštěcího skriptu pro uzly Azure.
Sada HPC Pack používá proměnnou prostředí clusteru CCP_MPI_NETMASK k určení rozsahu přijatelných adres pro komunikaci MPI. Počínaje verzí HPC Pack 2012 R2 ovlivňuje proměnná prostředí clusteru CCP_MPI_NETMASK pouze komunikaci MPI mezi výpočetními uzly clusteru připojenými k doméně (místně nebo na virtuálních počítačích Azure). Proměnná je ignorována uzly přidanými v rozšíření konfigurace Azure.
Úlohy MPI nemůžou běžet napříč instancemi Azure, které jsou nasazené v různých cloudových službách (například v rozšíření nasazení do Azure s různými šablonami uzlů nebo výpočetními uzly virtuálních počítačů Azure nasazenými ve více cloudových službách). Pokud máte několik nasazení uzlů Azure, která jsou spuštěná s různými šablonami uzlů, musí úloha MPI běžet jenom na jedné sadě uzlů Azure.
Když do clusteru přidáte uzly Azure a přenesete je do režimu online, služba Plánovač úloh HPC se okamžitě pokusí spustit úlohy na uzlech. Pokud v Azure může běžet jenom část úloh, ujistěte se, že aktualizujete nebo vytvoříte šablony úloh, abyste definovali, jaké typy úloh se dají v Azure spouštět. Pokud chcete například zajistit, aby se úlohy odeslané pomocí šablony úlohy spouštěly pouze na uzlech Azure, přidejte do šablony úlohy vlastnost Skupiny uzlů a jako požadovanou hodnotu vyberte Uzly Azure. Pokud chcete vytvořit vlastní skupiny pro uzly Azure, použijte Add-HpcGroup rutinu Prostředí PowerShell prostředí HPC.
Další kroky
- Alternativou k používání sady HPC Pack je vývoj se službou Azure Batch pro spouštění aplikací MPI ve spravovaných fondech výpočetních uzlů v Azure. Viz Použití úloh s více instancemi ke spouštění aplikací MPI (Message Passing Interface) v Azure Batch.