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

Slides:



Advertisements
Presentazioni simili
CONCLUSIONE - Nucleo (o Kernel) Interagisce direttamente con lhardware Interagisce direttamente con lhardware Si occupa dellesecuzione.
Advertisements

Architetture dei sistemi distribuiti Prof
Classe III A A.s – 2010 Programma di Informatica
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Gestione Input Output A. Ferrari.
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Massa Laura Mela Enrica
Architettura degli Elaboratori a.a Sviluppi e Tendenze.
Architettura di un sistema informatico Hardware
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
Introduzione al calcolo parallelo SISTEMI INFORMATIVI AZIENDALI Pierpaolo Guerra Anno accademico 2009/2010.
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Riunione CRESCO Infrastruttura HPC Cresco Analisi Preliminare.
Sistemi Operativi Distribuiti: indice
Xscale Nicola Rebagliati 2001s135. Cose Xscale Xscale è una microarchitettura per processori che fornisce ottime prestazioni con bassi consumi energetici.
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Introduzione Cosa è un Sistema Operativo ?
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.
Architettura degli elaboratori
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
High-Available Service Manager Diego Costantini Università degli studi di Bologna Corso di Laurea Specialistica.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Istituto Nazionale di Fisica Nucleare Roma,12 febbraio 2001 Netgroup meeting Situazione attuale e attivita futura - R.Gomezel 1 Netgroup meeting Situazione.
25 ottobre 2002infn1 FIRB-Grid WP3,5 Grid deployment.
Architettura di Calcolo
La rete di istituto Maninder Bansal 5Bz Vital Ivo 5Bz Anno scolastico 2005/06.
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Calcolatori Elettronici II Lezione n. 17 – Introduzione alle architetture parallele Prof. Gianni Conte Università di Parma CALCOLATORI ELETTRONICI II CALCOLATORI.
Grid Computing: tecnologie abilitanti e applicazioni per eScience MURST Impiego del Fondo Speciale per lo Sviluppo della Ricerca di Interesse Strategico.
Unità centrale di processo
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Sistemi ad elevate prestazioni Lezione 1
Arch. Elab. - S. Orlando 1 Esercitazione su Instruction Level Parallelism Salvatore Orlando.
Calcolatori Elettronici Il Processore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Tecnologie dell’Informazione e della Comunicazione
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Capitolo 1 Il middleware
Corso di Architetetture degli Elaboratori, A.A. 2004/ Architettura degli Elaboratori Elisa B.P. Tiezzi Orario ricevimento: Giovedì, ( Il materiale.
Corso di Laurea in Scienze e Tecnologie Chimiche corso di Informatica Generale Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Architetture dei sistemi di calcolo, sistemi operativi, reti di calcolatori Dr. Luciano Bononi Facoltà di Scienze, Fisiche Naturali dell’Università di.
MODELLI E COMPUTER ovvero…. ENEAi giovedì della cultura scientifica
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
SEMINARI CAMO 2003 LA SIMULAZIONE NUMERICA COMPIE 50 ANNI
Dalla macchina di Von Neumann …
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
I Microprocessori Unità 3 del libro Internet Working Sistemi e reti.
Uso Didattico dell'Informatica Storica 07 STORIA DEI MICROPROCESSORI E INTRODUZIONE ALLA VIRTUALIZZAZIONE prof. Cuoghi Giampaolo ITIS “A.Volta” Sassuolo.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Domenico Elia1Riunione PRIN STOA-LHC / Bologna Attività per ALICE: sommario e prospettive Domenico Elia Riunione PRIN STOA-LHC Bologna, 18 Giugno.
HARDWARE (2). MEMORIE Due classi di memoria MEMORIA CENTRALE –media capacità - ottima velocità MEMORIA DI MASSA elevata capacità - bassa velocità.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Aggiornamento Netgroup R.Gomezel Commissione Calcolo e Reti LNF 29/09/ /10/2009.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Architettura degli Elaboratori a.a (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

Vediamo prima come si possono aumentare le prestazioni di un singolo processore, poi daremo un cenno alle architetture parallele e distribuite con più processori

Esempio LOOP: 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); t c =  (caso ottimistico, come se tutta la cache fosse realizzata con il metodo diretto) T c = N (22  + 9t c ) = 43N  T = T c /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]

“Domanda-risposta” è inefficiente P MMU-C LOAD RB, Ri, RbADD Ra, Rb, Ra Obiettivo: eliminare (minimizzare) i cicli di clock sprecati (P, MMU-C), facendo lavorare le unità della CPU “a pieno regime” istr … LOAD RB, Ri, Rb ADD Ra, Rb, Ra … accesso a cache ciclo di clock “utile” ciclo di clock “sprecato” dato

Parallelismo nell’elaborazione Oggetti di inputOggetti di output F Funzione Casi tratti dalla vita di tutti i giorni Elaborazione sequenziale T = T F T c = m T F Come eseguirla in parallelo?

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 = T F / n T c ~ m T F / n es: n = 4 F F F F...

Parallelismo nell’elaborazione Oggetti di inputOggetti di output Casi tratti dalla vita di tutti i giorni : “catena di montaggio” Elaborazione parallela : “pipeline” Decomposizione in n stadi F = F 4 (F 3 (F 2 F 1 (…))) T = T F / n T c ~ m T F / n es: n = 4 F1F1 F2F2 F3F3 F4F4

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

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 Cache Istruzioni (IC) Unità Istruzioni (IU) Cache Dati (DC) Unità Esecutiva (EU) Memoria intelligente: genera un flusso continuo di istruzioni in sequenza

CPU pipeline LOAD RA, Ri, Ra LOAD RB, Ri, Rb ADD Ra, Rb, Ra … 1. Cache Istruzioni T T c  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 ADD … P = 1/T = 1/t c = 1/  Es :  = 0,5 nsec P = 1 GIPS Le stesse MMU+Cache sono realizzate in pipeline. Si può ottenere: P  1/  f clock

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 P id 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: P id  4 – 16 GISP, con  = 0,5 nsec

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

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

Multiprocessor a memoria condivisa M CPU M... 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.

Multiprocessor su singolo chip ! L1 cache PPPP PPPP L2 cache Anche su singolo chip (4 – 8 –16 processori) Es: tecnologia Ithanium Architettura SMP (Symmetric MultiProcessor)

Sistemi distribuiti ad alte prestazioni Cluster di PC o di Workstation 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: Gbit/sec, anche su scala MAN (ottica)

Reti ad alta banda Esempio su Pisa: una MAN con tecnologia fotonica, banda complessiva: 320 Gbit/sec, da 1 a 32 canali.

Esempio di “farm”: Web Server ad alte prestazioni Web-object Cache Web Farm Internet Dispatcher Back-end Server 3-4 Stato delle transazioni in corso Esempio di Caching sullo stato delle transazioni

Piattaforme abilitanti ad alte prestazioni  Cluster eterogenei  Virtual Private Networks (VPN), su scala LAN, MAN, WAN  Grid 2100 Linux / Pentium 2100 Power PC / MacOS 2100 SUN / Solaris Dominio amministrativoDom. amm Dom. amm. Middleware  Cluster omogenei, in generale con nodi multiprocessor (SMP)

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)

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

PISA NAPOLI COSENZA PERUGIA PADOVA GENOVA LECCE MILANO PALERMO ROMA TORINO MATERA BARI BOLOGNA TRENTO TRIESTE CATANIA GRID.IT - Coordinamento Nazionale Ente proponente: CNR Coordinatore 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 – Nov. 2005

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

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 Pisa ASSIST A Programming Environment for High-performance Portable Applications on Clusters, Large-scale Platforms, and Grids Department of Computer Science, University of Pisa ASSIST A Programming Environment for High-performance Portable Applications on Clusters, Large-scale Platforms, and Grids

Gruppo “Piattaforme Abilitanti ad Alte Prestazioni” Dipartimento di Informatica, Università di Pisa ASSIST Group Professori: M. Danelutto, M. Vanneschi Ricercatori: M. Aldinucci, M. Coppola Studenti di Dottorato: C. Bertolli, S. Campa, L. Scarponi, C. Zoccolo Contrattisti/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. Vitale Segretaria del gruppo: Simona Moi