Condividi tramite


Azure Well-Architected Framework per HPC

Il piano per HPC (High Performance Computing) di Azure descrive un processo per razionalizzare lo scenario, classificare in ordine di priorità le attività tecniche e identificare i carichi di lavoro. Per molti dei carichi di lavoro, è importante rispettare un set di principi architetturali. Questi principi guidano lo sviluppo e l'ottimizzazione dei carichi di lavoro. I cinque costrutti dell'architettura sono descritti in dettaglio in Well-Architected Framework di Azure. Queste linee guida offrono un riepilogo delle procedure di applicazione di questi principi alla gestione dei carichi di lavoro di dati.

Affidabilità

Tutto ha il potenziale di rompere. Le pipeline di dati non fanno eccezione. Le grandi architetture sono progettate tenendo conto della disponibilità e della resilienza. Le considerazioni principali sono la velocità con cui è possibile rilevare le modifiche e la velocità con cui è possibile riprendere le operazioni.

L'ambiente dati deve prendere in considerazione le architetture resilienti, le ridondanze tra aree, il livello di servizio, i contratti di servizio e il supporto critico. L'ambiente esistente deve includere anche il controllo, il monitoraggio e la generazione di avvisi usando il monitoraggio integrato e un framework di notifica.

Oltre a questi controlli ambientali, il team del carico di lavoro deve considerare:

  • Ulteriori modifiche all'architettura per migliorare i contratti di servizio a livello di servizio.
  • Configurazione di un'architettura specifica del carico di lavoro ridondante.
  • Definizione di processi per il monitoraggio e la notifica oltre a quanto fornito dai team operativi cloud.

Connettività ExpressRoute ibrida

Per supportare carichi di lavoro HPC cruciali, usare una configurazione a disponibilità elevata di Azure ExpressRoute. Anche in un singolo sito, la configurazione a disponibilità elevata in cui potrebbe essere presente una connessione ExpressRoute ridondante non protegge da tempi di inattività del sito perimetrale singolo. Quando si abilitano due connessioni in due strutture, la ridondanza consente all'azienda di continuare in caso di emergenza nella posizione primaria. Usando la disponibilità elevata di ExpressRoute, è possibile garantire la connettività ad Azure se si verifica un'interruzione di ExpressRoute in una singola area.

Consigli

  • Abilitare due circuiti ExpressRoute in due posizioni del sito perimetrale ExpressRoute diverse per garantire la massima ridondanza.
    • Questa configurazione richiede di stabilire due circuiti ExpressRoute nel portale di Azure per le due diverse posizioni del sito perimetrale di ExpressRoute. Si connettono quindi entrambi i circuiti ExpressRoute alla stessa rete hub virtuale in Azure.
    • Posizionare le due posizioni del sito perimetrale nella stessa area di Azure. È ciò che fornisce la ridondanza in caso di errore di una delle posizioni di peering. Entrambe le connessioni ExpressRoute terminano nella stessa rete hub virtuale in Azure. Visualizzare l'elenco di località e partner di connettività di ExpressRoute per pianificare le posizioni di peering di ExpressRoute.
    • Collaborare con il provider per configurare il secondo sito ExpressRoute.
    • Assicurarsi che la seconda connessione funzioni eseguendo il failover del traffico verso la seconda posizione, che è fondamentale. Eseguire esercitazioni regolari per garantire la connettività.

Per altre informazioni su una configurazione ExpressRoute con resilienza massima, vedere Progettare per il ripristino di emergenza con ExpressRoute.

Sicurezza

Applicare principi di sicurezza all'ambiente HPC per fornire misure di sicurezza contro attacchi intenzionali e abusi dei dati e dei sistemi preziosi. Esaminare la protezione delle immagini del sistema operativo utente e dell'accesso degli utenti e seguire le linee guida per la sicurezza di Azure Batch e Azure CycleCloud. Per altre informazioni, vedere Principi del pilastro della sicurezza.

Immagini del sistema operativo

Azure Marketplace offre immagini HPC basate su Linux da usare nel cluster. Queste immagini contengono molte librerie, pacchetti software e strumenti di diagnostica comuni, ad esempio:

  • Librerie MPI (Message Passing Interface) basate su InfiniBand.
  • Mellanox OFED.
  • IP preconfigurato su InfiniBand.
  • Runtime di comunicazione.
  • Librerie ottimizzate per Intel/AMD.
  • Strumenti di diagnostica HPC di Azure.

È possibile iniziare con le immagini e quindi applicare i criteri di sicurezza dell'organizzazione per rafforzare le immagini software contro vulnerabilità e minacce informatiche. Dopo la convalida, è possibile salvare la nuova immagine nella raccolta di calcolo di Azure. È quindi possibile usare l'immagine per creare macchine virtuali in Azure CycleCloud, Azure HPC e Batch.

Accesso utente

  • Definire linee chiare per la responsabilità e la separazione dei compiti per ogni funzione.
  • Limitare l'accesso in base ai principio di necessità e al principio dei privilegi minimi in materia di sicurezza.
  • Assegnare autorizzazioni a utenti, gruppi e applicazioni in un determinato ambito tramite il controllo degli accessi in base al ruolo di Azure. Usare i ruoli predefiniti quando possibile.
  • Impedire l'eliminazione o la modifica di una risorsa, un gruppo di risorse o una sottoscrizione tramite blocchi di gestione.
  • Usare le identità gestite per accedere alle risorse in Azure.
  • Supportare una singola directory aziendale. Mantenere sincronizzate le directory cloud e locali, ad eccezione degli account con impatto critico.
  • Configurare l'accesso condizionale Microsoft Entra. Applicare e misurare gli attributi di sicurezza chiave durante l'autenticazione di tutti gli utenti, in particolare per gli account con impatto critico.
  • Usare metodi senza password o scegliere metodi password moderni.
  • Bloccare i protocolli e i metodi di autenticazione legacy.

Sicurezza di Azure Batch

Seguire le procedure consigliate per abilitare la sicurezza per Batch.

Sicurezza di Azure CycleCloud

Seguire le procedure consigliate per abilitare la sicurezza per Azure CycleCloud.

Ottimizzazione dei costi

Per sfruttare al meglio l'esecuzione dell'ambiente in Azure, assegnare priorità alla gestione dei costi e agli esercizi di pianificazione iniziali. La gestione dei costi e la pianificazione sono in genere le considerazioni più importanti per il percorso di migrazione cloud riuscito di un'organizzazione. Gestione costi Microsoft offre strumenti per pianificare, analizzare e ridurre la spesa per ottimizzare l'investimento nel cloud. Per altre informazioni sui modi in cui è possibile pianificare e ottimizzare i costi del cloud, vedere Procedure consigliate per la fatturazione per la gestione dei costi. Le considerazioni seguenti sono alcune delle più importanti nell'ottimizzazione dei costi.

Scelta del sistema operativo

Linux è il sistema operativo dominante per i carichi di lavoro HPC. Linux è open source e ottimizzato per le prestazioni per l'uso dell'infrastruttura HPC. Le librerie MPI e i driver Infiniband funzionano quindi bene in Linux rispetto a Windows. Usando macchine virtuali Linux e Windows per la configurazione di un cluster HPC, è sicuramente possibile risparmiare sui costi. Tuttavia, alcuni utenti potrebbero avere una forte preferenza per un ambiente Windows, soprattutto durante l'esecuzione di attività di pre-elaborazione e post-elaborazione nei carichi di lavoro, ad esempio la fluidità computazionale. In questo caso, è consigliabile disporre di un front-end di Windows per inviare processi a un host Linux, un nodo head, che usa i nodi di calcolo per le simulazioni.

Scalabilità automatica

La scalabilità automatica consente di configurare e usare macchine virtuali solo quando si invia un processo o quando un processo è attivo. Al termine del processo, i nodi vengono disattivati automaticamente. Usando la scalabilità automatica, è possibile modificare le risorse di calcolo usate dall'applicazione, risparmiando potenzialmente tempo e denaro. La scalabilità automatica di Azure CycleCloud è attivata nelle utilità di pianificazione per impostazione predefinita. Il limite di tempo predefinito per disattivare i nodi è di 15 minuti. È possibile personalizzare il limite di tempo. Il limite di tempo consente di garantire che gli utenti paghino solo per ciò che usano. Batch fornisce un meccanismo per integrare una formula di scalabilità automatica con una scelta di parametri. Per altre informazioni, vedere Introduzione alla scalabilità automatica in Azure.

Confronto tra istanze riservate e istanze spot con pagamento in base al consumo

Azure offre diverse opzioni di prezzo, con pagamento in base al consumo, istanza riservata con opzioni di uno o tre anni e istanze spot soggette alla capacità disponibile nel data center. Le istanze con pagamento in base al consumo sono convenienti perché soddisfano la domanda sporadica di capacità. Le istanze riservate possono rivelarsi convenienti se esiste una richiesta continua di HPC o se sono presenti molte applicazioni eseguite in Azure HPC. Entrambi sono adatti per i carichi di lavoro pronti per la produzione. Le istanze spot sono valide per brevi test e sperimentazione o se l'applicazione necessita di checkpoint, ad esempio genomica. Le istanze spot sono soggette alla capacità disponibile nel data center. I prezzi dipendono da questi fattori. È possibile rimuovere istanze spot con preavviso minimo.

Classificazione dei dati

I carichi di lavoro HPC traggono vantaggio dall'archiviazione a velocità effettiva elevata. Ad esempio, usare Lustre gestito di Azure, File app Di Azure Net o BeeGFS Parallel File System. Questi servizi di archiviazione offrono prestazioni ma potrebbero comportare costi. È importante classificare i dati in anticipo in modo che solo i dati specifici dell'applicazione si trovino in questi sistemi. Tutti gli altri dati possono risiedere in soluzioni di archiviazione a basso costo, ad esempio Azure Data Lake Archiviazione o Archiviazione BLOB di Azure.

Inoltre, potrebbe essere utile configurare sistemi di archiviazione HPC su richiesta per garantire la sincronizzazione dei dati con un servizio di archiviazione a basso costo, ad esempio BLOB Archiviazione. L'archiviazione su richiesta consente di garantire che i dati vengano mantenuti nel BLOB Archiviazione quando il sistema di archiviazione ad alte prestazioni è disattivato. Managed Lustre and Net App Files offrono un servizio di sincronizzazione.

Impostare budget

Azure CycleCloud consente di impostare i budget per ogni cluster e di inviare notifiche ai destinatari se sono vicini all'esaurimento dei budget. Per Batch è possibile creare budget e avvisi di spesa per i pool di Batch o gli account Batch dal portale di Azure. I budget e gli avvisi sono utili per informare gli stakeholder di eventuali rischi di eccedenza, anche se è possibile che si verifichi un ritardo negli avvisi di spesa e che si superi leggermente un budget.

Eccellenza operativa

Quando si mantengono le applicazioni HPC in esecuzione nell'ambiente di produzione, le distribuzioni devono essere affidabili e prevedibili. Le distribuzioni affidabili e prevedibili sono costituite dall'automazione dei carichi di lavoro HPC con soluzioni IaC (Infrastructure as Code). È anche necessario eseguire controlli di integrità dei nodi per analizzare e monitorare i carichi di lavoro HPC.

Per altre informazioni sui suggerimenti per la distribuzione, vedere Consigli per l'uso dell'infrastruttura come codice. Per altre informazioni sui suggerimenti di monitoraggio, vedere Consigli per la progettazione e la creazione di un sistema di monitoraggio.

Infrastruttura come codice

HPC in Azure distribuisce diverse risorse, ad esempio Azure CycleCloud, cluster HPC, Archiviazione, nodi di visualizzazione, server licenze e così via. Per automatizzare la distribuzione, è consigliabile usare strumenti standard del settore come Terraform, Ansible e Packer per semplificare il processo.

Controllo dell'integrità dei nodi

Grafana gestito di Azure è un servizio completamente gestito per le soluzioni di analisi e monitoraggio. Grafana Labs supporta Grafana e fornisce visualizzazioni estendibili dei dati. È possibile integrare questa soluzione nei carichi di lavoro HPC come esempio. Per altre informazioni, vedere Piattaforma OnDemand di Azure HPC.

Efficienza prestazionale

Assicurarsi che l'ambiente HPC sia in grado di ridimensionare in modo efficiente in modo che possa soddisfare le esigenze poste dagli utenti. Scegliere la piattaforma appropriata per le applicazioni HPC in base alle raccomandazioni del fornitore di applicazioni. Investire nella pianificazione della capacità se è necessaria un'infrastruttura aggiuntiva per soddisfare la domanda. Monitorare le prestazioni dell'infrastruttura HPC man mano che gli utenti usano il sistema.

Per altre informazioni, vedere gli articoli sull'efficienza delle prestazioni.

Scegliere la piattaforma appropriata per l'applicazione HPC

Azure offre una gamma di piattaforme per le macchine virtuali basate su Intel, CPU AMD e NVIDIA e GPU AMD. Anche se la maggior parte delle applicazioni è compatibile con ciò che è disponibile, alcuni traggono vantaggio solo da un particolare tipo di CPU o GPU. Prima di distribuire l'infrastruttura nel cloud, è importante avere una raccomandazione del fornitore dell'applicazione (ISV) per comprendere le esigenze seguenti.

  • Se l'applicazione è associata a memoria, associata alla CPU o associata alla GPU
  • Se hanno consigli su qualsiasi tipo di architettura CPU o GPU per le prestazioni
  • Se è presente un tipo di MPI e la relativa versione che l'applicazione può trarre vantaggio da
  • Se è presente una raccomandazione sul tipo di utilità di pianificazione
  • Se è presente una raccomandazione sulle operazioni di I/O al secondo/o sulla velocità effettiva dai file system paralleli

Investire nella pianificazione della capacità

In base al tipo di applicazione e alle relative condizioni di licenza, verificare se la licenza è impostata per l'uso di un numero specifico di core. Valutare l'investimento per abilitare la licenza per soddisfare HPC e quindi pianificare la capacità di conseguenza.

Monitorare le prestazioni dell'infrastruttura

  • È importante essere in grado di tenere traccia del modo in cui gli utenti usano il sistema, tracciano l'uso delle risorse e in genere monitorano l'integrità e le prestazioni del sistema. È possibile usare queste informazioni come supporto diagnostico per rilevare e correggere i problemi e individuare potenziali problemi e impedire che si verifichino. Per una panoramica dei componenti e dei servizi di Azure disponibili per monitorare le risorse, vedere Panoramica di Monitoraggio di Azure.
  • Il monitoraggio è uno strumento ottimale per identificare se sono presenti colli di bottiglia nelle istanze e nell'archiviazione delle macchine virtuali.
  • Archiviazione la limitazione delle richieste può causare un rallentamento sostanziale delle applicazioni e un impatto significativo sulle prestazioni. La limitazione si verifica quando le operazioni di input e output all'interno dell'archiviazione superano i limiti di velocità effettiva impostati. Archiviazione di Azure servizi offrono grafici delle operazioni di lettura e scrittura per monitorare se sono presenti problemi di limitazione.
  • Azure CycleCloud si integra con i servizi di Azure, ad esempio Monitoraggio e strumenti di Gestione costi Microsoft. Supporta anche il monitoraggio dei servizi esterni tramite l'architettura collegabile. Per altre informazioni, vedere Monitoraggio.
  • Inoltre, se si usa Batch, Batch Explorer è uno strumento client gratuito, completo e autonomo che consente di creare, eseguire il debug e monitorare le applicazioni Batch.

Passaggi successivi