Algoritmi Paralleli e Distribuiti a.a. 2008/09

Slides:



Advertisements
Presentazioni simili
Algoritmi e Programmazione
Advertisements

Informatica Generale Marzia Buscemi
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 31/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 22/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 12/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 17/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 20/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 28/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 06/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 19/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 27/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 15/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
1 2. Analisi degli Algoritmi. 2 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo:
Il linguaggio Fortran 90: 2. Istruzioni di Controllo
Introduzione1 Algoritmi e strutture dati - Definizioni Struttura dati: organizzazione sistematica dei dati e del loro accesso Algoritmo: procedura suddivisa.
Introduzione alla programmazione lll
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
3. Architettura Vengono descritte le principali componenti hardware di un calcolatore.
Strutture di controllo in C -- Flow Chart --
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Architettura di Calcolo
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Calcolatori Elettronici II Lezione n. 17 – Introduzione alle architetture parallele Prof. Gianni Conte Università di Parma CALCOLATORI ELETTRONICI II CALCOLATORI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 17/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 08/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
ND-partizione (A) n   A  somma  0 M  1/2 (  a i ) for i  1 to n do S[i]  choice ({true, false}) if S[i] then somma  somma + a i if somma > M then.
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Paola Disisto, Erika Griffini, Yris Noriega.  Insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 07/04/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Sistema operativo Il Sistema Operativo gestisce le risorse hw e sw del sistema di elaborazione Facilita l'interazione tra utente e sistema Esistono diversi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
 Il modello a memoria comunque trova impiego nelle architetture in cui esiste un’unica memoria a tutti i processi,per esempio macchine monoprocessore.
© 2016 Giorgio Porcu - Aggiornamennto 18/03/2016 I STITUTO T ECNICO SECONDO BIENNIO T ECNOLOGIE E P ROGETTAZIONE Il Sistema Operativo Concorrenza e Grafi.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Simulazione di lettura e scrittura concorrente Tecnica dell’accelerated cascading Lezione.
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi Complessità e Trasportabilità Lezione n°3.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
Algoritmi Avanzati a.a. 2011/12 Lezione del 02/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Interconnessione tramite reti Lezione n°6.
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Somme prefisse Lezione n°2.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2012/2013 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Lezione n°19 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Algoritmi Avanzati Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi
Algoritmi Avanzati a.a.2010/2011 Prof.ssa Rossella Petreschi
Transcript della presentazione:

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 03/03/2009 Prof.ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI Anno Accademico 2007/2008

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Sistemi Concorrenti Vogliamo analizzare come si deve progettare un algoritmo quando, per velocizzare la computazione, si vogliono usare contemporaneamente più entità addette al calcolo. Parleremo di: Computazione parallela e algoritmi paralleli Computazione distribuita e algoritmi distribuiti Algoritmi Paralleli e Distribuiti a.a. 2008/09

Differenza fra sistema concorrente e sistema sequenziale Le entità di un sistema concorrente non conoscono lo stato globale, ma conoscono solo il loro stato e quello delle entità adiacenti Le decisioni prese si basano sullo stato globale del sistema (non è detto che l’accesso all’intero stato avvenga in una singola istruzione) La relazione d’ordine temporale indotta negli eventi che costituiscono l’esecuzione di un algoritmo concorrente non è totale: due entità p e q possono richiedere di accedere contemporaneamente alla stessa risorsa r. Gli eventi che costituiscono l’esecuzione di un algoritmo sequenziale sono totalmente ordinati: un processo p accede ad una risorsa r solo dopo che il processo q ha completato di usufruire della risorsa r. Più computazioni sono possibili contemporaneamente Dato un programma e un input solo una singola computazione é possibile Algoritmi Paralleli e Distribuiti a.a. 2008/09

Classificazione di Flynn SISD: Single Instruction, Single Data; è la tradizionale macchina sequenziale di Von Neumann in cui, ad ogni passo, l'unica unità di controllo esegue una sola istruzione che opera su di un singolo dato. MISD: Multiple Instructions, Single Data; (si tratta di un'estensione della macchina sequenziale SISD) in cui ogni processore esegue un'operazione differente da quella svolta dagli altri su di un singolo dato comune a tutti i processori. SIMD: Single Instruction, Multiple Data; macchina in cui ogni processore esegue la stessa istruzione su dati differenti; essa costituisce il modello base per la PRAM (Parallel Random Access Machine). MIMD: Multiple Instructions, Multiple Data; ogni processore ha un suo insieme di dati ed un suo insieme di istruzioni per elaborarli; i processori sono collegati attraverso reti di interconnessione (Sistemi Distribuiti). Algoritmi Paralleli e Distribuiti a.a. 2008/09

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Macchina parallela Una macchina parallela (P-RAM) è un insieme di processori, tipicamente dello stesso tipo, interconnessi in modo tale da consentire il coordinamento delle attività e lo scambio dei dati. L’interconnessione è di tipo Memoria condivisa o Rete di Interconnessione Algoritmi Paralleli e Distribuiti a.a. 2008/09

Interconnessione a memoria condivisa La comunicazione tra processori avviene passando attraverso zone di memoria condivisa. Ulteriori distinzioni sono necessarie a seconda delle differenti modalità di accesso consentite: EREW: Exclusive Read, Exclusive Write; CREW: Concurrent Read, Exclusive Write; ERCW: Exclusive Read, Concurrent Write; CRCW: Concurrent Read, Concurrent Write; Memoria P0 P1 P2 Pn-1 Algoritmi Paralleli e Distribuiti a.a. 2008/09

Scrittura Concorrente Nei modelli a scrittura concorrente, qualora più processori accedano in scrittura ad una stessa locazione di memoria condivisa, è possibile adottare uno dei seguenti criteri di accesso: si permette la scrittura ad uno qualunque dei processori se i dati da inserire sono uguali fra loro; si può stabilire una scala di priorità tra i processori; si scrive nella cella di memoria una funzione di tutti i dati (ad esempio il massimo, lo xor, la somma). Algoritmi Paralleli e Distribuiti a.a. 2008/09

Algoritmi Paralleli e Distribuiti a.a. 2008/09 Algoritmo Parallelo Un algoritmo parallelo è un metodo di soluzione per un dato problema pensato per essere eseguito su una particolare macchina parallela. Nel seguito si assumerà che l’esecuzione di un algoritmo su vari processori proceda in maniera sincrona e che i parametri delle funzioni siano passati per puntatore (ad eccezione del parametro n che si assume essere una costante nota a tutti i processori). Algoritmi Paralleli e Distribuiti a.a. 2008/09

Esempio di Algoritmo su P-RAM di tipo EREW … n max A[2] SeqMax(A, n) begin for i = 0 to n-1 do if A[ i ] > A[ 0 ] then A[ 0 ] = A[ i ] return A[ 0 ] end Lavora un solo processore Si adoperano n processori ParMax(A, n) begin for i = 1 to log n do k = n/2i for j = 0 to (k-1) pardo Pj: if A[ j ] < A[ j+k ] then A[ j ] = A[ j+k ] return A[ 0 ] end Tempo parallelo logaritmico log n A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] max Algoritmi Paralleli e Distribuiti a.a. 2008/09

Esempio di Algoritmo su P-RAM di tipo CREW Si adoperano n processori Assumiamo A[ i ] tutti distinti Cerca(A, n, x) begin indice = -1 for i = 0 to n-1 pardo Pi: if A[ i ] = x then indice = i /* lettura concorrente di x */ return indice end Tempo parallelo costante Se A può contenere elementi ripetuti allora più processori possono scrivere concorrentemente la variabile indice: il modello necessario in tal caso è la P-RAM CRCW con scrittura concorrente basata su priorità dei processori (es viene scritto il valore dato dal processore di indice massimo tra quelli che tentano di scrivere). Algoritmi Paralleli e Distribuiti a.a. 2008/09

Broadcast su P-RAM EREW Si adoperano n processori Broadcast(x) begin P0: A[ 0 ] = x for i = 0 to log n -1 do for j = 2i to 2i+1-1 pardo Pj: A[ j ] = A[ j-2i ] end Tempo parallelo logaritmico x Algoritmi Paralleli e Distribuiti a.a. 2008/09

Uso di Broadcast su P-RAM Si adoperano n processori Cerca(A, n, x) begin Broadcast(x) indice = -1 for i = 0 to n-1 pardo Pi: if A[ i ] = x [ i ] then indice = i return indice end Tempo parallelo logaritmico Se gli A[ i ] sono tutti distinti il modello è P-RAM EREW altrimenti è ERCW per la scrittura dell’indice (scrittura concorrente basata su priorità dei processori) Algoritmi Paralleli e Distribuiti a.a. 2008/09