TESTS CON ARCHITETTURA ARM E SOFTWARE HEP Tommaso Boccali – INFN Pisa.

Slides:



Advertisements
Presentazioni simili
Come scegliere un computer?
Advertisements

IO e il COMPUTER Un rapporto cambiato nel corso del tempo.
Qual è per una piccola/media impresa emiliano/romagnola il costo complessivo REALE del sistema informatico nel caso in cui si sia scelto di basarsi su.
Microsoft Education Academic Licensing Annalisa Guerriero.
QUELLE DUE.
IL GENIO DELLA PORTA ACCANTO.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
CSN1 2 Aprile 2003 P. Morettini 1 Relazione sulla CCR La riunione di Commissione Calcolo e Reti del 6 Marzo è stata in parte dedicata alla discussione.
IL PATRIMONIO DI DATI - LE BASI DI DATI. Il patrimonio dei dati Il valore del patrimonio di dati: –Capacità di rispondere alle esigenze informative di.
Significati della scarsità idrica Clima eccezionalmente caldo e privo di piogge Lacqua è un bene limitato Lacqua è una risorsa infinita Lacqua più vale.
scuola dell'infanzia: f.lli grimm
Supercalcolo al CILEA: risorse e opportunità CAPI /11/2005 Dr. Claudio Arlandini, PhD HPC System Administrator.
memoria gestita staticamente:
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Progetto Adolescenti e sessualità
Estensioni allarchitettura di Von Neumann Vito Perrone Corso di Informatica A per Gestionali.
Fondamenti di Informatica1 Software di base Tra il linguaggio macchina (basso livello) e i linguaggi evoluti (alto livello) esiste uno strato di software.
CPU (central process unit)
Execution benchmarks Obiettivi Test dettagliati e ben caratterizzati Esecuzione di benchmark standard Test di applicazioni dell'esperimento ALICE 20 Novembre.
Università Politecnica delle Marche
PRESENTAZIONE di RICCARDO
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
Le mie memorie.
C'è sempre una via migliore
Informatica ed Impresa Problemi e Soluzioni 27 giugno 2006
Tratto da “HW PC” – O. Maeran
POESIA DELLA FELICITA ' .
22/3/2002Tommaso Boccali1 Stato di ORCA 6 e del framework di software per i Test Beam del Tracker e per lonline Tommaso Boccali – SNS Pisa.
Si nasce o si diventa? Un affermato dirigente decide
VHDL per FPGA Courtesy of S. Mattoccia.
Works in progress.  Semplificazione e maggiore efficienza della gestione  Risparmio (nel medio periodo)  Riallocazione delle risorse (hardware e timesheet)
UN PENSIERO.
Fabrizio Felici LAMP workshop GROsseto Linux Users Group.
ITL1121 ITL112 ELEMENTARY ITALIAN II Andrea Fedi.
Calcolatori Elettronici Valutazione delle Prestazioni Francesco Lo Presti Rielaborate da Salvatore Tucci.
CSN1 2 Febbraio 2004 P. Morettini 1 La nuova politica di RedHat La linea di prodotti RedHat Enterprise Linux L’accordo HEP Europe – RedHat Che fare ?
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Informatica Generale Marzia Buscemi
1 Informatica Generale Susanna Pelagatti Ricevimento: Mercoledì ore presso Dipartimento di Informatica, Via Buonarroti,
Lezione 2 PROTEGGERE IL PC.
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Introduzione ai personal computer Lezione 1 Riccardo Sama' Copyright  Riccardo.
La Farm di Alice a Torino Workshop sulle problematiche di calcolo e reti Isola d’Elba 6-9 maggio 2002 Mario Sitta (Università del Piemonte Orientale e.
LNL CMS M.Biasotto, Bologna, 28 maggio Upgrade farm a RH-7.3  Due anni fa la farm era stata installata usando una versione customizzata di ANIS.
GPU - Graphics Processing Unit Corso di Sistemi Paralleli Luigi La Torre Giugno 2012.
Istituto Comprensivo di Livigno BENVENUTI. Clemente Silvestri FONDAMENTI DI INFORMATICA.
MS - NA62 TDAQ INFN – Settembre 2011 TDAQ in generale Distribuzione clock/trigger: progetto definito, moduli finali in arrivo (?), installazione prevista.
SEMINARI CAMO 2003 LA SIMULAZIONE NUMERICA COMPIE 50 ANNI
CDF Calcolo Another brick in the wall Paolo Morettini CSN1 Lecce Valerio Vercesi Settembre 2003.
Alessandro Venturini* e Stefano Ottani ISOF – CNR Area della Ricerca di Bologna.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Guadagnare Online: Come Iniziare a Guadagnare Da Casa By LavoroDeiSogni.com.
Uso Didattico dell'Informatica Storica 07 STORIA DEI MICROPROCESSORI E INTRODUZIONE ALLA VIRTUALIZZAZIONE prof. Cuoghi Giampaolo ITIS “A.Volta” Sassuolo.
+ COSA (COmputing on Soc Architectures ) Michele Michelotto – INFN Padova.
Programmazione orientata agli Oggetti Introduzione a Java.
Un computer per amico Anno scolastico 2001/2002 7°Circolo Autonomo Prato Funzione Obiettivo Nuove Tecnologie Ins: Angela Tinghi.
CNAF 6 Novembre Layout del testbed  wn a OS SL5.0 8 GB RAM kernel xen_3.1.0 SMP  wn a OS SL5.0 8 GB RAM kernel.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Workshop CCR e INFN-GRID Hotel Cala di Lepre Palau, maggio 2009 Il futuro di INFGRID nell'era IGI:
+ COSA (COmputing on Soc Architectures ) Tommaso Boccali – INFN Pisa.
Test di porting su architetture SoC F. Pantaleo for T. Boccali.
Utilizzo della VO di theophys per il calcolo lattice QCD G. Andronico M. Serra L. Giusti S. Petrarca B. Taglienti.
1 ALICE I ITER2 DI ALICE IN ITALIA Bologna, 6 marzo 2007 M. Masera
Attività Gruppo Virtualizzazione Andrea Chierici CNAF CCR
Silvia Arezzini 2 luglio 2014 Consiglio di Sezione per Preventivi.
Gruppo Server Commissione Calcolo e Reti 15 Marzo 2006.
P. Morettini 19/5/ Paolo Morettini - ATLAS Italia - Napoli.
Il calcolo per l’esperimento GERDA Luciano Pandola INFN, Laboratori del Gran Sasso Riunione della CSN2, LNF Frascati, 29 Novembre 2011.
M. Citterio CDS Milano – 9 Luglio 2014 Servizio di Elettronica 1.Attivita’ previste per il Strumentazione/Attrezzature, capacita’ di calcolo e software.
HEPMARK2 Michele Michelotto.
Transcript della presentazione:

TESTS CON ARCHITETTURA ARM E SOFTWARE HEP Tommaso Boccali – INFN Pisa

Outline Cosa e’ / cosa ha di speciale l’architettura ARM ARM per noi Alcuni studi di porting in CMS Una simulazione (a grandi linee) di usabilita’ Nota bene: io sono marginalmente coinvolto in queste attivita’. Puntatori utili sono P.Elmer (ACAT13): quiqui D.Abdurachmanovic (Concurrency Forum): quiqui

Processori ARM Linea di processori RISC sviluppata dall’inglese ARM (per i piu’ vecchi, la CPU dell’Acorn Archimedes, che rivaleggiava con l’Amiga), a partire dal 1987 Il primo disegno ARM risale al 1987, e fin dalle origini e’ sempre stato a 32 bit E era il vanto dell’archimedes contro il povero mk68000 dell’amiga ARM non possiede foundries, ma concede il disegno delle varie versioni su licenza Produttori su licenza Advanced Micro Devices, Inc., Alcatel-Lucent, Altera, Apple Inc., AppliedMicro, Atmel, Broadcom, Cirrus Logic, CSR plc, Cypress Semiconductor, Digital Equipment Corporation, Ember, Energy Micro, Freescale, Fujitsu, Fuzhou Rockchip, Huawei, Intel (through DEC), LG, Marvell Technology Group, Microsemi, Microsoft, NEC, Nintendo, Nuvoton, Nvidia, NXP (formerly Philips Semiconductor), Oki, ON Semiconductor, Panasonic, Qualcomm, Renesas, BlackBerry (formerly Research In Motion), Samsung, Sharp, Silicon Labs, Sony, ST-Ericsson, STMicroelectronics, Symbios Logic, Texas Instruments, Toshiba, Yamaha, Xilinx, and ZiiLABS.

… in un packaging semplice La maggior parte degli ARM viene ormai venduta in formato System on a Chip (SoC), un unico chip che include CPU (up to 8 cores) GPU (Mali, PowerVR, …) MMU Equivalenti di NB e SB RAM Anche questa compattezza permette di mantenere il consumo inferiore ai 10W totali, utilizzando tecnologia fino a 28 nm

Ok, ma per noi? L’interesse per questi processori per il nostro ambiente scaturisce soprattutto dal basso consumo, in un momento in cui siamo strozzati da costi elettrici (per HW e raffreddamento) dei nostri centri di calcolo. Fino a poco fa la potenza di questi chip non era assolutamente in grado di soddisfare i nostri bisogni, ma le cose stanno cambiando velocemente

La famiglia ARM Rpi Praticamente tutti gli smartphones recenti 64 bit! (fine inizio 2014)

Altri drivers (meno tecnologici, piu’ sociali) Il mercato x86 e’ ormai nelle mani di Intel Sugli ARM invece la lotta e’ feroce fra almeno 3 grossi produttori (Apple, Samsung, Nvidia) Il confronto fra i numeri di processori x86 vs ARM e’ impietoso Worldwide PC shipments totaled 76.3 million units in the first quarter of 2013 (1Q13), down -13.9% compared to the same quarter in 2012 and worse than the forecast decline of -7.7%

Tests di ARM in ambiente HEP Non in produzione nel breve periodo, ma non e’ folle pensare che nel giro di qualche anno saremo felici (o costretti?) a passare a architettura ARM I principali esperimenti stanno cominciando dei test per valutare la fattibilita’ di girare il loro SW su ARM In attesa di avere fra le mani un ARMv8 a 64 bit Qui riporto tests di CMS; altri esperimenti stanno facendo prove ma non mi risulta che nessun altro abbia uno stack SW completo funzionante su ARM Cosa possiamo usare OGGI come piattaforme di development? Singoli SoC abbastanza potenti per il nostro SW Sistemi “cluster”, in un box

Odroid U2 In pratica un Samsung Galaxy SIII senza schermo Exynos core a 1.7 GHz (ARMv7) 2 GB RAM GPU Mali core Memoria eMMC (64 GB) 5W idle, < 7W a pieno carico Abbiamo misurato a Pisa con pinza amperometrica 89$ + memoria, alimentatore, importazione etc -> 150 Euro Boston Viridis In 2U: 48 SoC ARMv7(1.4 GHz) 4- core, ciascuno con 4 GB RAM backplane di connessione fra le schede 8x10Gbe; con l’esterno a 20Gbit/s 24x SATA slots (ogni SoC 4xSATA) Consumo TOTALE a pieno carico minore di 300W Prezzo: per grossi acquisti ~10kEuro (?)

Sistema operativo / ambiente operativo L’ambiente software e’ assolutamente friendly per le nostre esigenze Ubuntu (o Linaro) con APT Fedora 18 (indistinguibile da un RHEL e quindi da un SLC) con YUM Gcc Kernel Policy sul SW di CMS (CMSSW) 1. per inserire un software nel nostro stack, pretendiamo di averne i sorgenti ci ha proibito di usare pacchetti di NN ~commerciali, ma in questo caso ne vediamo il vantaggio 2. Usiamo da sistema operativo “host” in pratica solo il kernel e le glibc. Ricompiliamo anche il compilatore.

Quali difficolta’ aspettarci Stesso compilatore: dovrebbe assorbire la maggior parte dei problemi (non siamo costretti come con il Phi a andare a icc) 32 bit vs 64 bit: ormai siamo passati da tanto tempo, il nostro codice assume di girare a 64 bit. Possibile un po’ di sporcizia con l’aritmetica dei puntatori e/o i tipi Ottimizzazioni Intel specifiche (SSE4, AVX): nella maggior parte dei casi lasciamo fare al compilatore, dovrebbe bastare rimuovere –msse4 Ma c’e’ NEON (SIMD), e gcc lo sa autovettorizzare Per il resto … bisogna provare!

Altri problemi trovati Banalmente, la parte online del SW non compila perche’ Oracle su ARM non esiste Poco importante, l’offline di CMS non dipende da Oracle “char” e’ un po’ inaspettatamente signed su Intel, unsigned su ARM Poco male: -funsigned-char / -fsigned-char come opzioni di compilazione Alcuni.cc (principalmente dizionari di ROOT) non compilano con 2 GB di RAM Splitting di classi in piu’ files Cintex (parte della reflection di ROOT) ha dei problemi di allineamento in memoria – patch sottomessa a ROOT

In architetture a 32 bit uint64_t e’ un long long. Ma allora: Non e’ ok, serve (stavamo quindi assumendo di essere a 64 bit)

Il timing e’ non banale Serve un timer diverso (disponibile su ARM: Performance Measurement Unit – PMU), ma non ancora integrato Comunque il timing e’ utile per i benchmarking, ma non vitale per I test di funzionalita’

Dopo tutto questo, molte prove e fix banali Tutti gli externals di CMS compilano (tranne quelli direttamente legati a Oracle) Tutti i packages di CMSSW compilano (di nuovo, tranne quelli legati all’Online e a Oracle) Tempo di compilazione (per quello che puo’ valere) ~ 40 ore (dominato da gcc, Geant4 e CMSSW) Per Intel e’ + vicina alle 8 ore, per cu isipena di passare a breve a x-compilation

Cosa contiene una nostra release Base set di dipendenze CMS (gcc e poco piu’) Compila (~ 4 ore) Dipendenze in senso proprio (ROOT, Geant4, Boost, Qt, …) Compila (~12 ore) tranne I packages con dipendenza diretta da Oracle CMSSW (~3.5MSloc) vero e proprio 99% dei packages compilano (~25 ore); ancora, mancano solo quelli Online con dipendenza diretta da Oracle fc18_arm7hl_gcc480 e’ diventata una architettura standard di CMS, al pari di slc6_amd64_gcc472, e ha integration builds automatiche giornaliere

I fallimenti Su 1119 packages di CMSSW 13 non compilano per Oracle 5 non linkano perche’ dipendono da quei 13 Il resto e’ ok! Vedere quiqui Ma come detto, i fallimenti Oracle NON limitano l’utilizzo offline di CMSSW E’ possibile (o sara’ possibile a breve) girare qualunque workflow di quelli che girano via GRID su T0/T1/T2/T3

Una volta che hai in mano un sistema funzionante …. Benchmarks! Rootmarks (singolo core) HepSpec06 (macchina completa) CPURoot marks Rispetto a ARM ARMv7 1.7 GHz3051 Intel Core i7 2.8 GHz 2720QM Intel Xeon 2.00GHz Intel Core i5 2.7 GHz 2500S Intel Xeon 2.20GHz MacchinaHS06fattore Olidata AQ 2013 (2x8 core AMD 2.8 GHz) Odroid (4 core ARMv7 1.7 GHz) 131 … fra e 3 e 6 volte piu’ lento sul singolo core …

Software di CMS Test solo sulla parte Simulazione Geant4+Digitizzazione dei segnali (… avendo 10 giorni in piu’ … ) Throughput puro ~ 3 per core volte peggio Throughput scalato al consumo ~5 volte meglio

Numericamente? (PS: ieri non c’ero, mi e’ stato detto che vi e’ interesse nel capire la bit per bit equivalence fra Intel e ARM) Ieri pomeriggio ho fatto velocemente: Girare una particle gun di Muoni in CMS (Full Geometry, full material) Passare via Geant con tutta la fisica accesa (multiple scattering, etc etc) Confrontare ARM vs Intel le posizioni degli HIT … senza farla lunga … tutto identico: ecco i primi 2 hit per entrambi Intel ARM

Un confronto un po’ scorretto … MacchinaPrezzo (EUR) Numero cores HS0 6/cor e HS06/2URAM (GB) Potenza dissipata Boston Viridis (2U) (?) W Olidata come da AQ (2U, 4 schede madri) kW (?) Se le consideriamo equivalenti come prestazioni, i 3kEuro di costo maggiore sono riassorbiti in 2 anni dal risparmio elettrico. (1W = 1 Eur/anno, e c’e’ da considerare consumo del condizionamento) OGGI: probabilmente non competitivo, ma NON siamo assolutamente distanti ordini di grandezza

Next steps… Avere ricostruzione che gira (lo fa, ma ci sono dei crashes sporadici da capire) Cosa si puo’ fare con 2 GB di RAM e 4 cores? In modalita’ single core poco, CMSSW prende ~ 2 GB per girare Ma si possono fare tests multithreaf/multiprocess: 1 GB baseline + ~ 300 MB/core, si puo’ provare a usare il sistema globalmente Lo scopo vero al momento e’ Validare l’architettura (comprende Physics Validation) Continuare con le Integration Builds per essere sicuri di mantenere tutto funzionante su ARM Una volta usciti gli ARMv8, sarebbe interessante se qualche centro (T1, T2, T3, …) volesse portare in produzione questi oggetti A livello italiano, pare possibile all’interno di PON, FIRB, PRIN, (Premiali?) …

Conclusioni Il porting di uno stack software complesso come quello di CMS su ARM e’ stato in gran parte effettuato Sono stati trovati problemi piu’ o meno attesi, ma in generale il fatto di avere lo stesso compilatore e’ un grande vantaggio che scherma da quasi tutti i problemi Primi benchmarks sul sw portato (e altri benchamark HEP) dicono che consistentemente ci si possono aspettare performance pari a 0.25x per core, ma circa 4x se scalate anche per il consumo Avremo questi in futuro? 1 rack (42U): 1000 CPUs, 4000 cores 4 TB RAM ~5 kW