architettura degli elaboratori a.a. 2005 - 06 (appendice b)
DESCRIPTION
Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B). Introduzione ai Sistemi ad Alte Prestazioni. “High Performance Computing”: motivi. “Technology Push”: competitività e spinta tecnologica. “Technology Pull”: requisiti di applicazioni “computation-intensive” e “data-intensive”. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/1.jpg)
Architettura degli Elaboratori
a.a. 2005 - 06(Appendice B)
Introduzione ai
Sistemi ad Alte Prestazioni
![Page 2: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/2.jpg)
“High Performance Computing”: motivi
“Technology Push”: competitività e spinta tecnologica“Technology Pull”: requisiti di applicazioni “computation-intensive” e “data-intensive”
• Controllo ambientale e prevenzione di disastri
• Chimica, biotecnologie, medicina, ed altre scienze
• Controlli real-time
• Finanza, e-business, e-government …
• Data Mining, motori di ricerca, …
Necessità di performance superiori di più ordini di grandezza rispetto al tradizionale
![Page 3: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/3.jpg)
Vediamo prima come si possono aumentare le prestazioni di un singolo processore,
poi daremo un cenno alle architetture parallele e distribuite con più processori
![Page 4: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/4.jpg)
EsempioLOOP: LOAD RA, Ri, Ra
LOAD RB, Ri, Rb
ADD Ra, Rb, Ra
STORE RC, Ri, Ra
INCR Ri
IF< Ri, RN, LOOP
CPU “tradizionale” (accessi in memoria a domanda-risposta)
Cache “perfetta” (prefetching);
tc = (caso ottimistico, come se tutta la cache fosse realizzata con il metodo diretto)
Tc = N (22 + 9tc) = 43N
T = Tc/6N ~ 7
P = 1/T = 1/(7
Es: = 0,5 nsec ; P ~ 286 MIPS
for (i = 0; i < N; i++)
C[i] = A[i] + B[i]
![Page 5: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/5.jpg)
“Domanda-risposta” è inefficiente
P
MMU-C
LOAD RB, Ri, Rb
ADD Ra, Rb, Ra
Obiettivo: eliminare (minimizzare) i cicli di clock sprecati (P, MMU-C), facendo lavorare le unità della CPU “a pieno regime”
istr
istr
…
LOAD RB, Ri, Rb
ADD Ra, Rb, Ra
…
accesso a cache
ciclo di clock “utile”
ciclo di clock “sprecato”
dato
![Page 6: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/6.jpg)
Parallelismo nell’elaborazione
Oggetti di input Oggetti di output
F
Funzione
Casi tratti dalla vita di tutti i giorni
Elaborazione sequenzialeT = TF
Tc = m TFCome eseguirla in parallelo?
![Page 7: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/7.jpg)
Oggetti di output
Parallelismo nell’elaborazione
Oggetti di input
Casi tratti dalla vita di tutti i giorni: “tutti uguali, un po’ per uno”
Elaborazione parallela : “farm”
Replicazione in n copie
T = TF / n
Tc ~ m TF / n
es: n = 4
F
F
F
F
. . .
![Page 8: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/8.jpg)
Parallelismo nell’elaborazione
Oggetti di input Oggetti di output
Casi tratti dalla vita di tutti i giorni : “catena di montaggio”
Elaborazione parallela : “pipeline”Decomposizione in n stadi
F = F4(F3(F2F1(…)))
T = TF / n
Tc ~ m TF / n
es: n = 4
F1
F2
F3
F4
![Page 9: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/9.jpg)
Applicazioni del parallelismo
• Livello dei processi
• Applicazioni
• Sistema Operativo
• Architettura firmware del singolo processore
• CPU pipeline
• CPU superscalare
• Entrambi i livelli: architettura firmware e processi
• Multiprocessor
• Cluster di PC/Workstation
• Sistemi distribuiti e Reti
• Grid Computing
![Page 10: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/10.jpg)
CPU pipeline
Stadi del pipeline = fasi dell’interprete firmware:
1. Chiamata istruzioni
2. Decodifica e preparazione operandi in registri
3. Eventuale lettura di valori in memoria
4. Esecuzione o eventuale scrittura in memoria
1 2 3 4
Cache Istruzioni
(IC)
Unità Istruzioni
(IU)
Cache Dati (DC)
Unità Esecutiva
(EU)
Memoria intelligente: genera un flusso continuo di istruzioni in sequenza
![Page 11: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/11.jpg)
CPU pipeline LOAD RA, Ri, Ra
LOAD RB, Ri, Rb
ADD Ra, Rb, Ra
… …1. Cache Istruzioni
T Tc m T,
per m (num. istr. eseguite) >> num. stadi pipeline
2. Unità Istruzioni
3. Cache Dati
4. Unità Esecutiva
Ora il Risc ha senso: la riduzione di T prevale sull’aumento di m
LOAD LOAD ADD
1 2 3 4
…
P = 1/T = 1/tc = 1/Es : = 0,5 nsec
P = 1 GIPS
Le stesse MMU+Cache sono realizzate in pipeline.
Si può ottenere:
P 1/fclock
![Page 12: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/12.jpg)
CPU pipeline e superscalare
• I valori di P precedenti sono IDEALI
• In realtà, ci sono degradazioni di P dovute a dipendenze sui dati, istruzioni di salto, ecc
• P 60% – 95% rispetto a Pid
• Importanza dei COMPILATORI OTTIMIZZANTI
• Per aumentare ancora P in modo significativo: CPU SUPERSCALARE
• Cache Istruzioni legge più di una istruzione in un solo tempo di accesso (es: da 4 a 16): interleaving e/o parola lunga
• tutte attraversano insieme il pipeline
• P > (>>) 1/ !!! Es: Pid 4 – 16 GISP, con = 0,5 nsec
![Page 13: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/13.jpg)
CPU superscalare: tecnologie in evoluzione• Multi-Threading
• Hyper-Threading
• Very Long Instruction Word (VLIW)
• …
Come
“interallacciare
” l’esecuzione
di “thread”
distinti su uno
stesso
processore
![Page 14: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/14.jpg)
Prestazioni superiori di uno o più ordini di grandezza : processori multipli
• Livello dei processi
• Applicazioni
• Sistema Operativo
• Architettura firmware del singolo processore
• CPU pipeline
• CPU superscalare
• Entrambi i livelli: architettura firmware e processi
• Multiprocessor
• Cluster di PC/Workstation
• Sistemi distribuiti e Reti
• Grid Computing
![Page 15: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/15.jpg)
Multiprocessor a memoria condivisa
M
CPU
M
CPUCPU CPU CPU. . .
Aumenti di performance (speed-up) di un ordine di grandezza:
P qualche GIPS a decine/centinaia di GIPS
Degradazione di performance dovuta a conflitti sulla memoria, sincronizzazioni, ecc.
![Page 16: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/16.jpg)
Multiprocessor su singolo chip !
L1 cache
P P P P
L1 cache
P P P P
L2 cache
Anche su singolo chip (4 – 8 –16 processori)
Es: tecnologia Ithanium
Architettura SMP (Symmetric MultiProcessor)
![Page 17: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/17.jpg)
Sistemi distribuiti ad alte prestazioni
Cluster di PC o di Workstation
2100 2100 2100
2100
21002100 2100 2100
• Configurazioni da 10 a 1000
nodi
• S.O. Linux, Mac, Windows,
Solaris
• Performance da decine di GIPS
fino ai 1000 GIPS ed oltre
• Costo contenuto
• Rapporto P/costo molto favorevole
Rete ad alta banda: 100 Mbit/sec – 1Gbit/sec su scala LAN (Fast Ethernet, Gigabit Ethernet, Myrinet, …)
Entro pochi anni: 100 - 1000 Gbit/sec, anche su scala MAN (ottica)
![Page 18: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/18.jpg)
Reti ad alta banda
Esempio su Pisa:
una MAN con tecnologia fotonica,
banda complessiva: 320 Gbit/sec,
da 1 a 32 canali.
![Page 19: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/19.jpg)
Esempio di “farm”: Web Server ad alte prestazioni
Web-object Cache
21-6 5
Web Farm
Internet
Dispatcher
Back-end Server3-4
Stato delle transazioni in corso
Esempio di Caching sullo stato delle transazioni
![Page 20: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/20.jpg)
Piattaforme abilitanti ad alte prestazioni
Cluster eterogenei Virtual Private Networks (VPN), su scala LAN, MAN, WAN
Grid
2100 2100 2100 2100
2100 2100 2100 2100
Linux / Pentium
2100 2100 2100 2100
2100 2100 2100 2100
Power PC / MacOS
2100
2100 2100 2100 2100
2100 2100 2100 2100
SUN / Solaris
Dominio amministrativo
Dom. amm.
2100 2100 2100 2100
2100 2100 2100 2100
Dom. amm.
Middleware
Cluster omogenei, in generale con nodi multiprocessor (SMP)
![Page 21: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/21.jpg)
Aree che confluiscono nel Grid Computing
Distributed/Web Computing: Objects / Component Software Technology
High-performance Computing, Cluster Computing
Cooperation and Virtual Organizations, Pervasive Computing
Knowledge Management and Data Intensive Computing
Valore aggiunto: Quality of Service (QoS)
![Page 22: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/22.jpg)
Grid Computing
• Condivisione di risorse distribuite
• DATI, CALCOLO, CONOSCENZA
• in nodi di elaborazione e data-server ad alte prestazioni
Visione di una “macchina unica” a livello rete
(“next generation Web”)
Controllo della Qualità del Servizio (QoS):
• utilizzare dinamicamente molte risorse disponibili su Grid, per garantire determinati livelli di
• performance,
• tolleranza ai guasti, ecc
![Page 23: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/23.jpg)
PISA
NAPOLI
COSENZA
PERUGIA
PADOVA
GENOVA
LECCE
MILANO
PALERMO
ROMA
TORINO
MATERA
BARI
BOLOGNA
TRENTO
TRIESTE
CATANIA
GRID.IT - Coordinamento Nazionale
Ente proponente: CNRCoordinatore scientifico: M. Vanneschi
CNR – ISTI, Pisa – D. Laforenza
CNR – ISTM, Perugia – M. Rosi
CNR – ICAR, Napoli – A. Murli
INFN, Padova – M. Mazzucato
CNIT, Pisa – G. Prati
ASI, Matera – G. Milillo
Costo di Grid.it : 11.1 M€
• 8.1 M€ finanziamento,
• > 60% per contratti a giovani ricercatori
+ altre sinergie CNR, INFN, CNIT, ASI
Larga partecipazione di Università
Nov. 2002 – Nov. 2005
![Page 24: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/24.jpg)
Problemi tecnologici e di ricerca nel calcolo ad alte prestazioni• Tecnologia software, strumenti e ambienti di
programmazione ad alto livello
• Sviluppo di applicazioni indipendente dall’architettura parallela o distribuita, come nella programmazione su architetture tradizionali
• Il problema di fondo:
• Interoperabilità e Portabilità da coniugare con la Performance
• Indirizzo didattico nella Laurea Specialistica in Tecnologie Informatiche
![Page 25: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/25.jpg)
Ambiente di programmazione ad alto livello per lo sviluppo di applicazioni ad alte prestazioni
Projects:
• ASI-PQE2000
• CNR Agenzia 2000
• MIUR-CNR Strategic Programme L449/97, 1999 and 2000
• MIUR-FIRB Grid.it
• SAIB – Atos Origin
Implementations:
• Heterogeneous Cluster/Beowulf (on top of ACE)
• CORBA interoperability
• First Grid version for Grid – AssistConf (on top of Globus)
• On-going: High-performance Component-based Grid-aware ASSIST
Department of Computer Science, University of PisaDepartment of Computer Science, University of Pisa
ASSISTASSISTA Programming Environment for High-performance Portable A Programming Environment for High-performance Portable Applications on Clusters, Large-scale Platforms, and GridsApplications on Clusters, Large-scale Platforms, and Grids
Department of Computer Science, University of PisaDepartment of Computer Science, University of Pisa
ASSISTASSISTA Programming Environment for High-performance Portable A Programming Environment for High-performance Portable Applications on Clusters, Large-scale Platforms, and GridsApplications on Clusters, Large-scale Platforms, and Grids
![Page 26: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)](https://reader035.vdocuments.site/reader035/viewer/2022062314/56814400550346895db094d9/html5/thumbnails/26.jpg)
Gruppo “Piattaforme Abilitanti ad Alte Prestazioni”Dipartimento di Informatica, Università di Pisa
ASSIST Group
Professori: M. Danelutto, M. VanneschiRicercatori: M. Aldinucci, M. CoppolaStudenti di Dottorato: C. Bertolli, S. Campa, L. Scarponi, C. ZoccoloContrattisti/assegnisti: P. Ciullo, L. Dazi, G. Giaccherini, S. Magini, A. Paternesi, P. Pesciullesi, A.
Petrocelli, E. Pistoletti, L. Potiti, R. Ravazzolo, M. Torquati, L. Veraldi, G. Virdis, P. VitaleSegretaria del gruppo: Simona Moi