Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze...

32
Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro 1

Transcript of Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze...

Page 1: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

1

Sistemi Distribuiti

Corso di Laurea Magistrale in InformaticaIndirizzo RetiFacoltà di Scienze Matematiche Fisiche e Natuali

Docente: Prof. Alberto Negro

Page 2: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

2

Obiettivi Formativi1. In questo corso tratteremo alcuni dei concetti

fondamentali alla base dei moderni sistemi distribuiti. 2. Ci occuperemo dei fondamenti: problemi, protocolli,

algoritmi e limiti insormontabili. 3. Vedremo, anche nei dettagli, le idee usate nella

costruzione dei sistemi Peer-to-Peer (P2P). 4. Infine descriveremo una piattaforma per applicazioni P2P:

JXTA.

3 e 4 sono mutuati dal corso di Sistemi P2P (3CFU).

Page 3: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

3

Page 4: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

4

Contenuti

•Parte A) Sistemi distribuiti: Fondamenti.▫Introduzione ai Sistemi Distribuiti

Page 5: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

5

Contenuti

•Parte B) Sistemi P2P▫ Introduzione alle Architetture Parallele L’Ipercubo,

la Butterfly (CCC e Benes), i grafi di de Bruijn.▫ Introduzione ai sistemi P2P▫ Reti P2P non strutturate: Random Graphs, Small-

Worlds and Scale-Free Networks▫ Reti P2P strutturate▫ Reti Uniformi e Reti Randomizzate▫ Strategie di Routing ▫ Reti non Uniformi: Koorde

Page 6: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

6

Contenuti

•Parte C) JXTA▫Introduzione a JXTA▫Architettura di JXTA▫Le componenti e i protocolli di JXTA▫Comunicazione in JXTA: Pipe, BidiPipe e Socket▫Esempi di utilizzo e Applicazioni

Page 7: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

7

Testi1. R.Steinmetz, K. Wehrle, Peer to Peer

Systems and Applications, LNCS. 3485, Springer Verlag, 2005

2. F. Thompson Leighton, Introduction to Parallel Algorithms and Architectures: Array Trees Hypercubes.

3. Ajay D. Kshemkalyani and Mukesh Singhal. Distributed Computing: Principles, Algorithms, and Systems, Cambridge University Press, 2008. ISBN-13 978-0-521-87634-6.

4. JXTA Programmers guide.

Page 8: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

8

Modalità di Esame

•Scritto + Orale (progetto JXTA facoltativo)

Page 9: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

9

Introduzione ai Sistemi Distribuiti

Gennaro CordascoDipartimento di Informatica - Università degli Studi di Salerno

cordasco[@]dia.unisa.it cordasco+sd[@]gmail.comhttp://www.dia.unisa.it/~cordascoLaboratorio ISISLAB2

Page 10: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

10

Sistema Distribuito

•Una collezione di dispositivi autonomi che comunicano attraverso una rete di interconnessione

Page 11: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

11

Caratteristiche dei SD

•I dispositivi non hanno un clock comune•Non c’è una shared memory•I dispositivi lavorano in maniera

autonoma e sono tipicamente eterogenei•… sono separati geograficamente

Page 12: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

I Sistemi distribuiti (SD) sono:

Incredibilmente flessibili

Incredibilmente efficienti

Difficili da mettere a punto…...

Hardware eterogeneo

AsincroniaConoscenza locale limitata

Fallimenti

12

Page 13: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

13

Gli Algoritmi Distribuiti:

Sono difficili da progettare:Non c’è un modello accettato

Message passing vs shared memory

TimingFailure

E’ difficile dimostrarne la correttezza

Algoritmo Distribuito:

- Algoritmo per un Sistema Distribuito

Page 14: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

14

Gli Algoritmi Distribuiti:

Usano il numero totale dei messaggi spediti comemisura di complessità

Usano anche il tempo come misura di complessità

Page 15: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

15

• L’alternativa è un’architettura centralizzata– un singolo mainframe con terminali

stupidi• Alcuni problemi:

– se il mainframe non è disponibile, nessuna computazione è possibile– consumo di banda sulla rete per dati

(anche per i dati locali ai terminali)– costo e mantenimento alto del mainframe– terminali stupidi con capacità di calcolo

notevoli

Perchè computazione distribuita?

Page 16: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

16

Motivazioni per il Calcolo Distribuito

• Utilizzo parallelo di risorse distribuite– CPU– Memoria

• Data Set difficilmente rilocabili vengono processati localmente• Fault-tolerance• Scalabilità• Modularità• Rapporto Prestazioni/Prezzo

– attenzione alla manutenzione

Page 17: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

17

Le prestazioni di un Sistema Distribuito

• La capacità di un sistema distribuito può facilmente eccedere quella di un calcolatore a singolo processore:

• 5000 Pentium a 200 MIPS=1.000.000 MIPS• Una singola CPU così veloce dovrebbe

eseguire una operazione ogni 10-12 secondi• In 10-12 secondi alla velocità della luce si

coprono solo 0.3 millimetri• Una CPU in 0.3 millimetri crea problemi disurriscaldamento

Page 18: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

Modello dei SD

18

Page 19: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

19

Differenza con i Sistemi Paralleli

• Array processors (processori strettamente accoppiati)

• Multiprocessori (con accesso diretto alla shared memory UMA)▫ Diversi tipi di interconnessione (bus, multistage

switch, come ad esempio butterfly oppure shuffle exchange network)

• Multicomputer parallel systems (processori omogenei con una propria memoria NUMA)▫ Non c’è una memoria condivisa▫ Utilizzano una specifica rete di interconnessione

(ring, mesh, ipercubo)

Page 20: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

20

UMA vs NUMA Models

Page 21: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

21

Butterfly and Hypercube networks

Page 22: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

22

Tassonomia di Flynn• SISD: Single Instruction Stream Single Data Stream

▫ Modello tradizionale• SIMD: Single Instruction Stream Multiple Data Stream

▫ Applicazioni scientifiche su dati di grande dimensione▫ vector processors, systolic arrays, Pentium/SSE, DSP chips

• MISD: Multiple Instruciton Stream Single Data Stream▫ Meno usato

• MIMD: Multiple Instruction Stream Multiple Data Stream▫ Il modello più potente, ma anche il più complesso ▫ La maggior parte dei sistemi paralleli e distribuiti

Page 23: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

23

Terminologia• Accoppiamento (Coupling): livello di

interdipendenza fra i moduli di un SD (tightly/loosely)

• Parallelismo o SpeedUp, T(1)/T(n): misura l’accelerazione ottenuta usando n moduli invece di 1.

• Concorrenza: rapporto fra il tempo speso a fare computazione ed il tempo totale speso (include tempo di comunicazione, sincronizzazione)

• Granularità di un programma

Page 24: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

24

Message Passing vs Shared memory•Shared Memory: La comunicazione fra i

processori si basa su una zona di memoria condivisa▫Tightly coupled multiprocessor▫Problema: gestione dei conflitti di accesso

concorrente alla memoria •Message Passing: I computer comunicano

attraverso lo scambio di messaggi asincrono▫Loosely coupled systems

Page 25: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

25

SD Obiettivi (Sistema)

•Diverse problematiche devono essere affrontate nella realizzazione di un SD:▫Comunicazione▫Gestione dei processi▫Naming▫Synchronizzazione▫Data Storage▫Consistency and Replication

Page 26: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

26

SD Obiettivi (Sistema)▫Fault-tolerance (nodi/link)▫Security▫Scalability▫API▫Trasparenza

Page 27: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

27

SD Obiettivi (Algoritmi)▫Modello di esecuzione

Interleaving Partial order

▫Algoritmi distribuiti su grafi dinamici Topologia del sistema Algoritmi su grafi (permettono la

comunicazione, la sincronizzazione ecc.) Topologia dinamica Efficienza

▫Timing

Page 28: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

28

SD Obiettivi (Algoritmi)▫Sincronizzazione

Logical time Leader Election Mutual exclusion Distributed deadlock detection and resolution Distributed termination detection Distributed garbage collection

Page 29: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

29

SD Obiettivi (Algoritmi)• Group communication, multicast, and ordered

message delivery▫ Group: processi che condividono un contesto e/o che

collaborano▫ joins, leaves, fails▫ Invio concorrente dei messaggi: gestione della semantica

dell’ordine di arrrivo• Monitoring distributed events and predicates

▫ Predicate: condition on global system state▫ Debugging

• Progettazione dei programmi distribuiti e dei tool di verifica

• Debugging di programmi distribuiti

Page 30: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

30

SD Obiettivi (Algoritmi)• Data replication, consistency models, and

caching▫Fast, scalable access▫coordinate replica updates▫optimize replica placement

• Reliable and fault-tolerant distributed systems▫Failure detectors:

Difficult to distinguish a "slow" process/message from a failed process/ never sent message

algorithms that "suspect" a process as having failed and converge on a determination of its up/down status

Page 31: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

31

SD Obiettivi (Algoritmi)

•Load Balancing▫Computation migration▫Data migration▫Distributed scheduling

•Come comparare gli algoritmi▫Metriche

Page 32: Sistemi Distribuiti Corso di Laurea Magistrale in Informatica Indirizzo Reti Facoltà di Scienze Matematiche Fisiche e Natuali Docente: Prof. Alberto Negro.

32

SD Applicazioni•Mobile systems•Sensor networks•Ubiquitous and pervasive computing

(domotica)•Peer to Peer computing•Publish and Subscribe content distribution•Distributed agents•Distributed data mining •Grid Computing•Security