In molti carichi di lavoro HPC, per ottenere le migliori prestazioni end-to-end da un’applicazione o da un flusso di lavoro è necessario scegliere la tecnologia adeguata per l’hosting dei file durante il processo, oppure configurare lo stack di rete per prestazioni ottimali con MPI o altri protocolli di comunicazione. Il modulo analizza le diverse opzioni offerte da AWS in queste zone, e offre una guida con considerazioni su prezzi/prestazioni che ti aiuterà a scegliere la soluzione più adatta per ogni carico di lavoro

Argomenti trattati

  • Storage su AWS per HPC
  • Scalabilità di rete per carichi di lavoro HPC

Panoramica sulle opzioni di storage su AWS: AWS fornisce numerose opzioni di storage, dallo storage ad alta prestazione di oggetti, a diversi tipi di file system collegabili a una istanza EC2. Oltre alle prestazioni ad alto livello, questo tipo di storage si differenzia in numerosi altri aspetti, tra cui i costi e la scalabilità. La seguente tabella serve da orientamento nella scelta dello storage adeguato per ogni tipo di dato HPC:

File system condiviso per HPC: lo storage condiviso è realizzato in vari modi, ad esempio con un semplice mount NFS di un volume EBS, con Intel Lustre assemblato da volumi EBS, e con l’AWS Managed Service detto EFS. Come per il tipo di istanza, anche testare le opzioni di storage per trovare il tipo di file system più efficiente è semplice.

Istanza-storage collegato: anche i volumi EBS dispongono di un’ampia varietà di opzioni: volume IOPS elevato, uso generico e opzioni magnetiche. Diverse applicazioni HPC funzionano molto bene con i modelli più economici di storage EBS per uso generale e a volume magnetico. Come per la selezione di istanza, anche testare la selezione di volume EBS che fornisce la soluzione ottimale è semplice.

Configurazione di Lab StorageA continuazione sono descritte le opzioni di configurazione di storage usate nell’automazione di default di EnginFrame:

  • Gli script di integrazione montano un volume EFS sotto /efs sui nodi master e di calcolo (il file system contiene una directory per le applicazioni e una directory dello spooler che di default ospita una directory di consegna separata per ognuno dei tuoi lavori)
  • AWS ParallelCluster dispone inoltre di un volume EBS gp2 collegato al master, e di NFS montato per il conteggio dei nodi as /condivisi
  • Inoltre, la /directory home dall’istanza master è montata con NFS ai nodi di calcolo. È sconsigliato l’uso per storage persistenti, in quanto è installato sullo stesso file system di OS

Le prestazioni dei file system condivisi possono variare in maniera considerevole a seconda del carico di lavoro. Il migliore approccio per capire qual è la scelta più adeguata consiste nel confrontare lo stesso caso sia su /efs (configurata come ubicazione di default in EngineFrame) che /condivisa.


Reti di AWS attuali al momento, AWS supporta funzioni di rete avanzate con l’uso di SR-IOV (Single Root I/O Virtualization). SR-IOV è un metodo di virtualizzazione di dispositivi che, rispetto alle implementazioni tradizionali, offre prestazioni I/O più elevate e riduce l'uso della CPU. Per le istanze supportate da Amazon EC2, questa caratteristica fornisce una prestazione di pacchetto al secondo (PPS) più elevata, latenze di inter-istanze inferiori, e un jitter di rete molto basso. Inoltre, è stata testata per alte prestazioni Throughput Computing (HTC), per applicazioni “embarrassingly parallel” e per “Tightly-Coupled”, MPI e applicazioni HPC basate su OpenMP. 

La velocità della rete dipende dal tipo e dimensione dell’istanza, ad esempio r4.16xlarge fornisce una connettività tra le istanze di 20 gigabit usando lo stesso gruppo di collocazione (un raggruppamento logico di istanze) e reti avanzate.

Configurazione della rete Lab: di default, il laboratorio crea un nuovo gruppo di collocazione in cui verranno lanciati tutti i nodi di calcolo del cluster. Ciò consente di ottenere la minore latenza e la maggiore larghezza di banda tra i nodi, una caratteristica particolarmente interessante con le applicazioni MPI. In caso di problema di HTC, un aggiustamento orizzontale di più di 10.000 core (che va oltre l'ambito di applicazione di questo laboratorio), è necessario valutare la possibilità di eseguirli su gruppi di collocazione multipli per fornire maggiore flessibilità all’EC2 nel punto in cui è ubicata questa grande quantità di nodi. L’uso di un gruppo di collocazione fisso può essere disabilitato impostando la configurazione dei parametri di AWS ParallelCluster nel seguente modo:

gruppo_collocazione= NESSUNO

Suggerimento: se devi configurare il tuo cluster per una grande quantità di nodi o hai bisogno di prestazioni di storage elevate, ti suggeriamo di contattare il tuo Technical Account Manager o un HPC Solution Architect: potranno rivedere il target della tua architettura, aiutarti a identificare possibili colli di bottiglia e scegliere le tecnologie adeguate per i tuoi obiettivi specifici.