Parte VIII. Architetture Parallele



Documenti analoghi
CALCOLO PARALLELO SUPERARE I LIMITI DI CALCOLO. A cura di Tania Caprini

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

La macchina di Von Neumann. Archite(ura di un calcolatore. L unità di elaborazione (CPU) Sequenza di le(ura. Il bus di sistema

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

La Gestione delle risorse Renato Agati

Classificazione delle Architetture Parallele

Architetture parallele

La memoria centrale (RAM)

Sistemi avanzati di gestione dei Sistemi Informativi

CALCOLATORI ELETTRONICI Lezione n. Arch_Par 3

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Organizzazione della memoria principale Il bus

IL MULTIPROCESSING. Tendenza attuale: distribuire il calcolo tra più processori.

Architettura hardware

Architettura dei calcolatori I parte Introduzione, CPU

DMA Accesso Diretto alla Memoria

Esame di INFORMATICA

Organizzazione della memoria

Più processori uguale più velocità?

sistemi distribuiti Sistemi distribuiti - architetture varie classificazioni classificazione di Flynn (1972)

Architettura di un calcolatore

Introduzione. Sistemi Distribuiti. Introduzione. Introduzione. Definizione di sistema distribuito. Introduzione

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Distribuiti. Introduzione Definizione Vantaggi e svantaggi Architetture hardware e software Problemi di progetto. Sistemi Operativi mod.

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

Lezione 10. Scheduling nei sistemi multiprocessori. Esempio: P=2 processori. Scheduling dei processi

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Informatica - A.A. 2010/11

Architettura del calcolatore

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

CPU. Maurizio Palesi

STRUTTURE DEI SISTEMI DI CALCOLO

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Memoria Virtuale. Anche la memoria principale ha una dimensione limitata. memoria principale (memoria fisica) memoria secondaria (memoria virtuale)

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Il sistema operativo TinyOS

Laboratorio di Informatica

Architettura di un sistema di calcolo

Comunicazione tra Processi

Architettura dei computer

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Corso di Sistemi di Elaborazione delle informazioni

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Il routing nelle reti IP

Architettura dei calcolatori II parte Memorie

Struttura del calcolatore

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Come funziona un sistema di elaborazione

I Thread. I Thread. I due processi dovrebbero lavorare sullo stesso testo

Elettronica dei Sistemi Programmabili

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

ARCHITETTURA CALCOLATORI: Memoria di massa (o secondaria)

Modello dei processi. Riedizione delle slide della Prof. Di Stefano

Esercitazione E6 Esercizi d esame

SISTEMI OPERATIVI DISTRIBUITI

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

Memoria secondaria. Architettura dell elaboratore. Memoria secondaria. Memoria secondaria. Memoria secondaria

Il Sistema Operativo

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Tecniche per il progetto di sistemi elettronici tolleranti ai guasti

Gestione della memoria centrale

I sistemi distribuiti

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Capitolo 11 La memoria cache

C. P. U. MEMORIA CENTRALE

Reti di calcolatori. Reti di calcolatori

CAPITOLO 1. Introduzione alle reti LAN

Le reti. Introduzione al concetto di rete. Classificazioni in base a

Gerarchie di memoria Divide et impera. Gerarchie di memoria La congettura 90/10. Gerarchie di memoria Schema concettuale

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

LABORATORIO DI SISTEMI

Redundant Array of Inexpensive (Independent) Disks. Disco magnetico

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

1 Processo, risorsa, richiesta, assegnazione 2 Concorrenza 3 Grafo di Holt 4 Thread 5 Sincronizzazione tra processi

Livello logico digitale. bus e memorie

12. Implementazione di un File System Struttura a livelli Allocazione contigua

Calcolatori Elettronici

Calcolatori Elettronici B a.a. 2006/2007

Il computer: primi elementi

Corso di Informatica

Transcript:

Parte VIII Architetture Parallele VIII.1

Motivazioni Limite di prestazioni delle architetture sequenziali: velocità di propagazione dei segnali, la luce percorre 30 cm in un nsec! Migliore rapporto costo/prestazioni (Es. cluster di workstation) Grande varietà di architetture proposte e realizzate Non sempre si riesce a sfruttarne le potenzialità adeguatamente La vera difficoltà non è realizzare architetture parallele, ma sviluppare applicazioni parallele VIII.2

Opzioni di Progetto Processori Numero, tipo, capacità di elaborazione Da semplici ALU a CPU complete Da poche unità a molte migliaia Memorie Private o condivise Schemi complessi di caching Interconnessione Topologia di interconnessione Numero di collegamenti Distanza tra gli elementi Scalabilità dell'architettura VIII.3

Modelli di Comunicazione Due approcci fondamentali: Multiprocessori Tutte le CPU condividono una memoria fisica comune Spazio comune di memoria virtuale I processi possono comunicare tramite la memoria Accoppiamento stretto Multicomputers Ogni CPU ha la sua memoria privata Uno spazio di memoria fisica per ciascuna CPU I processi comunicano tramite scambio di messaggi Accoppiamento lasco VIII.4

Topologie di Interconnessione STELLA COMPLETA ALBERO ANELLO GRIGLIA DOPPIO TORO CUBO IPERCUBO VIII.5

Topologie di Interconnessione (2) Stella Tutte le comunicazioni attraversano un nodo Distanza costante tra tutti i nodi Non scalabile: fan-out lineare Completa Il numero di interconnessioni cresce con il quadrato dei nodi n 2 Distanza costante tra tutti i nodi Non scalabile: fan-out lineare Albero Profondità logaritmica: log r n Distanza logaritmica tra i nodi Fan-out r costante Non scalabile: rami alti congestionati VIII.6

Griglia e Doppio Toro Numero di archi lineare col numero dei nodi n (2n nel doppio toro) Distanza massima tra due nodi (diametro) ordine di n: O(2 n) nella griglia O( n) nel doppio toro Fan-out costante pari a 4 2 n collegamenti complessivi Topologia ben scalabile Cammini multipli tra due nodi Topologia resistente ai guasti specie nel doppio toro ES doppio toro con n=16 32 collegamenti diametro = 4 VIII.7

Ipercubo Un ipercubo di dimensione d ha un numero di nodi pari a n=2 d Ciascun nodo ha d archi uscenti Il fan-out d cresce logaritmicamente con il numero di nodi Il diametro dell ipercubo è d=log 2 n, cioè cresce col logaritmo del numero di nodi n Ciascun nodo è contraddistinto da una etichetta di d bit Nodi contigui hanno etichette che differiscono di un solo bit Sono possibili più percorsi alternativi ES d=4 Da 0000 a 1111 in 4 passi 0000 1000 1100 1110 1111 0000 0001 0011 0111 1111 e altri 22 cammini. VIII.8

Metriche di Prestazione Speedup: fattore di velocità che si guadagna nell esecuzione rispetto ad un uniprocessore Caso ideale: speedup lineare con il numero dei processori Purtroppo è raramente raggiunto Dipende sia dalle applicazioni che dai vincoli dell architettura VIII.9

Paradigmi Computazionali PIPELINE PHASED COMPUTATION DIVIDE ET IMPERA REPLICATED WORKER VIII.10

Tassonomia di Flynn Introdotta da Flynn, basata sui concetti di instruction stream e data stream, e considera tutte le possibili combinazioni: SISD: Single Instruction Single Data SIMD: Single Instruction Multiple Data (la stessa operazione effettuata su dati diversi) MISD: Multiple Instruction Single Data (finora nessuna implementazione) MIMD: Multiple Instruction Multiple Data (operazioni distinte su dati distinti) Estensione della tassonomia per considerare diversi tipi di architetture MIMD VIII.11

Tassonomia Estesa VIII.12

Architetture MIMD UMA (Uniform Memory Access) Tutte le CPU hanno lo stesso tempo di accesso a tutta memoria Allocazione dei dati irrilevante NUMA (NonUniform Memory Access) Per ciascuna CPU il tempo di accesso varia a seconda del modulo acceduto Allocazione dei dati critica COMA (Cache Only Memory Access) L accesso avviene solo tramite cache MPP (Massive Parallel Processors) Sistemi autonomi (CPU-Memoria) connessi con reti proprietarie veloci COW (Cluster Of Workstations) Insiemi di workstation connessi con tecnologia off-the-shelf VIII.13

Architetture UMA a Bus Il Bus può divenire collo di bottiglia, e comunque limita la scalabilità Le memorie private alleviano il problema Anche le cache diminuiscono il traffico sul Bus Problema della coerenza di cache Se lo stesso blocco è presente nello stesso momento in più cache, allora si rischia che le copie si disallineino Le CPU devono rispettare particolari protocolli per garantire la coerenza VIII.14

Snooping Caches WRITE THROUGH PROTOCOL To snoop: ficcare il naso (Snoopy) I controller delle cache spiano gli accessi a memoria delle altre cache Questo è supportato a livello hardware Protocollo Write Through Ogni CPU spia le azioni delle altre Nessuna azione per le letture Reagisce solo se un altra CPU scrive un blocco che lei ha in cache In quel caso invalida il blocco nella propria cache Mantiene sempre la memoria allineata ma carica il bus di scritture VIII.15

Il protocollo MESI VIII.16

Il Protocollo MESI (2) È un protocollo write-back: i blocchi sono aggiornati in memoria solo quando una CPU finisce di scriverci Usato dal Pentium II ed altri Stati di un blocco di cache: 1) INVALID: dati non validi 2) SHARED: presente in più cache, memoria allineata 3) EXCLUSIVE: presente solo in quella cache, memoria allineata 4) MODIFIED: presente solo in quella cache, memoria disallineata La lettura di un blocco MODIFIED obbliga il richiedente ad attendere ed il possessore ad allineare la memoria (ridiventa SHARED) La scrittura di un blocco MODIFIED obbliga inoltre il possessore a marcare il blocco come INVALID dopo averlo copiato in memoria VIII.17

Architetture MPP Sono i successori dei mainframe In genere usano CPU standard Rete di interconnesione a larga banda e bassa latenza Grande capacità di I/O, dati partizionati fra i nodi Ottima tolleranza ai guasti Buona scalabilità (64-256 CPU) Uso tipico: piattaforma per Basi di Dati Parallele VIII.18