Il progetto HPC dell'università e dell'infn di Parma. Roberto Alfieri

Documenti analoghi
Gestione delle catene operative previsionali nel settore meteo - idrologico al Cineca

Esperienze di gestione di OpenNebula, Openstack, VMWare

Servizio Calcolo. Alessandro Brunengo

Modelli di programmazione parallela

WorkShop sul Calcolo Scientifico in Ateneo

Laboratorio Centro Calcolo

Evoluzione dei sistemi HPC ENEA-GRID/CRESCO

Intel Parallel Studio Seminar Milano 22 Giugno 2010

Matteo Spatola direttore vendite

HPC in ENEA, stato dei Cluster e dei CED CRESCO a Portici

Scuola di Calcolo Scientifico con MATLAB (SCSM) 2017 Palermo 31 Luglio - 4 Agosto 2017

Quale Calcolo e Storage Per le applicazioni scientifiche ORA? Maggio 2015

Programmazione Avanzata

Workshop CCR-INFNGRID Survey MPI. Roberto Alfieri - Università di Parma & INFN, Gr.Coll. di Parma. Catania, 18 Maggio 2010

Le distribuzioni GNU/Linux

Prestazioni computazionali di OpenFOAM sul. sistema HPC CRESCO di ENEA GRID

Fusione termonucleare controllata e High Performance Computing. S. Briguglio, G. Fogaccia e G. Vlad ENEA Frascati

LINUX in ENEA: utilizzo di openmosix?

Il calcolo Scientifico in Ateneo 20/01/2016

Intel Parallel Studio Un caso di studio

Intel Parallel Studio Un caso di studio

Introduzione al Many/Multi-core Computing

Setup di una cloud privata a Torino Un prototipo in produzione. S.Bagnasco, D.Berzano, R.Brunetti, S.Lusso

Cosa è un programma. Informatica di Base -- R.Gaeta 18

CSN4! GGI marzo Calcolo teorico. E. Onofri, R. Tripiccione, E. Vicari

SERVIZIO DI MIGRAZIONE E INSTALLAZIONE NUOVA INFRASTRUTTURA SOFTWARE DATABASE ORACLE CIG Z8F0DE9926


La e-infrastructure per il calcolo e le basi dati scientifiche nel Sud: l'esperienza ReCaS. Guido Russo WS GARR, Napoli 19 Giugno 2014

Linux LPI Essential. Obiettivi

Sperimentazione del file-system distribuito HDFS in ambiente GRID. III Borsista Day, Roma,

Architetture. Paride Dagna. SuperComputing Applications and Innovation Department 18/02/2013

5. quesito [ CSDP Servizi prodotti in Ambiente Intel X86 - Core ]

Architetture della memoria

Architetture Applicative Altri Esempi

Affari Web

Characterization of Gas Turbine Film Cooling Efficiency on High Performance Computing platforms: an Experimental/Numerical integrated approach

Server LDAP. File Server. Domain Controller. Installazione di una piattaforma Linux Alessandro Brusò 24/05/2012

Server mini-tower Dell PowerEdge T20: domande frequenti

[OnYourWay beta ]: [Kublai Awards] Scheda tecnica. [Allegato C] [V0.1] First edition: [08/01/09]

Laboratorio di Reti Locali e Geografiche

Flash talk: Wide Area Swift

Opensuse cenni storici

G51B CHIARIMENTI (5)

Sistemi di calcolo distribuiti e paralleli per l utilizzo di codici Monte Carlo

Configurazione P70 Ingegneria e Architettura

Introduzione al Calcolo Scientifico

ICT e aziende: a chi ci rivolgiamo quando siamo nei guai

Utilizzare IDEM per controllare l'accesso wireless. Case Study: la rete wireless dell Università di Ferrara

Analisi e comparazione dei Framework OpenSwing e Google Web Toolkit per lo sviluppo di interfacce utente con paradigma MVC.

L accesso alla rete wireless di UniFe e la sua integrazione con la federazione IDEM. Relatore: Michele Lugli

Nome e indirizzo del datore di lavoro

Open source e Robots. Bari, Linux Day Marcello Barile

Test e risultati sull uso di un file system GPFS condiviso su rete WAN

Configurazione di riferimento di IP Office Server Edition IP Office 8.1

L Affidabilità dei Sistemi di Input-Output ad Elevate Prestazioni

Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica

Simulazioni Monte Carlo in ambiente OpenACC

Prima domanda: Un calcolatore parallelo e... Un calcolatore parallelo e... Che differenza c e tra: un Calcolatore Parallelo

I servizi di supporto all'utenza

IBM Corporation

Colla MGC Guida all installazione

In rete. I computers si parlano in modalità: Peer to Peer (P2P) o... Client/server

SISSA computing project 2012: HPC technical specification

Organizzazione LAN dei Tier2 di CMS Italia

Servizio Hardware & Sistemistico

Esperienze di Advanced Analytics nella statistica ufficiale: strumenti e progetti

Sistema operativo & file system 1

Le Farm Grid a Pisa. Commissione Calcolo e Reti ROMA 5/10/2007. Silvia Arezzini INFN - Pisa

ISTITUTO NAZIONALE DI FISICA NUCLEARE

Allegato Tecnico BaaS/CBaaS

Massimo Bernaschi Istituto Applicazioni del Calcolo Consiglio Nazionale delle Ricerche

Laboratorio Centro Calcolo

Argomenti. Architettura fisica di U-Lite Architettura software di U-Lite Comandi gestione job: NFS contro AFS Licenze software

Risorsa N System Management: Oracle RMAN (Exp. 15 anni) Oracle RAC (Exp. 9 anni)

IV Workshop INFN-Grid. Campus Grid a Napoli. Esperienze in un anno di attività. Paolo Mastroserio. IV Workshop INFN-Grid

Ottimizzazione delle risorse IT e risparmio energetico per la Business Continuity. Luca Oliva Direttore Vendite Mauro Bonfigli Sales Dpt.

PROPOSTA DI UTILIZZO DI 6 STAZIONI DI LAVORO MULTI-CORE A MEMORIA CONDIVISA PER IL CALCOLO DI PROBLEMI DI STRUTTURA E DINAMICA NUCLEARE

Art. 2 SPECIFICHE TECNICHE

Report sull attività di monitoraggio del Testbed di INFN Grid

L'innovazione digitale del fisco. 25 maggio 2017

Un Pinguino piccolo piccolo

DHTCS-IT Distributed High Throughput Computing and Storage in Italy

IENA Un modello alternativo per la rivelazione delle intrusioni in una rete locale.

Linux e i software liberi. di Nardean Lorenzo e Redigolo Marco

Laboratorio Virtuale per la Didattica

3 volte. 2,4 volte. 2,3 volte MEGATASKING ALL'ESTREMO

SCHEDA TECNICA. PROCEDURA Ambiente

Sistemi Operativi 11 ottobre 2017

VDI4U. La virtualizzazione dei desktop applicata all Università. Marco Grilli III Borsisti Day, Roma,

Symantec IT Management Suite 8.0 powered by Altiris technology

CASE STUDY AWDOC BY AWTECH

PROGRAMMA DEL CORSO MASTER IN TECNICO HARDWARE E SOFTWARE

Progetto Lauree Scientifiche a.a. 2011/2012

PIANO TRIENNALE DI ATTUAZIONE DEL PNSD PER IL PTOF

Progetto APE: criticita nella gestione e nell operativita

Normalizzazione puntuale dei dati di accounting

Introduzione alla parallelizzazione ibrida con MPI+OpenMP Modulo 1

(SINTESI DELL APPALTO)

1994 Diploma di Perito Tecnico Informatico, I.T.I.S G. Vallauri, Roma

Breve report su corso RedHat Enterprise Virtualiza6on (RH318)

Transcript:

Il progetto HPC dell'università e dell'infn di Parma Roberto Alfieri 1

Outline Il progetto HPC: Motivazioni, tempi, organizzazione Il Nuovo Cluster: caratteristiche tecniche dell'hardware valutazioni preliminari delle prestazioni configurazioni software Applicazioni scientifiche: alcuni Case Study esperienze di vettorizzazione 2

LE TAPPE DEL PROGETTO Nel 2015 l'ateneo riorganizza i servizi informatici: - Centralizzazione di tutto il personale tecnico informatico - Centralizzazione (in corso) di tutte le risorse in un nuovo Data Center di Ateneo - Convenzione INFN- Dip. Fisica INFN-Ateneo Nuovo servizio centralizzato per il calcolo scientifico? 4 Giugno 2015: WorkShop sul Calcolo Scientifico in Ateneo 20 Gennaio 2016: Presentazione del Progetto al Rettore. 7 Novembre 2016: Pubblicazione della gara per un nuovo cluster Aprile Maggio 2017: Installazione del cluster, Tuning e Collaudo Fine Maggio - Giugno 2017: Pre-produzione 3

Gruppi di ricerca Attivi sul calcolo e interessati al progetto: Dipartimento Gruppi di ricerca Scienze Chimiche, della Vita e della Sostenibilità Ambientale 8 Scienze Matematiche, Fisiche e Informatiche 9 Scienze degli Alimenti e del Farmaco 3 Medicina e Chirurgia 2 Scienze Economiche ed Aziendali 1 Ingegneria ed Architettura 18 4

Organizzazione del progetto Modello organizzativo: Ateneo fornisce il personale, il data center, un budget annuale per spese ordinarie, un budget iniziale per l avvio del progetto INFN contribuisce integrando il proprio cluster di calcolo e contribuisce all infrastruttura (storage e virtualizzazione) I singoli gruppi di ricerca possono contribuire con risorse nuove (calcolo e storage) che verranno gestite in modo integrato, con accesso prioritario. Comitato Scientifico: 1 rappresentante per Dipartimento scientifico + 1 INFN Obiettivi: Incrementare e ottimizzare l'uso delle risorse disponibili Favorire la crescita delle competenze attraverso sinergie tra gruppi di ricerca, didattica, sperimentazione 5

Il nuovo cluster Survey tra i gruppi di ricerca Tipologia di Nodo Gruppi di ricerca CPU 23 GPU 18 XEON PHI 10 Cluster eterogeneo composto da piccoli cluster ma con tecnologie innovative Broadwell, KNL, GPU NVIDIA P100 In comune l'autenticazione, il sistema di code, lo storage e la rete veloce OmniPath Ogni cluster può scalare integrando nuovi nodi da gruppi / progetti di ricerca. 6

Cluster Broadwell (BDW) 8 nodi con 2x Intel Xeon E5-2683v4 128 GB ram. 1 nodo con 2x Intel Xeon E5-2683v4 1024 GB ram. Performance 1 nodo: 2 *16 (core) *2,1 (GHz) *16 (AVX2) = 1 Tflops dp peak 7

Cluster Xeon PHI Knight Landing (KNL) 4 nodi con Intel Xeon PHI 7250, 192 GB ram Performance per nodo: 68 (cores) * 1.4 (Ghz) * 32 (AVX512) = 3 TFlops peak Mod. GHz core OPA integ 7210 1.3 64 no 7210F 1.3 64 si 7250 1.4 68 no 7250F 1.4 68 si 7290 1.5 72 no 7290F 1.5 72 si 8

Cluster GPU 2 nodi con 2 Intel Xeon E5-2683v4, 128 GB ram, 5 GPU Pascal P100 12GB (PCIe) Performance 1 nodo: 1 (Broadwell) + 5 x 4.7 (P100) = 24,5 TFlops peak 9

Schema 10

Storage NOME USO TECNOLOGIA DIM. TEMPI HOME + progetti Programmi e dati NAS 240 TB SCRATCH Dati run-time SAN 40 TB estate 2017 Lustre o GPFS? ARCHIVE Archivio a medio / lungo termine NAS /cloud ~ PByte Fine 2017? file-system distribuiti Competenza locale GPFS (grazie a INFN). Nei principali Data Center HPC internazionali si sta diffondendo Lustre Da decidere entro l'estate. Cloud UniPR fa parte del gruppo di lavoro Cloud del CODAU, insieme ad altri 15 Atenei con cui sta definendo un modello di servizio condiviso per la gestione dell archiviazione a supporto dei gruppi di ricerca. 11

Software Linux CentOS 7.x Clobber e puppet per installazione e configurazione dei nodi Compilatore Intel per programmazione ottimizzata di Intel Xoen e Xeon PHI Compilatore PGI per programmazione GPU Nvidia con openacc - Versione community del 2016 Compilatori GNU, librerie MPI e scientifiche e gestione moduli da openhpc l 12

openhpc è un consorzio parte di Linux Foundation nato nel nov. 2015 (SC15) per facilitare l installazione e la gestione dell ambiente Software di un cluster HPC Principali membri Commerciali: Altair, Arm, Cray, Dell, Fujitsu, HP, Intel, Lenovo, Redhat, SGI, SUSE HPC Center: Berkeley, Barcelona, Cea, Cineca, Livermore, Los Alamos, Pittsburgh, Sandia, TACC Piattaforme supportate: x86_64 e ARM64 OpenHPC Si basa su componenti software prevalentemente open source, testati, integrati e pacchettizzati in formato rpm: Linux: CentOS, SUSE WareWulf (da Berkeley Labs) per la gestione dei nodi basata su immagini Nagios e Ganglia per il monitoraggio del cluster Lustre come file system distribuito (parte client) Driver Infiniband e OmniPath Compilatori GNU, Intel (licenza), librerie MPI e scientifiche con moduli lmod Slurm e PBSpro come resource manager 13

PBSpro Nel 2016 Altair (distributore di PBSpro) diventa membro di openhpc e da Giugno 2016 PBSpro è rilasciato con licenza OpenSource. In uso al CINECA su MARCONI Installato inizialmente sul cluster. PBSpro o SLURM? Problemi riscontrati nella configurazione: l Gestione multi GPU: Manca il GPU binding E4 ha dovuto realizzare un hook custom per PBS. l Gestione Accounting (reporting/quota) l Non sono gestite la reportistica e le quote (core-hours) per utente e gruppo di utenti. Occorre realizzare un tool custom. Slurm Gestione MultiGPU: integrata Accounting (reporting/quota): da realizzare Soluzione transitoria (in collaborazione con E4): Un Server PBSpro di pre-produzione + un Server Slurm per test 14

Memory Performance NOTA: Tutti i test di performance sono stati eseguiti prevalentemente per il collaudo dell'installazione e devono essere considerati preliminari. Benchmark IMB-MPI1 pingpong tra 2 processi sullo stesso nodo LATENCY BDW Same socket BDW Different sockets KNL OpenMPI GNU 0.9 μs 1.7 μs OpenMPI PGI 0.8 μs 1.6 μs Intel MPI 0.6 μs 1 μs 1.6 μs BANDWIDTH BDW Same socket BDW Different sockets OpenMPI GNU 5.4 GB/s 5 GB/s KNL OpenMPI PGI 5 GB/s 3.2 GB/s Intel MPI 8.9 GB/s 8.0 GB/s 4 GB/s 15

Network Performance Benchmark IMB-MPI1 pingpong tra 2 processi su nodi diversi LATENCY BDW OPA BDW TCPoOPA OpenMPI GNU 2.2 μs OpenMPI PGI 3.7 μs 16 μs KNL OPA KNL TCPoOPA Intel MPI 1.5 μs 13 μs 3.8 μs 51 μs BANDWIDTH BDW OPA BDW TCPoOPA OpenMPI GNU 6.6 GB/s OpenMPI PGI 5 GB/s 0.22 GB/s KNL OPA KNL TCPoOPA Intel MPI 11 GB/s 3.4 GB/s 6 GB/s 0.9 GB/s 16

Shared Memory vs OmniPath 17

Case study su GPU Simulazione di fenomeni di allagamento La simulazione numerica di problemi di allagamento è una sfida scientifica di notevole impatto economico. I cambiamenti climatici e il notevole sviluppo delle grandi aree urbane richiedono nuovi sistemi di difesa dalle piene e l aggiornamento delle mappe di rischio idraulico. PROGETTI SIR 2015, Agenzia Regionale di Protezione Civile (Emilia-Romagna) 2015, Servizio Tecnico dei Bacini degli affluenti del Po (STB) della Regione Emilia-Romagna Vacondio, Dal Palù, et. al, Nat. Hazard, doi: 10.1007/s11069-015-1959 (2015). CALCOLO Codice sviluppato dagli autori in CUDA Quote idriche della simulazione dell evento alluvionale del 14 ottobre 2014 nella città di Parma 18

Case study su GPU Simulazione di fenomeni di allagamento Il programma è scritto in CUDA e attualmente gira su 1 GPU NVIDIA K40. Risultati preliminari: Speed-up K40-P100 ~4. Riduzione del tempo di una simulazione x4. E' in fase di sviluppo la versione multi-gpu del programma, con MPI. GPU Peak perf. (s.p.) Accesso Memoria Bacino fluviale Tempo simulazione / Tempo reale 1 K40 4.3 TFlops 288 GB/s 100 Km 1/5-1/20 1 P100 9.3 TFlops 540 GB/s 100 Km 1/20-1/80 10 P100 93 TFlops 1000 Km 1/20-1/80 19

Case study su KNL Simulazione di stelle di neutroni binarie La simulazione numerica di stelle di neutroni binarie è la sorgente attesa più rilevante di onde gravitazionali osservabili dalla nuova rete di Osservatori interferometrici, LIGO e VIRGO. Progetto BNSdisk - In produzione su Galileo e Marconi BDW - PRACE 2017 30M core hours su KNL P.I. R. De Pietri Calcolo Einstein Toolkit (piattaforma software). Codice MPI/openMP sviluppato da una comunità internazionale Simulazione relativistica dei resti di uno scontro tra due stelle di neutroni Dietrich, Bernuzzi, Ujevic, Brügmann Phys. Rev. D 91, 124041, 2015 Progetto GWBNS - In produzione su Marconi BDW - PRACE 2017 : 42M core hours su KNL P.I: S. Bernuzzi Calcolo Codice sviluppato dagli autori in MPI/openMP 20

Case study su KNL Einstein Toolkit E.T: è realizzato per applicazioni di relatività computazionale Insieme di packages sviluppato a partire dagli anni 90 da una comunità scientifica internazionale. Il codice è sviluppato da circa 100 programmatori utilizzando diversi linguaggi (F77, F90, C, C++) e parallelismo ibrido MPI/ openmp. Utilizzato a Parma per simulare l'evoluzione idrodinamica di una stella di neutroni. PRACE nel 2015 per l'utilizzo di Galileo (CINECA) PRACE nel 2017. Assegnate 30 M core-hours su Marconi KNL Sono in corso test di performance e scalabilità del codice attuale di E.T. su KNL. La distribuzione piu' recente di E.T. (ET_2016_11) non supporta la vettorizzazione. 21

Case study su KNL BAM code : scaling e vettorizzazione BAM e' un codice scritto in C e utilizza il parallelismo ibrido MPI/openMP In produzione sul cluster Marconi Broadwell. Confronto scaling su Marconi BDW (solid line) e KNL (dashed line) con la sola ricompilazione La ricompilazione su BDW e KNL disabilitando la vettorizzazione ( -no-vec) non mostra differenze apprezzabili. -xmic-avx512 -no-vec 1 nodo BDW 81.94 81.22 1 Nodo KNL 19.68 18.21 22

Le istruzioni vettoriali 23

Many Ways to Vectorize Per molte applicazioni ( O(Prace) ) è difficile stare al passo con le nuove tecnologie di calcolo o i nuovi paradigmi di programmazione; la riscrittura è onerosa. E' preferibile, se possibile, demandare al compilatore la gestione delle architetture. 24

Auto-Vettorizzazione Non tutti i loop possono essere auto-vettorizzati. Alcuni esempi: - Non possono esserci dipendenze tra le iterazioni - Loop complessi - Chiamate a funzione nel loop for (i=1; i<max; i++) { d[i] = e[i] a[i-1]; a[i] = b[i] + c[i]; } for (int i = 0; i < N; i++) a[i] = foo(b[i]); - Loop su dati organizzati in Array of Structure - Loop su dati non allineati in memoria struct Point{ //AoS float r; float g; float b; } Point Points[1000]; 25

La Vettorizzazione del codice Per valutare le prestazioni dell'auto-vettorizzazione è stato creato un modello semplificato 2D. Nelle routine con indipendenza tra le iterazioni è stata vettorizzato il loop più interno, aggiungendo l'allineamento in memoria e l'utilizzo delle funzioni matematiche vettoriali di MKL (Intel Math Kernel Library). Esempio: Versione originale #pragma omp parallel for for (j=jmin; j<=jmax; j++) { for (i=imin; i<=imax; i++) { ij = ij2i(i,j,sx); r[ij] += ( pow(log(pi+sqrt(j)+i), 3.1)*u[ij] \ + pow(u[ij],4/3) )*kill_source; } } Test preliminari: speed-up> 4 #pragma omp parallel { double *Va = (double *)mkl_malloc( Sx*sizeof(double ),64 ); #pragma omp for for (j=jmin; j<=jmax; j++) {... for (i=0; i<sx; i++) Va[i]= ijmin + i + sqrtj + Pi; vdln(sx,va,vb); vdpowx(sx,vb, 3.1, Vc); for (i=0; i<sx; i++) Vd[i]=Vc[i] * u[ijmin+i]; vdpowx(sx,&u[ijmin],f4o3,vd ); vdadd(sx, Vc, Vd, Va); for (i=0; i<sx; i++) r[ijmin+i]+=(va[i])*kill_source; } mkl_free(va);... } 26

Corso HPC per dottorandi 18 ore dal 30 Maggio al 15 Giugno 2017 Senza particolari prerequisiti di programmazione Iscritti 36 dottorandi da tutti i dipartimenti scientifici Contenuti 1. Ambiente Linux: Nozioni pratiche necessarie per l'utilizzo dell'ambiente HPC (3 ore ) La shell di Linux, shell scripting, il sistema di code 2. Ambiente software scientifico, compilatori, librerie (3 ore) Laboratorio con l ambiente software installato sul cluster 3. Hardware (3 ore) Sistemi di storage: NAS, SAN e archiviazione a lungo termine Architetture tradizionali e accelerate, gerarchie di memoria e comunicazione L'architettura del cluster di Ateneo 4. Algoritmi paralleli ( 3 ore) Performance, speed-up, efficienza Qualche esempio di parallelizzazione di algoritmi: impostazione del problema 5. Modelli di programmazione parallela (6 ore) Parallelismo a scambio di messaggi, MPI Parallelismo a memoria condivisa, openmp, vettorizzazione Parallelismo con GPU, CUDA 27

Grazie per l'attenzione! Domande?