Dela via


Azure Well-Architected Framework för HPC

Planen för azure-databehandling med höga prestanda (HPC) beskriver en process för att rationalisera ditt scenario, prioritera tekniska insatser och identifiera arbetsbelastningar. För många av arbetsbelastningarna är det viktigt att följa en uppsättning arkitekturprinciper. Dessa principer hjälper till att vägleda utveckling och optimering av arbetsbelastningarna. De fem arkitekturkonstruktionerna beskrivs i Azure Well-Architected Framework. Den här vägledningen ger en sammanfattning av hur du kan tillämpa dessa principer på hanteringen av dina dataarbetsbelastningar.

Tillförlitlighet

Allt har potential att gå sönder. Datapipelines är inget undantag. Fantastiska arkitekturer är utformade med tillgänglighet och återhämtning i åtanke. De viktigaste övervägandena är hur snabbt du kan identifiera ändringar och hur snabbt du kan återuppta åtgärder.

Din datamiljö bör överväga motståndskraftiga arkitekturer, redundans mellan regioner, servicenivåavtal (SLA) och kritiskt stöd. Den befintliga miljön bör också omfatta granskning, övervakning och aviseringar med hjälp av integrerad övervakning och ett meddelanderamverk.

Utöver dessa miljökontroller bör arbetsbelastningsteamet överväga följande:

  • Gör fler arkitekturändringar för att förbättra servicenivåavtal.
  • Konfigurera redundant arbetsbelastningsspecifik arkitektur.
  • Upprätta processer för övervakning och meddelanden utöver vad molndriftsteamen tillhandahåller.

ExpressRoute-hybridanslutning

För att stödja verksamhetskritiska HPC-arbetsbelastningar använder du en konfiguration med hög tillgänglighet i Azure ExpressRoute. Även i en enda plats, med hög tillgänglighet där du kan ha en redundant ExpressRoute-anslutning, skyddar den dig inte mot avbrott på en gränsplats. När du aktiverar två anslutningar på två anläggningar låter redundansen ditt företag fortsätta om det uppstår en katastrof på den primära platsen. Med hög tillgänglighet i ExpressRoute kan du säkerställa anslutningen till Azure om ett ExpressRoute-avbrott inträffar i en enda region.

Rekommendationer

  • Aktivera två ExpressRoute-kretsar på två olika Platser för ExpressRoute-gränsen för maximal redundans.
    • Den här konfigurationen kräver att du etablerar två ExpressRoute-kretsar i Azure-portalen för de två olika Platserna för ExpressRoute-gränsenheter. Sedan ansluter du båda ExpressRoute-kretsarna till samma virtuella hubbnätverk i Azure.
    • Placera de två gränsplatsplatserna i samma Azure-region. Det är det som ger redundansen om någon av peeringplatserna misslyckas. Båda ExpressRoute-anslutningarna avslutas i samma virtuella hubbnätverk i Azure. Visa listan över ExpressRoute-platser och anslutningspartner för att planera dina ExpressRoute-peeringplatser.
    • Arbeta med providern för att konfigurera den andra ExpressRoute-webbplatsen.
    • Se till att den andra anslutningen fungerar genom att växla trafik över till den andra platsen, vilket är kritiskt. Utför regelbundna övningar för att säkerställa anslutningen.

Mer information om en expressroute-konfiguration med maximal återhämtning finns i Design för haveriberedskap med ExpressRoute.

Säkerhet

Tillämpa säkerhetsprinciper på din HPC-miljö för att skydda mot avsiktliga attacker och missbruk av dina värdefulla data och system. Titta på hur du skyddar avbildningar av användaroperativsystem och användaråtkomst och följer säkerhetsriktlinjerna för Azure Batch och Azure CycleCloud. Mer information finns i Principer för säkerhetspelare.

Operativsystemavbildningar

Azure Marketplace tillhandahåller Linux-baserade HPC-avbildningar att använda i klustret. Dessa avbildningar innehåller många populära bibliotek, programvarupaket och diagnostikverktyg som:

  • InfiniBand-baserade MPI-bibliotek (Message Passing Interface).
  • Mellanox OFED.
  • Förkonfigurerad IP-adress via InfiniBand.
  • Kommunikationskörningar.
  • Intel/AMD-optimerade bibliotek.
  • Diagnostikverktyg för Azure HPC.

Du kan börja med bilderna och sedan tillämpa organisationens säkerhetsprinciper för att stärka programvarubilder mot sårbarheter och cyberhot. Efter valideringen kan du spara den nya avbildningen i Azure Compute Gallery. Du kan sedan använda avbildningen för att skapa virtuella datorer i Azure CycleCloud, Azure HPC och Batch.

Användaråtkomst

  • Definiera tydliga ansvarslinjer och ansvarsfördelning för varje funktion.
  • Begränsa åtkomsten baserat på kunskapsbehov och säkerhetsprinciper med minsta möjliga behörighet.
  • Tilldela behörigheter till användare, grupper och program i ett visst omfång via rollbaserad åtkomstkontroll i Azure. Använd inbyggda roller när det är möjligt.
  • Förhindra borttagning eller ändring av en resurs, resursgrupp eller prenumeration via hanteringslås.
  • Använd hanterade identiteter för att komma åt resurser i Azure.
  • Stöd för en enda företagskatalog. Håll molnet och lokala kataloger synkroniserade, förutom konton med kritisk påverkan.
  • Konfigurera villkorsstyrd åtkomst för Microsoft Entra. Framtvinga och mäta viktiga säkerhetsattribut när du autentiserar alla användare, särskilt för konton med kritisk påverkan.
  • Använd lösenordslösa metoder eller välj moderna lösenordsmetoder.
  • Blockera äldre protokoll och autentiseringsmetoder.

Azure Batch-säkerhet

Följ metodtipsen för att aktivera säkerhet för Batch.

Azure CycleCloud-säkerhet

Följ metodtipsen för att aktivera säkerhet för Azure CycleCloud.

Kostnadsoptimering

För att få ut mesta möjliga av att köra din miljö i Azure prioriterar du kostnadshantering och planeringsövningar i förväg. Kostnadshantering och planering är vanligtvis de viktigaste övervägandena för en organisations lyckade molnmigreringsresa. Med Microsoft Cost Management får du verktyg för att planera, analysera och minska utgifterna för att maximera din molninvestering. Mer information om hur du kan planera och optimera dina molnkostnader finns i Metodtips för kostnadshanteringsfakturering. Följande överväganden är några av de viktigaste när det gäller kostnadsoptimering.

Val av operativsystem

Linux är det dominerande operativsystemet för HPC-arbetsbelastningar. Linux är öppen källkod och justerat för prestanda för att använda HPC-infrastrukturen. MPI-biblioteken och Infiniband-drivrutinerna fungerar alltså bra i Linux jämfört med Windows. Genom att använda virtuella Linux-datorer (VM) jämfört med Windows för att konfigurera ett HPC-kluster kan det definitivt spara kostnader. Men vissa användare kan ha en stark inställning för en Windows-miljö, särskilt när de utför förbearbetnings- och efterbearbetningsuppgifterna i arbetsbelastningar som beräkningsvätskedynamik. I det här fallet rekommenderar vi att en Windows-klientdel skickar jobb till en Linux-värd, en huvudnod, som använder beräkningsnoderna för simuleringar.

Automatisk skalning

Med autoskalning kan du bara konfigurera och använda virtuella datorer när du skickar ett jobb eller när ett jobb är aktivt. När jobbet är klart inaktiveras noderna automatiskt. Genom att använda autoskalning justerar du beräkningsresurser som används av ditt program, vilket kan spara tid och pengar. Azure CycleCloud har automatisk skalning aktiverat i sina schemaläggare som standard. Standardtiden för att stänga av noderna är 15 minuter. Du kan anpassa tidsgränsen. Tidsgränsen hjälper till att se till att användarna bara betalar för det de använder. Batch tillhandahåller en mekanism för att integrera en autoskalningsformel med ett val av parametrar. Mer information finns i Komma igång med autoskalning i Azure.

Betala per användning jämfört med reserverade instanser och instanser av oanvänd kapacitet

Azure tillhandahåller olika prisalternativ, betala per användning, reserverad instans med ett- eller treåriga alternativ och spotinstanser som omfattas av den tillgängliga kapaciteten i datacentret. Betala per användning-instanser är kostnadseffektiva eftersom de tillgodoser sporadisk efterfrågan på kapacitet. Reserverade instanser kan visa sig vara kostnadseffektiva om det finns en kontinuerlig efterfrågan på HPC eller om det finns många program som körs på Azure HPC. Båda passar bra för produktionsklara arbetsbelastningar. Spot-instanser är bra för kort testning och experimentering eller om ditt program behöver kontrollpunkter, till exempel genomik. Spot-instanser omfattas av den kapacitet som är tillgänglig i datacentret. Prissättningen beror på dessa faktorer. Du kan ta bort instanser av oanvänd kapacitet med minsta varsel.

Dartaklassificering

HPC-arbetsbelastningar drar nytta av lagring med högt dataflöde. Du kan till exempel använda Azure Managed Lustre, Azure Net App Files eller BeeGFS Parallel File System. Dessa lagringstjänster ger prestanda men kan komma till en kostnad. Det är viktigt att klassificera dina data i förväg så att endast programspecifika data finns i dessa system. Alla andra data kan finnas i lågkostnadslagringslösningar som Azure Data Lake Storage eller Azure Blob Storage.

Dessutom kan det vara användbart att konfigurera HPC-lagringssystem på begäran för att säkerställa att data synkroniseras till en lågkostnadslagringstjänst som Blob Storage. Lagring på begäran hjälper till att säkerställa att data bevaras i Blob Storage när lagringssystemet med höga prestanda är inaktiverat. Managed Lustre och Net App Files erbjuder en synkroniseringstjänst.

Ange budgetar

Med Azure CycleCloud kan du ange budgetar per kluster och skicka meddelanden till mottagare om de är nära att förbruka budgetarna. För Batch kan du skapa budgetar och utgiftsaviseringar för dina Batch-pooler eller Batch-konton från Azure-portalen. Budgetar och aviseringar är användbara för att meddela intressenter om eventuella risker med överförbrukning, även om det är möjligt att utgiftsaviseringar fördröjs och att en budget överskrids något.

Driftsäkerhet

När du håller dina HPC-program igång i produktion måste distributionerna vara tillförlitliga och förutsägbara. Tillförlitliga och förutsägbara distributioner består av automatisering av HPC-arbetsbelastningar med IaC-lösningar (infrastruktur som kod). Du måste också utföra nodhälsokontroller för att analysera och övervaka dina HPC-arbetsbelastningar.

Mer information om distributionsförslag finns i Rekommendationer för att använda infrastruktur som kod. Mer information om övervakningsförslag finns i Rekommendationer för att utforma och skapa ett övervakningssystem.

Infrastruktur som kod

HPC på Azure distribuerar flera resurser som Azure CycleCloud, HPC-kluster, lagring, visualiseringsnoder, licensservrar och så vidare. För att automatisera distributionen rekommenderar vi att du använder branschstandardverktyg som Terraform, Ansible och Packer för att förenkla processen.

Hälsokontroll för nod

Azure Managed Grafana är en fullständigt hanterad tjänst för analys- och övervakningslösningar. Grafana Labs stöder Grafana och tillhandahåller utökningsbara datavisualiseringar. Du kan integrera den här lösningen i HPC-arbetsbelastningarna som exempel. Mer information finns i Azure HPC OnDemand-plattformen.

Prestandaeffektivitet

Se till att din HPC-miljö kan skalas effektivt så att den kan uppfylla användarnas krav. Välj rätt plattform för dina HPC-program baserat på rekommendationerna från programleverantören. Investera i kapacitetsplanering om du behöver extra infrastruktur för att möta efterfrågan. Övervaka prestanda för HPC-infrastrukturen när användarna använder systemet.

Mer information finns i artiklarna om prestandaeffektivitet.

Välj rätt plattform för HPC-programmet

Azure erbjuder en mängd olika plattformar för virtuella datorer baserat på Intel, AMD CPU och NVIDIA och AMD GPU. Även om de flesta av programmen är kompatibla med det som är tillgängligt kan vissa bara dra nytta av en viss typ av CPU eller GPU. Innan du distribuerar infrastrukturen till molnet är det viktigt att ha en rekommendation från programleverantören (ISV) för att förstå följande behov.

  • Om programmet är minnesbundet, CPU-bundet eller GPU-bundet
  • Om de har någon rekommendation om någon typ av PROCESSOR- eller GPU-arkitektur för prestanda
  • Om det finns en typ av MPI och dess version som deras program kan dra nytta av
  • Om det finns en rekommendation för scheduler-typen
  • Om det finns en rekommendation om IOPS/dataflödet från parallella filsystem

Investera i kapacitetsplanering

Baserat på typen av program och dess licensvillkor kontrollerar du om licensen är inställd på att använda ett visst antal kärnor. Utvärdera din investering för att aktivera licensen för att tillgodose HPC och planera sedan din kapacitet därefter.

Övervaka infrastrukturens prestanda

  • Det är viktigt att kunna spåra hur användarna använder systemet, spåra resursanvändning och i allmänhet övervaka systemets hälsa och prestanda. Du kan använda den här informationen som ett diagnostiskt stöd för att identifiera och korrigera problem, och för att upptäcka potentiella problem och förhindra att de uppstår. En översikt över de Azure-komponenter och -tjänster som är tillgängliga för att övervaka dina resurser finns i Översikt över Azure Monitor.
  • Monitor är ett bra verktyg för att identifiera om det finns några flaskhalsar i de virtuella datorinstanserna och lagringen.
  • Lagringsbegränsning kan göra att program saktar ned avsevärt och påverkar prestanda. Begränsning sker när indata- och utdataåtgärder i lagringen överskrider de dataflödesgränser som du anger. Azure Storage-tjänster erbjuder diagram över läs- och skrivåtgärder för att övervaka om det finns några problem med begränsning.
  • Azure CycleCloud integreras med Azure-tjänster som Monitor och Microsoft Cost Management-verktyg. Det stöder också övervakning av externa tjänster via dess anslutningsbara arkitektur. Mer information finns i Övervakning.
  • Om du använder Batch är Batch Explorer dessutom ett kostnadsfritt, omfattande, fristående klientverktyg som hjälper dig att skapa, felsöka och övervaka Batch-program.

Nästa steg