CycleCloud: Grundläggande begrepp

Som mest grundläggande är ett HPC-system (High Performance Computing) en pool med beräkningsresurser som backas upp av högpresterande filsystem och sammanlänkas av nätverk med låg latens. Dessa beräkningsresurser hanteras vanligtvis av HPC Schedulers, program som schemalägger jobb.

Att skapa enskilda HPC-system i Azure från grundläggande infrastrukturenheter som Virtual Machines, diskar och nätverksgränssnitt kan vara besvärligt, särskilt om dessa resurser är tillfälliga – befintliga endast under den tid som krävs för att lösa HPC-uppgiften. Dessutom vill operatörer skapa flera, separata HPC-miljöer som kan skräddarsys för olika affärsenheter, forskargrupper eller individer. Det kan vara driftskomplext att hantera dessa flera HPC-system.

Vad är CycleCloud?

Azure CycleCloud är ett verktyg som hjälper dig att skapa HPC-system i Azure. Det samordnar dessa system så att de storleksmässigt enligt HPC uppgifter till hands, utan att behöva hantera grundläggande Azure byggstenar. CycleCloud är utformat av ett team med erfarna HPC-proffs för HPC-administratörer och användare, särskilt användare som letar efter att skapa HPC-system i Azure som liknar intern HPC-infrastruktur som de är bekanta med.

Orkestreringsdiagram

CycleCloud är en programserver som installeras på en virtuell Linux-dator i Azure eller på en lokal server som har åtkomst till Azure-API:er och resurser. CycleCloud hämtar och etablerar virtuella Azure-datorer för att skapa CycleCloud-kluster som kan integrera schemaläggare och användarprogram. CycleCloud tillhandahåller även automatisk skalningsintegrering för ett antal HPC-schemaläggare och en CycleCloud-agent som körs på virtuella Azure-datorer.

Programserver

Den här programservern tillhandahåller:

  1. Ett REST-API för att skapa och hantera HPC-system i Azure.
  2. Ett grafiskt användargränssnitt som gör att en användare kan hantera och övervaka HPC-system.
  3. Ett CLI som underlättar integrering av CycleCloud i befintliga arbetsflöden.
  4. Ett internt NoSQL-datalager som cachelagrar kluster- och nodtillstånd.
  5. Ett allokerings- och orkestreringssystem som hämtar och hanterar virtuella Azure-datorer
  6. Ett nodövervakningssystem för befintliga virtuella datorer som aviserar om statusändringar.

Integreringar

CycleCloud tillhandahåller också ett antal integreringar i vanliga schemaläggare och virtuella Azure-datorer. Du anger:

  1. Ett nodförberedelse- och konfigurationssystem för att konvertera en etablerad virtuell dator till en HPC-nod.
  2. Automatisk skalning för HPC-schemaläggare som översätter HPC Scheduler-uppgiftskrav till Azure-resurser.

Vad kan CycleCloud göra

CycleCloud riktar sig till HPC-operatörer (administratörer och användare) som distribuerar HPC-system i Azure och som vill replikera infrastruktur som de har kört internt, från HPC-schemaläggaren till monteringspunkter för filsystem för programinstallationer och dataåtkomst. Dessa användare tittar särskilt på stödprogram, arbetsflödesmotorer och beräkningspipelines utan att behöva retuschera sina interna processer.

CycleCloud tillhandahåller en omfattande och deklarativ templatingsyntax som gör det möjligt för användare att beskriva sitt HPC-system, från klustertopologin (antalet och typerna av klusternoder) ned till monteringspunkterna och programmen som ska distribueras på varje nod. CycleCloud är utformat för att fungera med HPC-schemaläggare som PBSPro, Slurm, IBM LSF, Grid Engine och HT Condor, så att användarna kan skapa olika köer i varje schemaläggare och mappa dem till beräkningsnoder i olika VM-storlekar i Azure. Dessutom är plugin-program för automatisk skalning integrerade med schemaläggarens huvudnoder som lyssnar på jobbköer i varje system och ändrar storleken på beräkningsklustret genom att interagera med rest-API:et för automatisk skalning som körs på programservern.

Förutom att etablera och skapa HPC-noder tillhandahåller CycleCloud även ett ramverk för att förbereda och konfigurera en virtuell dator, vilket i huvudsak ger ett system för att konvertera en virtuell dator utan operativsystem till en funktionell komponent i ett HPC-system. Med det här ramverket kan användarna utföra konfiguration av sista milen på en virtuell dator.

Dessutom tillhandahåller CycleCloud följande funktioner:

  • Användaråtkomst

    CycleCloud har inbyggt stöd för att skapa lokala användarkonton på varje nod i ett HPC-system. Med det här systemet kan användaråtkomst styras via ett enda hanteringsplan utan att distribuera en katalogtjänst.

  • Övervakning

    Mått på nodnivå samlas in och visas i CycleCloud-användargränssnittet. Dessa är användbara för att övervaka belastningen på systemet och kan kopplas till rapporterings- och aviseringstjänster.

  • Loggning

    CycleCloud tillhandahåller ett system för loggning av aktiviteter och händelser på nod- och programservernivå.

  • Portabilitet

    Systemet kräver inte att en specifik VM-avbildning eller operativsystem ska användas. CycleCloud stöder de större Windows- och Linux-operativsystemen på HPC-noder. Dessutom kan användarna skapa en egen VM-avbildning och använda den i sitt HPC-system.

  • Infrastruktur som kod

    Eftersom allt som skapas i CycleCloud definieras i mallar och konfigurationsskript är HPC-system som distribueras via CycleCloud repeterbara och portabla. Detta ger operatorerna konsekvens vid distribution av HPC-system i olika miljöer: Sandbox, Development, Test och Production. Operatörer kan också distribuera identiska HPC-system för olika företagsgrupper eller team för att separera redovisningsproblem.

  • Löst kopplade eller nära kopplade arbetsbelastningar

    HPC-kluster som skapats av CycleCloud är utformade inte bara för att stödja löst kopplade eller pinsamt parallella jobb där skalning (klustrets storlek) är det främsta problemet. CycleCloud-kluster är också utformade med Azures Infiniband-stamnät i åtanke, med stöd för nära kopplade eller MPI-baserade arbetsbelastningar där nodernas närhet och nätverksfördröjning är avgörande. Dessa utskalningskoncept och nära kopplade begrepp är inrotade i de scheduler-integreringar som CycleCloud stöder.