26
Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B) Introduzione ai Sistemi ad Alte Prestazioni

Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B) Introduzione ai Sistemi ad Alte Prestazioni

Embed Size (px)

Citation preview

Page 1: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B) Introduzione ai Sistemi ad Alte Prestazioni

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) 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”

• 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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

“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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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) Introduzione ai Sistemi ad Alte Prestazioni

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