Riassunto analitico
CINECA è un consorzio senza scopo di lucro che ospita supercomputer avanzati in grado di fornire risorse computazionali ad alte prestazioni a ricercatori europei nel mondo accademico e industriale. Negli ultimi anni le applicazioni nel campo dell'Intelligenza Artificiale che sfruttano i supercomputer stanno diventando sempre più frequenti, in quanto l'addestramento di un algoritmo di Deep Learning richiede solitamente ingenti risorse computazionali sia per la complessità dei modelli che per la grande quantità di dati necessari per raggiungere accuratezze adeguate. Inoltre, i nodi di un supercomputer potrebbero ospitare delle unità di elaborazione grafica (GPU) che consentono di velocizzare notevolmente il processo di addestramento grazie al loro elevato livello di parallelismo. Le prestazioni computazionali di un supercomputer devono essere costantemente monitorate per essere sicuri che i servizi offerti agli utenti siano ottimali come previsto. CINECA ha sviluppato CHECK (Cluster Health and Environment Checking system): una suite di sanity-checking, per monitorare le prestazioni dei supercomputer. Il lavoro di questa tesi è stato finalizzato all'integrazione in CHECK di nuovi test per confrontare una determinata architettura per i carichi di lavoro di Intelligenza Artificiale e, in particolare, le prestazioni delle GPU. Sono stati analizzati benchmark di IA già esistenti in letteratura, ma o non potevano essere installati ed eseguiti su cluster CINECA o non corrispondevano alle esigenze di CINECA. Pertanto, in CHECK sono stati implementati nuovi test, incentrati sull'addestramento di due famosi modelli di Deep Learning per la classificazione delle immagini: YOLOv5 e ResNet50v1.5. In primo luogo sono state analizzate le prestazioni medie del training di questi modelli, con l'obiettivo di verificare l'utilizzo delle GPU e di ottenere i valori di riferimento per l'esecuzione su nodi sani. Quindi, sono state implementate alcune modifiche per creare test che vengono eseguiti in tempi relativamente brevi e i test finali sono stati integrati in CHECK. Infine, la nuova versione di CHECK è stata eseguita su MARCONI100, un cluster HPC composto da 980 nodi, ciascuno dotato di quattro GPU NVIDIA V100. Il benchmarking dell'intero cluster ha rivelato che i nodi di calcolo di MARCONI100 sono sani, poiché solo pochi nodi erano caratterizzati da un flag WARNING e nessuno da un flag DOWN.
|
Abstract
CINECA is a non-profit consortium hosting advanced supercomputers capable of providing high performance computational resources to European researchers in Academia and industry. In recent years, applications in the field of Artificial Intelligence exploiting supercomputers are becoming more and more frequent, as the training of a Deep Learning algorithm usually requires heavy computational resources due to both the complexity of the models and the vast amount of data required to reach adequate accuracies. In addition, the nodes of a supercomputer might host Graphic Processing Units (GPUs) that allow to significantly speed up the training process thanks to their high level of parallelism. The computational performances of a supercomputer have to be constantly monitored, to be sure that the services offered to the users are optimal as expected. CINECA developed CHECK (Cluster Health and Environment ChecKing system): a sanity-checking suite, to monitor the performances of the supercomputers.
The work of this thesis was aimed at integrating in CHECK new tests to benchmark a given architecture for Artificial Intelligence workloads and, in particular, the performances of GPUs. Already existent AI benchmarks present in literature have been analyzed, but either they could not be installed and executed on CINECA clusters or they were not matching the needs of CINECA. Thus, new tests have been implemented in CHECK, focused on the training of two famous Deep Learning models for Image Classification: YOLOv5 and ResNet50v1.5. First the average performances of the training of these models have been analysed, with the aim of checking the usage of GPUs and to obtain the reference values for execution on healthy nodes. Then, few changes have been implemented to build tests that execute in relatively short timescales and the final tests have been integrated in CHECK. Finally, the new version of CHECK has been executed on MARCONI100, an HPC cluster composed of 980 nodes, each equipped with four NVIDIA V100 GPUs. Benchmarking the whole cluster revealed that the compute nodes of MARCONI100 are healthy, as only few nodes were characterised by a WARNING flag and none by a DOWN flag.
|