Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
I carichi di lavoro HPC (High Performance Computing) risolvono i problemi a elevato utilizzo di calcolo eseguendo attività tra cluster di computer in parallelo. La progettazione di carichi di lavoro HPC in Azure richiede un'attenta allineamento tra il comportamento del carico di lavoro, le scelte dell'infrastruttura e le procedure operative.
Questo articolo descrive una metodologia di progettazione che è possibile usare per definire e perfezionare sistematicamente i requisiti in quanto si applica alle caratteristiche e ai problemi comuni dei carichi di lavoro HPC. In caso di dubbi sulle varie decisioni di progettazione e opzioni tecnologiche, rivedere questa metodologia per rimanere allineati ai modelli applicabili a questa classe di carichi di lavoro. Si applica sia alle nuove distribuzioni che agli ambienti HPC esistenti ottimizzati.
Comprendere l'accoppiamento e la comunicazione del carico di lavoro
I carichi di lavoro HPC possono essere classificati in diversi modi, ad esempio per intensità di calcolo, modelli di accesso ai dati, requisiti di accelerazione o velocità effettiva dei processi. Le linee guida introduttive introducono queste categorie di carico di lavoro più ampie per facilitare la definizione del contesto complessivo.
Concentrarsi sull'accoppiamento del carico di lavoro e sui modelli di comunicazione. Poiché l'accoppiamento ha un impatto diretto e sproporzionato sulla selezione della rete, sul posizionamento dei nodi e sulle decisioni di progettazione sensibili alle prestazioni. Altre caratteristiche del carico di lavoro, ad esempio se un carico di lavoro è accelerato dalla GPU, a elevato utilizzo di dati o velocità effettiva elevata, sono importanti e possono portare a vincoli architetturali in un certo modo.
I carichi di lavoro HPC sono costituiti da componenti con modelli di comunicazione diversi. L'identificazione anticipata di questi modelli è fondamentale perché influiscono direttamente sulle decisioni relative a calcolo, rete e posizionamento.
| Modello di accoppiamento | Caratteristiche chiave | Indicazioni per la progettazione |
|---|---|---|
| Strettamente accoppiato | Le attività comunicano frequentemente ed operano in sincronia. | Usare la rete a bassa latenza e larghezza di banda elevata. Posizionare insieme i nodi. Assegnare priorità alle prestazioni. |
| Accoppiamento debole | Le attività vengono eseguite in modo indipendente o comunicano raramente | La rete standard è sufficiente. Usare risorse convenienti e scalabili. |
La maggior parte delle applicazioni HPC contiene entrambi i tipi. Ad esempio, un core di simulazione può essere strettamente associato, mentre le attività di post-elaborazione o di creazione di report potrebbero essere ad accoppiamento libero.
Abbinare le scelte di calcolo e di rete ai modelli di comunicazione. Usare risorse ad alte prestazioni solo in cui offrono un vantaggio reale.
Annotazioni
Altre caratteristiche del carico di lavoro introdotte in Introduzione , ad esempio l'accelerazione GPU, l'intensità dei dati o l'esecuzione ad alta velocità effettiva, vengono affrontate in aree di progettazione successive in cui influiscono maggiormente l'architettura di archiviazione, la strategia di pianificazione e l'ottimizzazione dei costi.
Progettare orchestrazione e pianificazione scalabili
L'orchestrazione efficiente ottimizza la velocità effettiva del cluster e riduce i tempi di attesa dei processi. La scalabilità deve essere automatizzata e guidata dalla domanda del carico di lavoro anziché dalla capacità statica.
Prendere in considerazione questi segnali di ridimensionamento chiave quando si decide sulle soglie di ridimensionamento automatico:
- Profondità coda processi: scalare verso l'esterno quando i processi in coda aumentano, scalare verso l'interno quando la domanda diminuisce.
- Utilizzo delle risorse: aggiungere capacità quando i nodi rimangono saturi, rimuovere i nodi inattivi.
- Priorità dell'attività: consente alle attività urgenti o ad alta priorità di innescare una scalabilità più rapida.
Monitorare le metriche di pianificazione, ad esempio il tempo di attesa delle code, l'utilizzo, la velocità effettiva e il costo per processo. Usare queste informazioni dettagliate per perfezionare i criteri di ridimensionamento nel tempo e rilevare modelli di domanda prevedibili.
La strategia di ridimensionamento non è un'attività una tantum. Assicurarsi di perfezionare le soglie in base al comportamento osservato durante il picco, la costante e il carico off-peak.
Creare funzionalità di tolleranza di errore
I processi HPC vengono spesso eseguiti per ore o giorni, rendendoli vulnerabili agli errori. Come pratica generale, evitare sempre singoli punti di guasto. Per mantenere la resilienza di calcolo, mantenere la capacità di riserva in grado di assorbire gli errori dei nodi.
Prepararsi a gestire gli errori con misure di recuperabilità adeguate. Mantenere riproducibile l'infrastruttura e la configurazione per il ripristino rapido. Per i carichi di lavoro HPC, la creazione di checkpoint è una strategia chiave per garantire che i processi possano riprendere in modo affidabile. In caso di lavori non riusciti, assicurarsi di avere meccanismi in grado di rieseguire i lavori critici più velocemente.
Pianificare per errori inevitabili assicurandosi che le attività lavorative possano riprendere senza perdita di dati o di progressi e con un ritardo minimo.
Gestire i costi con prevedibilità
Gli ambienti HPC possono aumentare rapidamente, così come i costi. Il controllo dei costi deve essere integrato nell'architettura fin dall'inizio.
Definire budget e quoti che riflettono modelli di utilizzo variabili di HPC e impostare avvisi per monitorare il consumo man mano che i grandi lavori scalano verso l'alto e verso il basso.
Monitorare l'utilizzo delle risorse per rilevare il provisioning eccessivo o inferiore e regolare la capacità di conseguenza.
Tenere conto del costo totale dei carichi di lavoro HPC, tra cui calcolo, archiviazione, spostamento dei dati e licenze software, non solo della spesa di calcolo.
Contrassegnare risorse o processi in base al progetto o all'utente per consentire l'attribuzione accurata dei costi e le decisioni di ottimizzazione informate.
Bilanciare le prestazioni con il costo ridimensionando le risorse in base alla domanda effettiva e esaminando regolarmente l'utilizzo.
Progettare per l'osservabilità e l'automazione
Il successo operativo dipende dalla visibilità e dalla ripetibilità. L'osservabilità e l'automazione devono essere problematiche di progettazione di prima classe.
Monitorare i segnali che rivelano il comportamento dei processi e dei cluster su larga scala: velocità di completamento dei processi, tempi di attesa delle code, velocità effettiva e utilizzo per nodo. Tenere traccia delle tendenze di integrità hardware per rilevare gli errori prima di interrompere i calcoli a esecuzione prolungata. Correlare i modelli di costo con l'esecuzione del carico di lavoro per comprendere come le decisioni relative alla pianificazione e alla scalabilità influiscono sull'efficienza.
L'automazione negli ambienti HPC funziona meglio quando è intenzionale e misurata. Usare l'infrastruttura come codice per distribuire i cluster in modo coerente, quindi automatizzare il ridimensionamento, il ripristino e la manutenzione di routine in base alla domanda del carico di lavoro.
Introdurre l'automazione in modo incrementale, convalidare il comportamento in condizioni di errore e usare segnali di osservabilità per confermare lo stato del sistema. L'obiettivo è ridurre lo sforzo manuale mantenendo il controllo sulle prestazioni e sull'affidabilità.
Passo successivo
Iniziare il percorso di progettazione esaminando il modo in cui i pilastri di Well-Architected Framework si applicano ai carichi di lavoro HPC.