Cluster HPC distribuito nel cloud

Pipelines
Archiviazione BLOB
Batch
Monitoraggio

Le applicazioni HPC (High Performance Computing) possono essere ridimensionate in migliaia di core di calcolo, estendere il big compute locale o essere eseguite come soluzione nativa del cloud al 100%. Questa soluzione HPC si basa sul servizio gestito di Azure: Azure Batche avviata da un Azure Pipelines processo. Questi servizi vengono eseguiti in un ambiente a disponibilità elevata, con patch e supporto, consentendo di concentrarsi sulla soluzione anziché sull'ambiente in cui vengono eseguiti.

Architettura

Diagramma dell'architetturaScaricare un SVG di questa architettura.

La soluzione prevede i passaggi seguenti:

  1. Azure Pipelines avvia una pipeline che compila il progetto di codice del team e lo archivia come eseguibile in Archiviazione di Azure
  2. Il processo della pipeline continua caricando alcuni dati di elaborazione nell'account di archiviazione.
  3. Infine, Azure Pipelines che il servizio Azure Batch avviare il processo di elaborazione, completando la pipeline.
  4. Il Azure Batch copia i file eseguibili del programma e i dati di input dall'archiviazione e lo assegna a un pool di nodi di calcolo
  5. Il servizio Batch esegue la gestione dei processi e delle attività per il pool, riprovando o riassegnando le attività quando i nodi completano il lavoro.
  6. Quando i nodi di calcolo funzionano, Monitoraggio di Azure dati sulle prestazioni dal pool (CPU, memoria, I/O del disco) e dai file di log. Il team può studiare questi dati di telemetria per creare processi migliori in futuro.
  7. Quando i nodi di calcolo completano le attività, i dati del programma vengono restituiti Archiviazione di Azure per la revisione del team.

Componenti

  • Azure Pipelines compila e testa i progetti di codice e avvia i processi HPC nel Azure Batch servizio.
  • Archiviazione di Azure ospita i dati HPC e i file eseguibili usati in un processo.
  • Azure Batch pianifica i processi e le attività in un numero elevato di nodi e gestisce tutte le risorse di calcolo.
  • Le macchine virtuali di Azure vengono eseguite come worker, eseguendo le attività di calcolo.
  • La rete virtuale fornisce la connettività IP tra le risorse di calcolo e gli altri servizi cloud, oltre qualsiasi comunicazione nativa infiniband o RDMA.
  • Monitoraggio di Azure le metriche delle prestazioni e i log dalle risorse cloud per report, avvisi e risposta automatica.

Considerazioni

I pool di calcolo batch non devono contenere hardware di base. Le macchine virtuali specializzate con processori GPU e rete avanzata possono essere usate da Azure Batch. Sono disponibili macchine virtuali ottimizzate per GPU con GPU NVIDIA Tesla e rete Infiniband ad alta velocità effettiva.

I pool di calcolo batch possono ridimensionareautomaticamente , che aumenta e riduce il numero di nodi nel pool in base alla quantità di lavoro. Anziché pagare per i membri del pool inutilizzati, la scalabilità automatica può ridurre i costi di calcolo di un processo solo alle risorse che eseguono attività.

Prezzi

Per esplorare i costi di esecuzione di questo scenario, usare il calcolatore prezzi di Azure,che preconfigura tutti i servizi di Azure.

Azure Batch è un servizio gratuito e i clienti pagano solo per i costi di macchina virtuale, archiviazione e rete sottostanti. In questa soluzione sono previsti costi aggiuntivi per i Azure Pipelines e Monitoraggio di Azure servizio. In particolare Azure Batch, tuttavia, è un'opzione per acquistare software di rendering della grafica (ad esempio Autodesk Maya e Chaos Group V-Ray) a una frequenza al minuto. Per informazioni dettagliate, Azure Batch prezzi.

Passaggi successivi