Architettura degli Elaboratori a.a. 2006 - 07 Sviluppi e Tendenze.

Slides:



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

Gestione della memoria centrale
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.
Definizione e tipi di implementazione
Prof. Emanuele Marino Concetti teorici di base della tecnologia dellinformazione.
Il Sistema Operativo.
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
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)
2 Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione dati memorizzazione dati trasferimento.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Struttura dei sistemi operativi (panoramica)
Riunione CRESCO Infrastruttura HPC Cresco Analisi Preliminare.
Il Linguaggio Macchina
Com’è fatto un elaboratore?
Software di base Il sistema operativo è un insieme di programmi che opera sul livello macchina e offre funzionalità di alto livello Es.organizzazione dei.
Linguaggi di programmazione
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
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.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per lambiente e il territorio Il calcolatore Stefano Cagnoni e Monica Mordonini Dipartimento.
Architettura degli elaboratori
UNIVERSITA’ STUDI DI ROMA “FORO ITALICO”
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Case study Maiora srl.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 - Concetti di base della Tecnologia dell'Informazione
VIRTUALIZZAZIONE Docente: Marco Sechi Modulo 1.
Architettura del calcolatore
Seconda Università degli Studi di Napoli Facoltà di Economia Corso di Informatica Prof.ssa Zahora Pina.
Il Sistema Operativo (1)
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Sistemi ad elevate prestazioni Lezione 1
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Sistema Operativo (Software di base)
Il supercalcolo fai-da-te
I processi.
Architettura degli Elaboratori a.a (Appendice B) Introduzione ai Sistemi ad Alte Prestazioni.
Calcolatori Elettronici Il Processore
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
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.
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
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Il calcolatore Stefano Cagnoni e Monica Mordonini
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
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
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.
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.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Transcript della presentazione:

Architettura degli Elaboratori a.a Sviluppi e Tendenze

Cenni a sviluppi sul livello dei processi

Livello dei processi: complementi Modelli di cooperazione Ambiente locale, scambio di messaggi Ambiente globale, variabili condivise

Modelli ai diversi livelli STE ad ambiente globale Processi ad ambiente locale

X Processi applicativi Servizio = processo gestore maschera completamente le variabili di stato del servizio (X) ai processi applicativi Servizi ad ambiente locale Processi applicativi Servizio = procedura variabili di stato del servizio (X) condivise + meccanismi di sincronizzazione XX Servizi ad ambiente globale

Spazi di indirizzamento e condivisione Il problema dei puntatori condivisi –Indirizzi logici distinti –Indirizzi logici coincidenti –Indirizzi fisici Controlli di protezione assenti o inefficienti Stato sistema vs stato utente ! (è solo una eventuale ottimizzazione dello spazio, di importanza minore)

Spazi di indirizzamento e condivisione Il problema dei puntatori condivisi –Soluzione con allocazione dinamica della memoria virtuale –Metodo a CAPABILITY Un processo A passa un oggetto X ad un altro processo B, passandogli lentrata di Tab_Ril_A (CAP) B decide in quale posizione di Tab_Ril_B copiare CAP: così facendo, alloca dinamicamente X nella sua Memoria Virtuale e decide il valore dellidentificatore di pagina logica per X Successivamente, B cancellerà tale entrata da Tab_Ril_B: così facendo, dealloca X dalla sua Memoria Virtuale –Esempi: tutti i PCB degli altri processi, scrittura diretta in variabile targa, descrittori di canale passati via channelname, ecc.

Cenni a sviluppi sullarchitettura di 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,25 nsec ; P ~ 571 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

CPU pipeline Stadi del pipeline = fasi dellinterprete 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 sullaumento di m LOAD ADD … P = 1/T = 1/t c = 1/ Es : = 0,25 nsec P = 2000 MIPS 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 8 – 32 GISP, con = 0,25 nsec

CPU superscalare: tecnologie in evoluzione Multi-Threading Hyper-Threading Very Long Instruction Word (VLIW) … Come interallacciare lesecuzione di thread distinti su uno stesso processore

Cenni a sviluppi e tendenze su architetture parallele

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

Multiprocessor a memoria condivisa M CPU M... Aumenti di performance (speed-up) di un ordine di grandezza: P da decine di GIPS a centinaia/migliaia di GIPS Degradazione di performance dovuta a conflitti sulla memoria, sincronizzazioni, ecc.

Multiprocessor su singolo chip (Multicore) C1 cache PPPP PPPP C2 cache Multiprocessor a memoria condivisa (2 – 4 – 8 –16 processori) Intel Pentium 4, Ithanium, iAPX IBM CELL SUN Niagara

Tecnologia Multicore Quale evoluzione ? –Dora in poi il parallelismo sarà la regola, non leccezione Qualunque CPU sarà un multiprocessor –Quale modello di programmazione ? –Quali strumenti di programmazione ?

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 – 1 Gbit/sec – 10 Gbit/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.

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

Non solo calcolatori: tecnologia pervasiva e ubiqua, dispositivi mobili Dispositivi mobili, PDA Miniaturizzazione, embedding Wearable Computing

Un esempio di applicazione distribuita HPC: gestione delle emergenze Visualising Mobile Access Mainframe + PC-Cluster Data & Knowledge Storage La gestione delle emergenze richiede che lavoratori mobili e non (polizia, medici, vigili del fuoco, operatori ambientali, ecc.) collaborino in situazioni critiche e pericolose, avendo accesso ed elaborando in tempo reale una grande quantità di informazioni e conoscenza allo scopo di migliorare lo specifico processo di decisione. Mobile Access Alcune funzionalità sono effettuate in locale nelle unità mobili. Altre sono delegate, in tempo reale o post-process, a unità base più potenti (cluster, macchine parallele, mainframe): simulazioni complesse, classificazione del rischio, azioni proattive, ecc. Utilizzazione di più risorse eterogenee, dislocate su più siti, con modalità dinamica e adattiva sfruttando le risorse disponibili al meglio per garantire la necessaria Qualità del Servizio. In caso di emergenza o di non disponibilità delle unità base, le stesse unità mobili devono poter cooperare (magari, in gran numero) per svolgere i servizi più critici. Ciò richiede che il sistema abbia una grande capacità dinamica di autoadattamento sfruttando le risorse disponibili al meglio per garantire la necessaria Qualità del Servizio. La capacità di autoadattamento deve estendersi a qualunque tipo di risorsa di calcolo, memorizzazione, conoscenza e comunicazione prevista e (momentaneamente) disponibile.

Problemi tecnologici e di ricerca nel calcolo ad alte prestazioni Tecnologia software, strumenti e ambienti di programmazione ad alto livello Sviluppo di applicazioni indipendente dallarchitettura 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 Grid version (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

Fine

Parallelismo nellelaborazione 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 nellelaborazione 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 nellelaborazione 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