Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)

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

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 Presentation

Transcript of Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)

Page 1: Architettura degli Elaboratori a.a. 2005 - 06 (Appendice B)

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)

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

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)

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)

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

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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