SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf ·...

48
Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per località che cooperano per ottenere risultati coordinati Esempio di problemi nei sistemi distribuiti - Due eserciti e decisione di attacco - in presenza di generali bizantini - messaggio che deve arrivare a destinazione con i possibili problemi - Protocollo di coordinamento tra due processi che devono decidere una azione comune (nessuna ipotesi sui guasti) SISTEMI DISTRIBUITI NON soluzioni ad-hoc MA ingegnerizzazione Necessità di - teoria di soluzione - metodologia di soluzione - standard di soluzione conoscenza dei sistemi esistenti Sistemi Distribuiti 2 SISTEMI DISTRIBUITI introducono la possibilità di - accedere a risorse remote - condividere localmente risorse remote POSSIBILITÀ di - bilanciare uso delle risorse - tollerare fallimenti di risorse - replicazione delle risorse TRASPARENZA della ALLOCAZIONE INDIPENDENZA dalla ALLOCAZIONE DINAMICITÀ del SISTEMA aggiungere risorse al sistema aperto seri problemi teorici (COMPLESSITÀ) - TERMINAZIONE DEI PROGRAMMI - COMPLESSITÀ DEI PROGRAMMI - CORRETTEZZA - EFFICIENZA

Transcript of SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf ·...

Page 1: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 1

SISTEMI DISTRIBUITI

DEFINIZIONEInsieme di sistemi distinti per localitàche cooperano per ottenere risultati coordinati

Esempio di problemi nei sistemi distribuiti

- Due eserciti e decisione di attacco- in presenza di generali bizantini

- messaggio che deve arrivare a destinazionecon i possibili problemi

- Protocollo di coordinamento tra due processi che devonodecidere una azione comune(nessuna ipotesi sui guasti)

SISTEMI DISTRIBUITI

NON soluzioni ad-hocMA ingegnerizzazione

Necessità di- teoria di soluzione- metodologia di soluzione- standard di soluzione

conoscenza dei sistemi esistenti

Sistemi Distribuiti 2

SISTEMI DISTRIBUITI

introducono la possibilità di- accedere a risorse remote- condividere localmente risorse remote

POSSIBILITÀ di- bilanciare uso delle risorse- tollerare fallimenti di risorse- replicazione delle risorse

TRASPARENZA della ALLOCAZIONE

INDIPENDENZA dalla ALLOCAZIONE

DINAMICITÀ del SISTEMAaggiungere risorse al sistema aperto

seri problemi teorici (COMPLESSITÀ)

- TERMINAZIONE DEI PROGRAMMI

- COMPLESSITÀ DEI PROGRAMMI

- CORRETTEZZA

- EFFICIENZA

Page 2: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 3

Sistemi Distribuiti

MOTIVAZIONI tecnologiche ed economiche

(Local Area Network LAN - Wide Area Network WAN)

..-

INFOS

COMMS

affidabilitàper tollerare guasti dependability

condivisione delle risorse

adeguamento alle richieste distribuite domande distribuite (prenotazioni aeree)

uniformità in crescita e scalabilità

apertura del sistema capacità di evolvere secondo necessità

Sistemi Distribuiti 4

APERTURA del SISTEMA distribuito- capacità di adeguarsi alle condizioni di stato precedenti

o successive alla messa in opera. necessità di identificare (monitor) e controllare (gestione)

lo stato del sistema

PROBLEMI della distribuzione

complessità intrinsecasistemi più complessi da specificare e risolvere

sicurezza (security)più difficile garantire integrità e correttezza

sbilanciamenti nell'uso delle risorsenecessità di sfruttare in modo giusto le risorse

capacità di esecuzione totale limitata inferiore a quella di un mainframe equivalente

Legge di Grosh migliore bilancio costo/performancecon un monoprocessore mainframe(senza problemi di memoria e I/O)

ovviamente con alcuni limiti- velocità della luce- costi elevati aumentando l'integrazione

Page 3: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 5

AREE DI INTERESSE

- processi indipendenti (con poca comunicazione)per ottenere speed-up ed efficienza

- calcolo scientifico ed ingegneristicomolta computazione

- progetto automatico VLSIampio spazio delle soluzioni

- operazioni databasepossibilità di concorrenza

- intelligenza artificialeobiettivi a breve e lungo termine

- sistemi distribuiti ad amplissimo raggiocalcolo algoritmi NP completiaccesso ad informazioni globalmente distribuite

e applicazioni nei settori• previsioni meteorologiche• dinamica molecolare• cromodinamica quantistica• modelli biologici• evoluzione di sistemi spaziali• sistemi globali e mobili (Internet, Web, ...)

Necessità di applicazioni:Controllo traffico aereo affidabile

Sistemi Distribuiti 6

Progetto di un programma (applicazione)

Problema

Algoritmo

Linguaggiodi Alto Livello

Architettura

Sistema Operativo

Tecnologiaprogrammazionebinding

mapping

Algoritmo ==>

- opportuno linguaggio di alto livello

MAPPING- decisioni di allocazione per l'architettura scelta

configurazione

BINDING- decisione di aggancio di ogni entità del programma sulle

risorse del sistema

GESTIONE STATICAil binding differito alla esecuzione ==> NECESSITÀ di

GESTIONE DINAMICA del BINDING e delle RISORSE

Page 4: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 7

Ambiente di programmazioneErrore. Il segnalibro non è

definito.

Strumenti di ambiente

Linguaggio di programmazione

Supporto run-time al parallelismo

Architettura parallela

Supporto al routing

Monitoraggio sistemaBilanciamento del carico

Interfaccia graficaStrumenti debugging

Compilatori

Linguaggio

Insieme di nodiRete interconnessione

Strumenti di allocazione

Un ambiente di programmazione tende a ottenere

indipendenza dalla architettura(portabilità su nuove architetture)

astrazione(nascondere complessità parallelismo)

corretta gestione delle risorse (statica e dinamica)

NON esistono ancora ambienti di programmazionesoddisfacenti

In ogni caso, rimedio ==> uso diretto difunzioni ad aggancio dinamico

Sistemi Distribuiti 8

vedi primitive di KERNEL

Page 5: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 9

Sistemi di reteSpesso i sistemi sono solo sistemi di rete in cui lepotenzialità non sono sfruttate

Scenario WWWInformazioni presentate in modo trasparente

abcdef

FORM

INPUT UTENTE

OUTPUT

ELABORAZIONE

elemento

RETE

VISIONE LOCALE

NODI REMOTI

richiesta

rispostaHTTPclient

HTTPserver

TCP / IP TCP / IP

CGI

applicazioni esterneapplicazioni di supporto

rete

sistema remotosistema locale

utente

Se cominciamo a replicare i dati e memorizzare leinformazioni su siti intermedi => evoluzione

Sistemi Distribuiti 10

Sistemi operativi di Rete vs.Sistemi operativi Distribuiti

Network Operating Systems (NOS) vs.Distributed Operating Systems (DOS)

I NOS sono indipendenti e non trasparenti

GESTIONE RISORSE

in MODO TRASPARENTE

I DOS sono coordinati e trasparenti e aperti

DOSparalleli al loro interno

uso di risorse parallele interne

paralleli a livello di utentecon maggior omogeneità

capaci di gestire nuove risorse non noteda aggiungere alle statiche

Page 6: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 11

Sistemi Operativi Distribuitiottimizzano l'uso delle risorsee sono basati sullaCONDIVISIONE per

scambio di informazioniridistribuzione del caricoreplicazione delle informazioniparallelismo nella computazione

Unica macchina virtuale conProprietà

Controllo allocazione delle risorseComunicazioneAutorizzazioneTrasparenzaCapacità evolutiva (dinamicità )

Apertura del sistema (OPEN system)le risorse possono essere inserite durante la esecuzionedel sistema e non sono note staticamente prima dellaesecuzione

Sistemi Distribuiti 12

SISTEMI OPERATIVI DISTRIBUITI

come insieme di gestori di risorse

Resource managementProcessor managementProcess managementMemory managementFile management

FILONI

ReplicazioneGestione dei NomiComunicazione e SincronizzazioneProcessiSicurezzaAllocazione e riallocazione delle risorseServizi applicativi ulteriori

STANDARDIZZAZIONE

INDIPENDENZA dalla ARCHITETTURAAPERTURA (OPEN SYSTEM)

RIUSO dell'esistenteFramework, librerie di componenti

molte modalità diverse ed eterogeneità

Page 7: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 13

TREND delle prestazioni

Scientific American, Sett. 1995

0

100

200

300

400

500

600

700

1985-1990

1990-1995

1995-2000

2000-2005

CPU MIPSMemory MBLAN MbitsWAN MbitsO/S overhead

Aumento delle velocità in WAN

Latenza

0.01

0.1

1

10

100

1000

1985-1990

1990-1995

1995-2000

2000-2005

Disk I/OEthernet RPCATM roundtripWAN roundtrip

Abbassamento dellelatenze LAN con ATM

latenze WAN e dischi constanti a causa dilimiti fisici

Banda

(millisecondi)

Sistemi Distribuiti 14

TREND overheadOverhead della parte di sistema operativocioé della gestione locale

1985-1990

1990-1995

1995-2000

2000-2005

0

5

10

15

20

25

30

35

40

1985-1990

1990-1995

1995-2000

2000-2005

O/S overheadriportato in sensoproporzionale

Anche se ci possiamo aspettare dei miglioramentiin prestazione delle diverse parti di un sistema(comunicazione, dischi remoti, accessi veloci, etc.)

Il problema da superare è la corretta gestione

Notate non stiamo ipotizzando una gestione ottimama solo evitando colli di bottiglia

Page 8: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 15

FRAMEWORK VS. LIBRERIE

LIBRERIEUn insieme di librerie costituisce un set di funzioni(interfaccia nota) che possono essere chiamate da unlivello che le usa

internet

3D rendering

Applicazione

Main LOOP

Librerie (anche OO)

internet

ADTsmatematiche

Database

GUI

Ogni applicazione si deve uniformare a questa struttura

In caso di più applicazioni, ogni applicazione devereplicare la stessa organizzazione

Le librerie sono ad aggancio dinamico (DLL)Dynamic Linked Libraries

Sistemi Distribuiti 16

FRAMEWORK

Un FRAMEWORK costituisce un modello di esecuzione ed unambiente di richiesta di funzionalità più integratotende:• a non replicare la struttura implicita• a rovesciare il controllo (per eventi di sistema)

vedi Windows struttura a loop di attesa di eventi chevengono smistati ai richiedenti

meccanismi di supporto della cornice

Classi esistenti

Funzioni e servizi

ADTs

matematiche

GUI

LOOP

gestioneeventi

di sistema

internet

Database

logica specifica

della applicazione

3D rendering

BACKCALL

Sono possibili backcall o upcalldal Framework alle applicazioni

eventi asincroni

Page 9: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 17

MODELLO ad EVENTIin contrapposizione ad un modello sincrono di richiesta e diattesa della risposta

si gestisce la possibilità di inviare messaggi su necessitàdisaccoppiando gli interessati• I consumatori eseguono le attività• I produttori segnalano le necessità• Il gestore degli eventi segnala l'occorrenza degli eventi

significativi agli interessati

Servizio di Notifica Eventi

produce quotazione

SISTEMA gestoredell'offerta degli eventi

produce quotazione

consuma offerta

consuma offerta

PRODUTTORE

PRODUTTORE

CONSUMATORE

CONSUMATORE

Sistemi Distribuiti 18

CONCETTI di BASEnei sistemi distribuitiEsistono? Servono?

modelli statici/dinamicimodelli preventivi /reattivi

modello di esecuzione nel sistemamonoutente/multiutenteprocessore/processori

modello di namingconoscenza reciproca

modello di allocazione / riallocazioneentità del sistema sulle risorse del sistema

modello di esecuzioneprocessi/oggetti replicazione

modello dei processi processi pesanti/ processi leggeri

modello di comunicazione cliente servitore (variazioni) a connessione/ senza connessione

modelli di guasto

modelli di replicazione

trasparenzaeterogeneità e standard

Page 10: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 19

modello di esecuzione nel sistema

monoutente/multiutente

in genere, l'uso di un sistema in modo dedicato è tipicodelle fasi prototipali

l'uso di più utenti, consente di formare un migliore mix dientità eseguibili sul/sui sistemi per un migliore equilibrio

/ Problemi di configurazione del sistema edinterferenza tra le attività

processore/processori usati con trasparenza

modello workstationsi utilizzano le risorse locali preferenzialmentepoi si possono considerare le risorse di rete

Sistemi distribuiti in rete (tradizionali)

modello processor poolsi utilizzano le risorse in modo trasparentea secondo del loro utilizzo e disponibilità

Sistemi distribuiti veri e propri

/ maggiore overhead di coordinamento

Sistemi Distribuiti 20

modello preventivi /reattivimodelli ottimisti e pessimisti

Esempi

approcci per gestire il deadlock➪ approcci che prevengono il deadlock

avoidance si evita a priori tramite introduzione di fortivincoli (sequenzializzazione completa)

prevention si evita la specifica situazione con algoritmi(accesso in ordine)

➪ approcci che fanno fronte all'occorrenza del deadlock

recovery se succede, interveniamo

il problema della interferenza/congestione➪ ring previene la congestione con regole precise di

controllo di accesso➪ CSMA/CD tenta l'accesso senza controllo e deve tenere

conto della interferenza possibile, con opportune strategie

I primi sono approcci pessimisti/preventiviI secondi sono approcci ottimisti/reattivi

Naturalmente, in generei sistemi preventivi sono statici per l'aspetto consideratoi sistemi reattivi sono dinamici

Page 11: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 21

modello di namingnecessità di conoscenza reciproche delle entità e deiservizi

NON TRASPARENZA vs. TRASPARENZAdei servizi ai nodidegli indirizzi all'interno del nodo

BINDING statico vs. dinamicostatico: i riferimenti sono risolti prima della esecuzionedinamico: i riferimenti sono risolti al bisogno

CASO STATICOinvarianza dei nomi e della allocaizone delle entitàE se le entità si muovono?NOMI entità

trasparenti invarianti (anche con movimento delle entità)non trasparenti dipendenti dalla locazione corrente

CASO DINAMICO entità non staticamente fissateUso di tabelle di allocazione ==>controllate da opportuni GESTORI dei NOMI

Si progettano più gestori (e tabelle) per evitarecongestioni e problemi di singolarità con visibilità parziali

consistenza delle tabellespesso organizzate in gerarchia

Sistemi Distribuiti 22

modello di naming

sistemi aperti possibilità di inserire nuove entità compatibili con il sistema già esistente

COORDINAMENTO di gestori di nomi distinti

partizionamento dei gestoriciascuno responsabile di una sola partizione deiriferimenti - località(in generale i riferimenti più richiesti)

replicazione dei gestoriciascuno responsabile con altri di partizione dei riferimenti- coordinamento

Spesso organizzazioni a livelligestore generale che coordina gestori di più basso

livello in molti livelli con località informazioni (vedi CORBA o DNS)

reston

cc

us

cc cs ecn

purduedec

com edu

xinu

gov

nfs

dipmatdeis

unibo

it

cineca

Page 12: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 23

modello di comunicazione

schema di base cliente servitore

I servizi sono forniti da un servitore cherisponde a diversi clienti (molti:1)

- i clienti conoscono il servitore- il servitore rappresenta la astrazione dei servizi e

non conosce i possibili clienti

MODELLO astrattointerazione sincrona (default)

asincrona / non bloccante

schemi più complessoclienti servitori multipli

I servizi sono forniti da più servitori (molti:molti)

con diverse possibilità- 1 solo servizio per ogni richiesta (stampa di un file)- 1 servizio da ogni possibile servitore

(aggiorna copie di un file)

Necessità di coordinamento tra i servitoricon Replicazione o Suddivisione

Sistemi Distribuiti 24

modello cliente/servitore

possibili evoluzioni

- Servitore che conosce i clientiuso di una lista per la autorizzazione

- Servitore che tiene traccia dei clientiservitore con stato

- Servitore che tiene traccia della storia dellainterazione con ogni cliente

servitore con stato partizionato : una partizione perogni sessione di interazione

- Servitore che consente interazione tra i clientiservitore con stato e interazione mutua tra i clientiattraverso i servizi

- Servitori coordinati con interazione tra i clienticoordinamento dei servitori con statointerazione mutua tra clientiinterazione mutua tra servitori

• Giochi di simulazione distribuita (MOO)• Prenotazione aerei• Navigazione in WWW

e la replicazione?

Page 13: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 25

SCHEMA A CLIENTI E AGENTI MULTIPLI

I servizi sono forniti dal coordinamento di più servitori cheforniscono un servizio globale unico

gli agenti possono:- partizionare le capacità di servizio- replicare le funzionalità di servizioin modo trasparente al cliente

CLIENTE AGENTI

entità

richiesta di servizio

cliente

servizio coordinato agenti

Mail

MTAUA MTA UA

MTA

sistema B

sistema A sistema C

Posta

Sistemi Distribuiti 26

schemi con clienti agenti/servitori multipli

CLIENTE AGENTI / SERVITORI e RISORSEagenticlienti servitori

risorse

Due livelli di coordinamento nell'accesso alle risorseda parte dei clienti

AGENTIanche paralleli e capaci di coordinarsi

SERVITORIanche paralleli e replicaticon capacità di coordinamento

PROTOCOLLIdi coordinamento, sincronizzazione, rilevazione etolleranza ai guasti

Page 14: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 27

Verso modelli per mobilità

Oltre al modello cliente servitore, in cui si scambiano dati tra ilcliente ed il servitore fornisce il servizio ed il risultato

1) Remote Evaluation (REV)il cliente manda al servitore anche il codice da eseguirenel servizio corrispondente

2) Code On Demand (COD)il cliente manda richiede dal servitore il codice daeseguire per un servizio che ottiene una gestione locale(Applet Java)

NODO cliente NODE servitore

Servitore1

Supporto (per comunicazione e mobilità)

Cliente1

C1 S1S2

codice

REMOTE EVALUATION

NODO cliente NODE servitore

Servitore1

Supporto (per comunicazione e mobilità)

Cliente1

C1 S1S2

codice

CODE ON DEMANDSistemi Distribuiti 28

Modelli di mobilità

Mobilità debolepossibilità di eseguire delle attività su un nodo e diriprendere la esecuzione dall'inizio su un nodo diverso

Mobilità fortepossibilità di eseguire delle attività su un nodo e diriprendere la esecuzione su un nodo diverso

MODELLI ad AGENTI

I modelli ad agenti hanno rivevuto molto interessenell'ultimo anno

PROBLEMAcome trasferire il codice e farlo riprendere sul nuovonodo, superando le eterogeneità

Soluzione ad InterpreteSi usa un codice intermedio indipendente dalla architetturaed interpretato dalla macchina virtuale presente in ogninodo

Applet e Applicazioni Java

Classi Base Estensione di Classi di Java

Java Virtual Machine

Interfaccia di portabilitàAdattatoreBrowser

S.O.

Hw

AdattatoreBrowser

S.O.

Hw

AdattatoreBrowser

S.O.

Hw

AdattatoreBrowser

S.O.

Hw

Interconnessione via Rete

Page 15: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 29

INSIEME DI NODI E DI AGENTI

NODO VIRTUALE di un sistema ad agenti

Agenti

Supporto (per la riallocazione)

Risorse locali

R1 Ag1 Ag2 Ag3

Agenti

Supporto (per la riallocazione)

Località

Ag1 Ag2 Ag3

Agenti

Supporto (per la riallocazione)

Località

Ag3 Ag4 Ag5

Agenti

Supporto (per la riallocazione)

Località

Ag6 Ag7 Ag8

Agenti

Supporto (per la riallocazione)

Località

Ag9 A10 Ag11

In Java, ci sono problemi nel trasferire lo stato diesecuzione dei thread

Sistemi Distribuiti 30

altri modelli di comunicazionepipeline, farm, etc.tuple

pattern di interconnessione concorrentiper la decomposizione automatica

Pipeline

Stage1 Stage2 Stage3

Insieme di entità che comunicano in modo ordinato:uscita di uno stage è l'ingresso del successivoOgni stage lavora sui dati elaborati dal precedente

Possibilità di concorrenza nei servizidi richieste diverse

Aumento del throughput (efficienza)

throughput numero di servizi per unità di tempo

Farmsuddivisione del lavoro

Master

Slave1

SlaveN

SlaveI ...

con attese diverse degli slave da parte del master

Page 16: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 31

TupleAstrazione della memoria condivisa + comunicazione

Lo spazio delle tuple è un insieme strutturato di relazioni,intese come attributi e valori

Operazioni di scrittura e lettura concorrentiAccesso in base al contenuto degli attributi

Operazioni di In e OutIn inserisce una tupla nello spazio

Out estrae una tupla, se esisteattende nel caso la tupla non sia ancora presente==> una tupla con alcuni attributi non specificati

esempio relazione messaggio (dachi, achi, corpo)

In: messaggio (P, Q, testo1)Out: messaggio (?, Q, ?)

tuple meccanismo generaleper la comunicazione e sincronizzazione

Linda (Gelertner)realizzazione della memoria condivisa a confronto con loscambio di messaggi

Sistemi Distribuiti 32

modello di comunicazione a connessione/ senza connessione

CONNESSIONEle entità stabiliscono di preallocare le risorse per lacomunicazione (statico)

risorse

dedicatestatiche

SENZA CONNESSIONEle entità comunicano utilizzando le risorse che sonodisponibili al momento della azione (dinamico)

dinamico

Alcuni modelli, detti a connessione (TCP), non impegnanorisorse intermedie

Page 17: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 33

MODELLO interconnessionelocalità vs. globalità

modelli globalinon impongono restrizioni alle interazioni

entità

comunicazione

operazioni non scalabilidipendenti dal diametro del sistema

modelli locali (RISTRETTI)prevedono una limitazione alla interazione

entità

comunicazione

località

operazioni (forse) scalabilipoco dipendenti dal diametro del sistema

verso la località , i domini , i vincoliper la scalabilità

Sistemi Distribuiti 34

PROCESSI

Processi differenziati

Processo pesante

Dati

Stack /Heap

Codice

Processi leggeri

Dati

Stack

Codice

Thread 1Thread 2Thread 3

Thread 1

Thread 2

Thread 3

Page 18: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 35

modello dei processi processi pesanti/ processi leggeri

ProcessoIMPLEMENTATIVAMENTE

SPAZIO di indirizzamentoSPAZIO di esecuzione

insieme di codice, dati (statici e dinamici),parte di supporto, cioè di interazione con il sistema

operativo (file system, shell, etc.)

un'aggregazione di parecchi componenti

Processo pesantead esempio in UNIX

cambiamento di contesto operazione molto pesanteoverhead

SOLUZIONEPossibilità di creare entità più leggerecon limiti precisi di visibilità e barriere di condivisione

Processi leggeriattività che condividono visibilità tra di loro e chesono caratterizzata da uno stato limitatooverhead limitato

ad esempio in UNIX, i thread olightweight processes

Sistemi Distribuiti 36

modello di esecuzioneEntità ed interazione

modello a processi

Processoentità in esecuzione che possono eseguire ecomunicare direttamente o indirettamente con altriprocessi attraverso- memoria condivisa- scambio di messaggi

Uso di dati esterni ai processi stessi(scarso confinamento )

modello ad oggetti (e processi)

Oggettoentità dotata di astrazione che• racchiude risorse interne (astrazione) su cui

definisce operazioni• agisce su risorse interne alla richiesta di

operazioni dall'esterno

- oggetti passiviastrazioni su cui agiscono processi esterni

- oggetti attivicapaci di esecuzione e scheduling

Page 19: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 37

OGGETTI E PARALLELISMO

come inserire il parallelismo in un modello ad oggettia) affiancando il concetto

di PROCESSOa quello di

OGGETTOSTATO

OGGETTO PROCESSO

===> modelli ad oggetti PASSIVISVANTAGGI:perdita di uniformità di concetti protezione

STATO STATO

b) integrando il concetto di PROCESSO ed OGGETTO===> modelli ad oggetti ATTIVI

VANTAGGI:uniformità di concettiprotezioneinformation hiding

STATO STATO

Si propone il modello a maggior confinamento

Sistemi Distribuiti 38

introduzione della CONCORRENZA

SOLUZIONI DISOMOGENEEProcessi & Oggetti Passivi

uso di semafori e monitorSmalltalk-80, Trellis/Owl, Emerald, Guide, Java

SOLUZIONI OMOGENEENO Processi ma Active Object s

decisioni di concorrenza independentiABCL, Clouds, Amoeba, POOL, COOL, Procol, PO

Oggetti Attivi decidono independentemente enascondono meglio il comportamentointerno (information hiding)

Ogni oggetto racchiude al proprio interno la necessariacapacità di concorrenza e definisce la propria politica digestione della concorrenza

Non esiste più alcun processo che si muove da oggetto adoggettoOgni oggetto deve prevedere le necessarie politiche digestione della concorrenza e delle prevenzione di eventualiinterferenze

Page 20: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 39

Esempio di oggetto attivo

CODA DELLE

ATTIVITA'

CODA DELLE

RICHIESTE

SCHEDULER

RICHIESTE DAALTRI OGGETTI

Parte Parallela

Parte non Parallela

v0v1v2v3

ATTIVITA'

m3m2m1m0

METODI

STATO

m4

Stato di Scheduling

Oggetto

GESTORE

dimensione interoggettodimensione intraoggetto

ProblemiAllocazione dei processi ed attivitàComunicazioneDinamicità

È più facile riallocare un processo od un oggetto?e i suoi riferimenti?

Sistemi Distribuiti 40

modelli di allocazionele entità di una applicazione possono essere

o statiche o dinamiche o miste

Allocazione staticadata una specifica configurazione, le risorse sono deciseprima della allocazione

Allocazione dinamicala allocazione delle risorse sono decise durante laesecuzione ==> sistemi dinamici

In sistemi dinamici, è possibile la riallocazione (migrazione)le risorse possono muoversi sulla configurazione

- APPROCCIO IMPLICITO (AUTOMATICO)il sistema che si occupa del mappaggio dell’applicazionesull’architettura ===> ALLOCATION TRANSPARENCE

- APPROCCIO ESPLICITO===> l’utente deve specificare il mappaggio di ogni oggetto

APPROCCIO MISTOil sistema adotta una politica di default (obiettivobilanciamento di carico computazionale)

politica applicata sia inizialmente che dinamicamentemediante allocazione dei nuove risorse e migrazione diquelli già esistenti

se l’utente fornisce delle indicazioni, il sistema ne tieneconto nella politica di bilanciamento di carico

Nel caso di agenti , allocazione esplicita

Page 21: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 41

modelli di guastoerrore qualunque comportamento diverso da quello

previsto dai requisiti (fault )failure comportamento nel sistema che può causare errori

Programma che sbaglia eaggiorna un database in modo sbagliato

fault ==> transienti, intermittenti, permanenti

Bohrbug ⇒ errori ripetibili, sicuri, e spesso facili dacorreggere

Eisenbug ⇒ errori poco ripetibili, difficili da riprodurre edifficili da correggere

Gli Eisenbug sono spesso legati a problemi transienti equindi molto difficili da eliminare

Strategie diIdentificazione dell'erroreRecovery dell'errore

Numero di errori che si possono tollerare(insieme o durante il protocollo di recovery)

Ipotesi sui guasti semplificano il trattamento

Un guasto alla volta (Guasto Singolo )il tempo di identificazione e recovery deve essere inferioreal tempo tra due guasti (TBF o time Between Failures)

Con 3 copie si tollera un guasto, due sono identificatiCon 3t + 1 copie, si tollerano t guasti

Sistemi Distribuiti 42

Protocolli necessariI protocolli impegnano le risorse

durata degli algoritmirealizzazione degli algoritmi (affidabilità)

Il supporto (hw e sw) per il protocollo di recovery deve esserepiù affidabile del resto

Principio di minima intrusionelimitare l'impegno di risorse (overhead) introdotto dai livellidi supporto di sistema

DefinizioniDEPENDABILITY FAULT TOLERANCE

possibilità di affidarsi al sistema nel completamento diquanto richiestosia in senso hardware, sia software, in generaleconfidenza per ogni aspetto progettuale

RELIABILITYpossibilità del sistema di fornire risposte corrette(accento sulla correttezza delle risposte)es. disco per salvare dati ==> tempo di risposta?

AVAILABILITY (continuità)possibilità del sistema di fornire comunque risposte in untempo limitato accento sul tempo di rispostareplicazione con copie attive e sempre disponibili

RECOVERABILITYConsistenza, Sicurezza, Privacy, ...

Page 22: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 43

ipotesi di fault nel distribuito

FAIL-STOPun processore fallisce fermandosi (halt) e gli altripossono verificarne lo stato

FAIL-SAFE (CRASH o HALT)un processore fallisce fermandosi (halt) e gli altripossono non conoscerne lo stato

CRASH & LINKun processore fallisce fermandosi (halt) e i link dicomunicazione possono perdere messaggi

SEND & RECEIVE OMISSIONun processore fallisce ricevendo/trasmettendosolo una parte dei messaggi che dovrebbetrattare

GENERAL OMISSIONun processore fallisce ricevendo/trasmettendosolo una parte dei messaggi che dovrebbetrattare o fermandosi

NETWORK FAILUREl'interconnessione non garantisce conportamenticorretti

NETWORK PARTTIONla rete di interconnessione può partizionarsi,perdendo ogni collegamento tra le due parti

FAILURE BIZANTINEun processore fallisce esibendo un qualunquecomportamento

Replicazione come soluzione

Sistemi Distribuiti 44

MEMORIA STABILE

uso di replicazione per ottenere certezza di non perdereinformazioni (uso di disco )

Ipotesi di guasto limitative : si considera di avere unsistema con una probabilità trascurabile di guasti multipli subanchi di memoria scorrelati

In ogni caso, la probabilità di guasto durante uneventuale protocollo di recovery deve essere minima

Memoria con blocchi sicuri : ogni errore viene trasformato inomissione (codice di controllo associato al blocco e bloccoguasto)I blocchi sono associati in due copie distinte su dischi abassa probabilità di errore congiunto: le due copie hanno lostesso contenuto di informazioni

Ogni lettura da un blocco errato viene trasformata infailure di omissioneLa lettura procede da una delle copie e poi dall'altra.Se uno dei blocchi fallisce, si tenta il recovery

Ogni scrittura procede su una delle copie e poi sull'altra

In caso di recovery, si attiva un protocollo che ripristinauno stato consistente:se le copie sono uguali nessuna azione,se una scorretta si copia il valore dell'altra,se diverse e corrette si ripristina la consistenza

Costo elevato della realizzazione

Page 23: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 45

Replicazionecosti molto elevati per la implementazione in due dimensionispazio sia in risorse a disposizionetempo sia in tempo di risposta

Spesso le ipotesi di guasto più ampie rendonodifficile il progetto dei protocolli einaccettabile il costo delle soluzioni

TREND

Sistemi special-purposeTANDEM

replicazione in doppio di ogni unità di sistema(due processori, due bus, due dischi)

Obiettivo: sistema fail-safeUn errore viene identificato attraverso la replicazione diCPU (doppio caldo)Memoria su disco stabile con accesso attraverso uno didue bus a blocchi di memoria replicati

costo del sistema molto elevato

Sistemi general-purposeRAID

Redundant Array of Inexpensive Diskinsieme di dischi a basso costo ma coordinati in azioniper ottenerne diversi standard di tolleranza ai guasti

costo limitatospesso considerati in sistemi commerciali

Sistemi Distribuiti 46

modello di replicazione

Possibilità di risorse nel distribuitorisorse partizionaterisorse replicate

Uso della replicazionedati replicatiprocessi replicati

grado di replicazionenumero di copie della entità da replicare

ModelliMaster Slave (modello passivo)Copie attive (modello attivo)

modello passivomaster/slave (primary/backup)

Un solo processo (attivo) esegue le azioni sui datiLa altre copie (passive) servono in caso di guasto

una sola copia corretta, le altre anche non aggiornate

Scollamento dello stato tra il master e gli slaveIn caso di guasto , si dovrebbe riprendere dall'inizio

Il master aggiorna lo stato degli slave (checkpoint )

La politica separale azioni necessarie per garantire una risposta sicura:

aggiornamento copia primariadalle azioni successive

aggiornamento copie secondarie (checkpointing)

Page 24: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 47

REPLICAZIONE

Astrazione di risorsa unica

CN-1 CN

Oggetto Replicato

Richieste

CLIENTE 1 CLIENTE 2

COPIE

Richieste

C1 C2 C3 ...

Modello Passivo

Oggetto Replicato

MASTER CHECKPOINTING

CONTROLLO

Il master fornisce i servizi e aggiorna gli slaveGli slave controllano il master

Modello AttivoOggetto Replicato

DISTRIBUZIONE

...

VOTO e RISPOSTA

Dalla TMR (Triple Modular Redundancy)si ovvia ad un errore e se ne identificano fino a due

Sistemi Distribuiti 48

STATO DELLE COPIE

Il cliente ottiene una risposta con tempi inferiorigestione con protocolli all'interno dell'oggetto

checkpointing ==> azione di aggiornamento

checkpointAzione periodica time-drivenAzione scatenata da evento event-driven

In caso la risorsa sia sequenziale , lo stato è evidenteIn caso di risorsa parallela , bisogna pensare a tutte le azioniin atto insieme

RECOVERY DEL GUASTO

Rilevazione del guasto: da parte di chi? quando?Recovery del guasto

La copie secondarie devono identificare il guasto tramite unaosservazione del master� uso di messaggi esistenti e assunzioni sugli intervalli di

tempo� messaggi ad-hoc per stimolare risposte dal master

Può bastareuno slave per il protocollo (se guasto singolo)gerarchia di slave e protocolli molto più complessi

(se guasto multiplo)

La risorsa , fornita all'esterno tollera, a secondo dellestrategie, un numero diverso di errori ed è in grado di fornireoperatività in caso di errori (fault transparency )

Page 25: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 49

modello attivocopie attive

Un processo per ogni copia di datoComunicazione del cliente con i servitori in modo esplicitood implicito

Se il controllo del cliente esplicito => manca astrazione

Controllo implicito interno alla risorsao esiste un solo gestore (schema statico )

schema a farm centralizzatoe poi da lì si dirigono le richieste verso gli altri

o esiste un gestore (schema dinamico )per ogni richiesta un gestore diversoda lì si dirigono le richieste verso gli altri

gestori decisi per località / a rotazionenecessità di evitare interferenza di gestori

In genere, nei modelli attiviperfetta sincronia

tutte le copie devono agire d'accordo, soprattutto in casodi risposta o di azioni verso l'esterno (innestamento)

approssimazioni alla sincronia meno costosequasi tutte lo copie devono essere in accordo,ma le azioni possono procedere prima del completoaccordo

Si assume che queste strategie siano meno costose in tempodi risposta per il cliente

Sistemi Distribuiti 50

COORDINAMENTO TRA LE COPIE

Ogni azione richiede di aggiornare lo stato di tuttiazione di aggiornamento

Se si lavora con gestori diversi è compito del gestorecomandare le azioni degli altridecisioni sulla durata dell'azione

In caso di guasto , si deve dichiararlo e poterecontinuare a fornire una qualche risposta

ACCORDO prima di dare rispostaTutte le copie devono avere fatto l'azioneVoting (non tutte la copie)

a maggioranza (quorum)pesati

le copie non aggiornate sono in uno stato non utlizzabileimmediatamente, ma solo dopo un reinserimento nelgruppo (recovery)

Rilevazione del guasto: da parte di chi? quando?Rilevazione del reinserimento: da parte di chi? quando?

Semantica di gruppoSi possono approssimare semantiche molto diverse anchenei confronti delle azioni che si attuano nel gruppo e degliordini di esecuzione delle azioni

Page 26: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 51

Trasparenza (Network Transparency)Accesso

omogeneità accesso alle risorse locali e remote

Allocazionelocazione delle risorse locali e remote trasparente

Nomenome non dipende dal nodo di residenza

Esecuzionecapacità di eseguire usando risorse locali e remote

Performancenon degrado nell'uso dei servizi locali o remoti

Faultcapacità di fornire servizi in caso di guasto

Replicazione

VANTAGGI

Più facile sviluppo delle applicazioni e maggiore affidabilitàSviluppo dinamico ed incrementaleMaggiore complessità

necessità di STANDARD

Eterogeneità come diversità diHardwareRete di interconnessioneSistema Operativo

Sistemi Distribuiti 52

TEORIA E MODELLI

Classificazioni diverse delle architetture edei modelli

alla base del parallelismo

MODELLOAstrazione della architettura

==>

Possibilità di guidare nelprogetto della soluzione

Associato ad una metodologia di sviluppoCosto della possibile soluzioneEfficienza implementativa

Alcuni modelli standard di riferimentoModello ISO/OSI

sono inizialmente specifiche astratte di standardizzazionenon sono modelli operazionali

Modello CORBA OMG, DCE OSFsono proposte di standard di comitato / fatto

Page 27: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 53

MODELLI COMPUTAZIONALImodello Von Neumann

modello sequenziale conuna sola capacità di esecuzione

modelli di esecuzioneconsiderando la molteplicità dei flussidi dati e di esecuzione

Single Instruction Multiple Data (SIMD) Multiple Instruction Multiple Data (MIMD)

Flynn

data stream

instruction stream

unico flussodi dati

flussi multiplidi dati

unico flussodi istruzioni

SISD(Von Neumann)

SIMD(vettoriali)

flussi multiplidi istruzioni

MISD(pipeline ?)

MIMD(macchinemultiple)

Altri modelli più complessi non sono stati poi largamenteaccettati

Sistemi Distribuiti 54

Tipica architettura MIMDProcessori

Rete diInterconnessione

e Controllo

MIMD

Pe

Pe

Pe

Tipica architettura SIMDProcessori

Rete diInterconnessione

e Controllo

SIMD

Unità diControllo

Unica

Pe

Pe

Pe

Page 28: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 55

SISTEMI MULTICOMPUTER MIMD

Nodo processore collegato alla memoria privataanche organizzata a livelli

Sistema distribuito Non Uniform Resource Access

P

M

Rete diInterconnessione

P

M

P

M

P

M

P

M

Nodo P

M

Nodo

Nodo

Nodo

NodoRete diInterconnessione

P

M

P

M

P

M

P

M

Processore

Processore

Cache

Processore

ProcessoreMemoria

Reti di workstationCalcolatori indipendenti connessi da una rete locale (LAN)

LAN

Rete di workstation

Sistemi Distribuiti 56

INTERCONNESSIONE

ProcessoriMemorie

Rete diInterconnessionetra processori

e memorie

Topologia della rete di interconnessione tra processori e memorie

con uso di cache

Processori Memorie

Rete diInterconnessionetra processori

e memorie

Uniform Memory Access

Pe

Pe

Pe

M

M

M

Processori Memorie

Rete diInterconnessionetra processori

e memorie

NON Uniform Memory Access

PeM

M

M

M

Pe

M

Pe

M

UMA NUMA

Idea di località

Page 29: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 57

Modello di Trealeven

basato su due componenti

controllo della esecuzioneda esplicito a più implicito

control-driven, pattern-driven,demand-driven, data-driven

Possibilità dimemoria condivisa vs message passing

dati

controllo dellaesecuzione

memoriacondivisa

memoriaprivata

control-driven Von Neumann processi incomunicazione

pattern-driven logica attori

demand-driven grafi a riduzione riduzione distringhe

data-driven dataflow dataflowcon token

Altri modelli

Sistemi Distribuiti 58

LINGUAGGI DI PROGRAMMAZIONE

controllo dellaesecuzione

dati memoriacondivisa

datimemoriaprivata

control-driven C, Pascal, ... Ada, occam,CSP, DP,

Oggetti Parallelipattern-driven Prolog Actors, ACT2

demand-driven Lisp FPFunzionali

data-driven ValSISAL

Control-driven ==> linguaggi tradizionali e paralleliespressione esplicita del controllo

Pattern-driven ==> le clausole da applicare sono ricercate inmodo implicito

Demand-driven ==> composizione di funzioni astratte chenon specifica il parallelismo

Data-driven ==> i dati fluiscono e determinano la attivazionedelle strutture della computazione

Page 30: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 59

Modelli RAM

Una macchina ad accesso random(Random Access Machine)

è costituita da:- un programma inalterabile composto di istruzioni in

sequenza;- una memoria composta di una sequenza di parole,

ciascuna capace di contenere un intero;- un solo accumulatore capace di operare;- un nastro di input (read-only);- un nastro di output (write-only);

Durante un passo la RAM esegue una istruzionein sequenza, a parte i salti.

Istruzioni sono, ad esempio:read, write, load, store, add, sub, mul, div, jump (acc), ..., halt

Modi di indirizzamento:immediato, diretto, indiretto

La RAM è una macchina special-purpose per la risoluzione diun problema specifico

limiti:- non c'è limite alla memoria di programma- le istruzioni richiedono lo stesso tempo

(vedi SIMD)

Sistemi Distribuiti 60

Modelli PRAM

Una macchina parallela ad accesso random(Parallel Random Access Machine)

è costituita da una collezione di RAM.Una PRAM si dimensione P è composta da:- P programmi inalterabili fatto di istruzioni in sequenza;-una sola memoria composta di una sequenza di parole

capaci di contenere un intero;- P accumulatori capace di operare;- un nastro di input ed uno di output;

Durante un passo, la PRAM esegue P istruzioni, una per ogniprogramma(modello MIMD o meglio MIMD sincrono)

DISTINZIONE semanticacome si eseguono le operazioni su una stessacella di memoria (operazioni di lettura/scrittura)

operazioni simultanee (Concorrenti)operazioni sequenzializzate (Esclusive)

lettura scritturaCREW concorrente esclusiva

EREW esclusiva esclusiva

CRCW concorrente concorrente

ERCW esclusiva concorrente

Page 31: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 61

Concurrent Read Exclusive Write (CREW PRAM)Exclusive Read Exclusive Write (EREW PRAM)Concurrent Read Concurrent Write (CRCW PRAM)

Exclusive Read Concurrent Write (ERCW PRAM)vedi MISD

Operazioni concorrenti: quali effetti?

Principio di serializzazione ==>gli effetti come se una fosse fatta per prima, poiun'altra in successione, un'altra ancora, etc.

limiti:- le istruzioni richiedono lo stesso tempo- il tempo di operazione non dipende da P

accesso a memoria comune in un tempo che noncresce con P

- il tempo di operazione di input/output trascuratoaccesso ad un unico nastro non cresce con P

I/O bottleneck

➪ Uso di concorrenza per la gestione delsottosistema I/O

Sistemi Distribuiti 62

Modelli message passing MP-RAM

Una macchina message passing ad accesso random(Message Parallel Random Access Machine)

è costituita da una collezione di RAM ciascuna con unamemoria privata e connesse da canali punto a punto.Una MP-RAM si dimensione P è composta da:- P programmi inalterabili fatto di istruzioni in sequenza;- P memorie composta di una sequenza di parole;- P accumulatori capaci di operare sulla propria memoria;- un nastro di input ed uno di output;- un grafo di interconnessione punto-a-punto.

Per esempio ad albero, a stella, etc.Ogni nodo ha un certo numero di vicini ed ungrado di interconnessionePossibilità di comunicazione bidirezionale

Le istruzioni sono accresciute con:send e receive neighbor

Durante un passo, la MP-RAM esegue P istruzioni, una perogni programma

DISTINZIONE semanticacosa succede se una receive arriva prima della sendsul canale corrispondente?

semantica sincrona

Page 32: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 63

limiti:modello meno potente della PRAM

MP-RAM introduce localitàPRAM è ancora un modello globale

modello PRAM può emulare il modello MP-RAMla memoria comune viene vista come un insiemedi spazi per i diversi canaliIl canale come lo spazio per il dato ed un flagsend e receive come istruzioni che agiscono sulflag e poi sul valore da ricevere/inviare

vice versala realizzaizone del multicast/broadcast richiede moltipassi intermedi e router intermedi

ProblemaIl modello PRAM è troppo potente ed astratto

Gli algoritmi sono più veloci sul modello che nei sistemi realimodellati

COMPLESSITÀ DEGLI ALGORITMI

dipendenza dalla dimensione del problema N

complessità in tempo CT(n) (abbreviato in T(N))complessità in spazio CS(n)

Sistemi Distribuiti 64

COMPLESSITÀT(1,N) soluzione sequenzialeT(P,N) soluzione parallela con P processori

SPEED-UPMiglioramento dal sequenziale al parallelo

T(1,N) T1(N)S(P,N) = ----------- SP(N) = ----------- T(P,N) TP(N)

EFFICIENZAUso delle risorse

Speed up SP(N)E(P,N) = ----------------------- = ------------ Numero Processori P

T1(N)EP(N) = ------------- P TP(N)

SP(N) al massimo P ed EP(N) al massimo 1

Errore. Il segnalibro non è

definito. No. processori

Speed-up

Speed-up ideale

ragioniamo sui valori medi

Page 33: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 65

Correlazione tra N e P

possibilità di considerareN indipendente da PN dipendente da P

FATTORE DI CARICO (LOADING FACTOR)

NL = ----- P

dependent size (N funzione di P)independent sizeidentity size (N == P)

OBIETTIVOtrovare la migliore approssimazione perl'algoritmo che ci interessa verificare

anche

Heavily Loaded LimitTHL(N) = infP TP(N)

il valore di P tale per cui si ottiene la minore complessità delproblema (cioè T minimo)

in genere, per N molto elevato ,cioè ogni processore molto caricato

Sistemi Distribuiti 66

SPEED-UPMassimo speed-up ottenibile

nel passaggio dal sequenziale al parallelo

LEGGE DI AMDHAL

Un programma è diviso in una parte parallela ed in una parte sequenziale

lo speed-up è limitato dalla parte sequenziale

Se un programma è costituito di 100 operazioni e solo80 possono andare in parallelo e20 richiedono sequenzialità

Anche con 80 processori ==>lo speed-up non può arrivare sopra a 5

Situazione ideale ==>considerando la migliore allocazione possibile

TP(N) = TCompP + TCommP

TCompP = TCompPar + TCommSeq

Limite di Amdhal rapporto tra le due parti dell'algoritmo

Tenendo presente casi di speed-up anomalo==> dipendenti dall'algoritmo

Page 34: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 67

Problema di dimensione N con uso di P processoriper il caso di problema di somma di N interi

Complessità del sequenziale O(N)

Complessità del modello paralleloidentity size (N == P)

Con un numero di processori pari a POgni nodo foglia contiene un valoreInterconnessioni ad albero

N = P = 2H+1-1H = O (log P) = O (log N)TP(N) = O (H) = O (log N)

I valori fluiscono dalle foglie in su edogni nodo li somma ad ogni passo

NL = ----- = 1 P

T1(N) O(N) N PSP(N) = ----------- = ------------ = O(-------) = O(-------) TP(N) O(log N) log N logP

T1(N) 1 1EP(N) = ------------- = O(----------) = O(-------) P TP(N) log N log P

Efficienza tende a zero

Sistemi Distribuiti 68

Complessità del modello paralleloindependent size

Se possiamo dividere il problema parallelizzandolo con uncerto fattore di caricoUna fase locale di lavoro ed una fase di scambio diinformazioni per combinare i risultati parziali

L = N/PT(P,N) = O(N/P + log P) = O (L + log P)

per lo speed-up

T1(N) N PSP(N) = -----------= O( ---------------) = O( ------------------) TP(N) N/P + log P 1 + P/N log P

per l'efficienza

1EP(N) = O (-------------------- ) 1 + P/N log P

Se N>>Pallora lo speed-up può diventare anche P (efficienza 1)

Se P>>Nallora inefficienza

Page 35: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 69

Complessità del modello paralleloheavily loaded limit

L cresce

TP HL (P,N) = O (L + log P) => OHL (L)

O(LP)SP HL (N) = ------------------- => OHL (P) O( L + log P)

EP HL(N) = => OHL (1)

Cioè, intuitivamente

se carichiamo ogni nodo molto ==>L molto elevato

Si può raggiungere anche uno speed-up idealeed una efficienza ideale

PROBLEMI- schematizziamo a meno di fattori costanti- a volte il caso peggiore può essere più significativo

trascuriamo completamente- trascuriamo

movimento di dati I/O e il mappaggiosono necessarie comunicazioni

Sistemi Distribuiti 70

MAPPAGGIO

Assumiamo di avere mappato il problema nel modo migliore

Spesso non si possono fare allocazioni così faciliproblemi dinamici nella comunicazione

dopo la allocazione

A volte si usa anche:funzione di Overhead Totale T 0

cioè tenendo in contole risorse ed il tempo speso in comunicazione

T1(N) tempo sequenziale di esecuzioneT0(N) = T0 (T1, P) = P * TP (N) - T1(N)

Se si lavora con efficienza massima, overhead nulloT0(N) = 0 => P * TP (N) = T1(N)

T0(N) + T1(N)TP(N) = ------------------------

P

T1(N) T1(N) PSP(N) = --------- = -----------------------

TP(N) T0(N) + T1(N)

S T1(N) 1EP(N) = ---- = ---------------------- = -----------------------

P T0(N) + T1(N) T0(N)/T1(N) + 1

Si possono fare misure precise

Page 36: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 71

Nel caso della somma di N numeri con P processori

Consideriamo unitarioil costo della somma e della comunicazione

TP(N) = N/P - 1 + 2 log P ≈ N/P + 2 log P

T0(N) = P TP (N) - T1(N) nodi totali kn

T0(N) = P (N/P + 2 log P) - N

T0(N) ≈ 2 P log P

N N PSP(N) ≈ -------------------- = --------------------

N/P + 2 log P N + 2 P log P

NEP(N) ≈ -----------------------

N + 2 P log P

I due indicatori dipendono sia dal numero di processorisia dalla dimensione del problema

Sistemi Distribuiti 72

PER IL CASO PRECEDENTE

SPEED-UP

0

2

4

6

8

10

12

14

16

18

20

1 4 8 16 32

N=64

N=192

N=320

N=512

EFFICIENZA

00,1

0,20,30,4

0,50,60,7

0,80,9

1

1 4 8 16 32

N=64

N=192

N=320

N=512

Gli indicatori possono anche rimanere costanti(al variare di P)

Page 37: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 73

ıISOEFFICIENZA

1EP(N,P) = ----------------------- T1(N) è il lavoro utile

T0(N)/T1(N) + 1

Obiettivo ==> mantenere l'efficienza costante

1 - E 1 - ET0(N)/T1(N) = --------- T0(N) = --------- T1(N)

E E

1 - ET0(N,P) = --------- T1(N,P) = K T1(N, P)

E

Lo costante K caratterizza il sistemaNel caso precedente (1 nodo /1 valore) K non costanteNel caso di albero, K vale 2 P log P

Funzione isoefficienzaSe teniamo costante N e variamo P, K determina se unsistema parallelo possa mantenere un'efficienza costante==> cioè uno speed-up ideale

Se K è piccola ==> alta scalabilitàSe K è elevata ==> poca scalabilitàK può non essere costante ==>

sistemi non scalabili

Albero, K vale 2 P log Psistema scarsamente scalabile

Sistemi Distribuiti 74

ARCHITETTURA ASTRATTA

composta di risorseprocessori (Processing Element)memoriainput/outputcanali

Sistema distribuito con memoria e canali

NON UNIFORM RESOURCE ACCESS

ARCHITETTURA REALE

Quali risorse?

Processing elements PEquanti?quali?

I/Omemorieinterconnessione reciproca

Si noti la complessità introdotta dalla eterogeneità

Page 38: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 75

Processoricompromesso numero-potenza

No. di processori Tipi di architetture10 Mainframe

(elevato throughput, non speed-up)Architetture a busReti di workstation

100 reti di interconnessione diretteod indirette

1000 molti processori (a 1 bit) susingoli chip

Memoria ed I/O

Dimensionamento della memoria ed I/O dipende da:• la potenza del processore• il rapporto elaborazione/comunicazione• la frequenza e tipo di I/O richiesto

(punti 2 e 3 dipendono da applicazioni)

1 Mbyte memoria e I/O rate 1 Mbyte/sec per MIPS

E L'INTERCONNESSIONE?

Sistemi Distribuiti 76

ARCHITETTURA ASTRATTA

decomposizionecomunicazione

MODELLI GLOBALI

Approccio astrattofunzionale di alto livelloUNITY

Approccio parzialmente astrattoLinda, attori, dataflow

Approccio di basso livelloindipendente dalla architettura (PVM)dipendente dalla architettura (occam)

Approccio di bassissimo livelloPRAM

MODELLI RISTRETTI O LOCALIApproccio basati sulla località

MP-RAM

Page 39: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 77

Architettura della interconnessioneMisurata dal costo, velocità ed affidabilità di invio deimessaggi da dove provengono a dove devono andare

Parametri:- latenza- banda- connettività- costo hw- reliability- funzionalità

(e.g. combinazione messaggi, frammentazione)

SCELTE

Topologiastatica e dinamica

Modi di operazione della architetturasincrono ed asincrono

Switchingpacket switching, circuit switching,virtual cut-through (wormhole)

Strategia di Controllocentralizzato o distribuito

Sistemi Distribuiti 78

INTERCONNESSIONE

Statica (reti dirette)Dinamica (reti indirette)

INTERCONNESSIONE GLOBALELibera e non Vincolata

interconnessione completaunico crossbarinterconnessioni irregolari replicate

INTERCONNESSIONE RISTRETTAVincolata bus unico

reti dirette staticheanelli - ringinterconnessione nel piano - meshalberi (binari, ternari, etc.) - treeipercubicube connected cycles (CCC)

reti a stage dinamicheomega networkbanyan networkBenes network

Page 40: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 79

INTERCONNESSIONE

CONNESSIONE COMPLETA

Processori Memorie

1

2

n

1

2

m

n*mconnessioni

Ogni processore collegato con tutti i banchi di memorian*m connessioni

Eventuale aggiunta di interconnessioni ulterioriconnessioni multiple replicate

In un sistema ideale è realizzato attraverso• un bus• uso di switch

Problemi di scalabilità risolti con ipotesi di localitàlimiti sul numero dei partecipanti

Sistemi Distribuiti 80

Processori Memorie

1

2

n

1

2

m

Sistema shared bus

Numero modesto di processori (ordine della decina)

switch switch switch

switch switch switch

switch switch switch

Processori

Memorie

1

2

n

1 2 m

switch switch switch

switch switch switch

switch switch switch

Sistema crossbar switch

Page 41: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 81

RETI dirette

Fino a strutture più complesse (per tollerare guasti)

anche con ridondanze parzialiPossibile imposizione del verso sui link

Sistemi Distribuiti 82

IPERCUBI

ipercubo di dimensione 4(con due nodi per dimensione)

ring => con due nodimesh => con due nodi per dimensione

In genere,un ipercubo ha due nodi per ogni dimensione

nodi totali 2n

Si estende a numeri superiori di nodi sulla stessa dimensione=> se K

K-ary n-cubeun ipercubo di dimensione n con un numero di nodi

k per ogni dimensionenodi totali kn

Grado di interconnessione non scalabile

Page 42: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 83

RETI a stage multipli (INDIRETTE)

Processori Memorie

livelloprimo

livellosecondo

livelloterzo

livelloultimo

Omega networklogp stage: ogni stage interconnette

p input ed output

Mescolamento perfetto (Perfect Shuffle)

001

010

011

000

101

110

111

100

001

010

011

000

101

110

111

100

1

2

3

0

5

6

7

4

1

2

3

0

5

6

7

4

Sistemi Distribuiti 84

RETI DINAMICHE

Ad ogni stage tra input i ed output j vale

| 2*i 0 <= i <= p/2 -1j = <

| 2*i+1-p p/2 <= i <= p -1

1

0

1

0i j

1

0

1

0i j

pass-through cross-over

Anche a più stage

Omega network a tre stage (8 I/O)

001

010

011

000

101

110

111

100

001

010

011

000

101

110

111

100

Page 43: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 85

CONFLITTI

001

010

011

000

101

110

111

100

001

010

011

000

101

110

111

100

le situazioni di blocco si superano con interconnessioniaddizionali

Benes network

001

010

011

000

101

110

111

100

001

010

011

000

101

110

111

100

Sistemi Distribuiti 86

RETI STATICHE

p numero totale nodi della topologia

Diametromassima distanza tra due nodi qualsiasidella topologia

ring => p/2 mesh => 2( p1/2 - 1)ipercubo=> log p tree => 2 log p

Connettivitàmolteplicità dei cammini tra nodinumero minimo di archi che devono essere tolti perspezzare la topologia in due parti

ring =>2 mesh => 2 toro => 4ipercubo=> n (se n dimensioni: n = log p)completa connessione => p -1

Bisection widthnumero minimo di archi che devono essere tolti perpartizionare la rete in parti uguali

ring =>2 mesh => p1/2 toro => 2 p1/2

ipercubo=> p/2 completa connessione => p2/4

ALTRI PARAMETRI

Costo della interconnessioneFattibilità

Page 44: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sis

tem

i Dis

trib

uit

i 87

Con

fron

to r

eti s

tatic

heT

ipo

di r

ete

Late

nza

Max

Ban

dape

r no

dogr

ado

diin

terc

onn.

cost

oca

blag

gio

Ese

mpi

com

plet

amen

teco

nnes

saco

st.

cost

.tu

tti c

ontu

ttiP

2

iper

cubo

log

Pco

st.

log

Pvi

cini

P lo

g P

Con

nect

ion

Mac

hine

albe

ro b

inar

iolo

g P

cost

.3

vici

niP

Cel

lula

rm

esh

2Dra

dice

(P)

cost

.4

vici

niP

Illia

c M

PP

Tra

nspu

ter

Con

fron

to r

eti d

inam

iche

Tip

o di

ret

eLa

tenz

aM

ax B

anda

per

nodo

grad

o di

inte

rcon

n.co

sto

cabl

aggi

oco

sto

Sw

itch

Ese

mpi

Cro

ssba

rco

st.

cost

.tu

tti c

ontu

ttiP

P2

bus

cost

.1/

Ptu

tti c

ontu

ttiP

PS

iste

mi a

bus

mul

tista

gelo

g P

cost

.tu

tti c

ontu

ttiP

log

PP

log

PB

utte

rfly

,C

M-5

, CS

-2

Sistemi Distribuiti 88

GRADO di PARALLELISMOMIMD vs. SIMD

- MIMD più flessibili- SIMD possono essere emulate con

macchine MIMD

Sistemi Moderatamente/Massicciamente paralleli

Sistemi paralleliallo stato attuale della tecnologia possono esserecomposti da alcune decine di processori.

Sistemi massicciamente parallelicaratterizzati da architetture che scalano fino a migliaia diprocessori (massimo circa sessantaquattromila)

Sistemi ParalleliMassicciamente Paralleli migliaia di PE

numero di processori da 30 a 64000iPSC(/2 e /860), NCUBE, MEIKO, SuperNode, ...

Moderatamente Paralleli decine di PEnumero di processori fino al massimo 30

CRAY, Convex, Sequent, Encore, Alliant FX, ...

Per i secondi, anche memoria condivisaPer i primi, impossibile

Page 45: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 89

MEMORIA CONDIVISA

senza bususo di reti con switch dinamico

multistageo memoria veramente condivisa

con bus unicoproprietariostandard (Multibus, VMEbus)

solo memoria condivisamemoria locale e globale condivisamemoria locale e condivisa solo in un cluster (vicinato)

SENZA MEMORIA CONDIVISA

gerarchia di bus per scambio messaggicon gerarchia un cluster di PE connessi con un busproprietario o standard

reti di interconnessione tra PE con diverse topologiecon possibilità di variare anche la topologia,generalmente regolare

reti di interconnessione tra workstationin particolare con le nuove possibilità diinterconnessione veloce

Sistemi Distribuiti 90

PROCESSORI- CPU proprietarie progettate appositamente

CRAY, Convex, IBM 3900, ...

- CPU 'off-the-shelf'RISC, SPARC, ...

- CPU progettate per il calcolo parallelo e distribuito, ingenere con integrazione con la comunicazioneT800, T9000, nCUBE, iWARP, ...

2 CATEGORIE PRINCIPALIA) ARCHITETTURE con memoria distribuita

scalabili

B) SISTEMI ETEROGENEI basatisu reti diverse

Esempi:Sistemi a Memoria Distribuita A)

Meiko CS ...

Sistemi Distribuiti B)reti di workstation e multiprocessori

Page 46: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 91

Sistemi a Mem Distribuita: Meiko A)

Meiko CS-1Fino a 2048 nodi MIMD con processori T800Topologia statica riconfigurabile (4 link per nodo)Comunicazione con message passing proprietario(CSTools)

Meiko CS-2Struttura modulare, fino a centinaia di nodi MIMD conprocessori off-the-shelf SPARCTopologia ad albero di switchComunicazione con message passing proprietario

Sistemi Distribuiti 92

SISTEMI DISTRIBUITI B)

Reti di workstation e multiprocessoriSistemi eterogenei

retihardware e software parallelo

Mancanza di sistemi operativi e di strumenti di sviluppo

LAN

Macchina a parallelismo massiccio

Uso della MEIKO dalla rete

Soluzioni con clusterintroducendo l'idea di località a livello di architettura

Località introdotta con vincoli,sia attraverso reti, sia attraverso bus,sia attraverso memoria comune

Page 47: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 93

Stato dell'arteesaminando i sistemi operativi

dal concentrato verso il distribuito

UNIX rappresenta un modello di conformitàper caratteristiche di accesso ai fileper possibilità di concorrenza

I sistemi operativi general-purpose tendono a forniresoluzioni ispirate o analoghe

si pensi a Microsoft Windows NT che introduce processi econtrollo di accessoma anche ad evoluzioni hce fanno ancora i conti con leproprietà di UNIX (vedi anche Linux)

UNIX rappresenta un limiteper caratteristiche di concorrenzaprocessi pesanti

I sistemi operativi evoluti preservano la compatibilità maforniscono migliori prestazione per la gestione delle risorse➪ per i processi (leggeri) e per la distribuzione delle

risorse (processi e dati)

Inoltre si cerca di ispirarsi agli standard in definizione per laeterogeneitàObject-Oriented CORBA

Sistemi Distribuiti 94

COMPUTAZIONE ETEROGENEA

Computazione eterogenea usa sistemi esistentiper produrre un ambiente integrato

modularità decomposizione eparallelismo differenziato

Ogni applicazione presenta più tipi di parallelismole parti vengono così eseguite sui componenti piùadatti su esplicita richiesta o in modo implicito

ConnessioniConnessioni

Connection Machine

Macchina a parallelismo massiccio

Rete di workstation

Cray

Macchina a parallelismo massiccio

Differenze a livello di• architettura• dati• protocolli• sistemi operativi• risorse

necessità di standard

Page 48: SISTEMI DISTRIBUITI - LIAlia.deis.unibo.it/Courses/RetiDiCalcolatori/retiold/Generalita.pdf · Sistemi Distribuiti 1 SISTEMI DISTRIBUITI DEFINIZIONE Insieme di sistemi distinti per

Sistemi Distribuiti 95

STATO DELL'ARTEAnziché usare kernel monolitici (vedi UNIX)e che si accettano in blocco (o meno)e che pesano sulle performance

Uso di microkernelrealizzazioni minimali del supporto di un S.O.le politiche specificate al disopra del kernela livello applicativoa livello utente processi applicativi e di sistema

- apertura a nuove strategie (generalità)/ costi superiori delle strategie realizzate

(rispetto a soluzione ad-hoc)I microkernel contengono il supporto per i processi e perle comunicazioni tra processi

Anche livelli di omogeneizzazione della eterogeneitàSTRATI indipendenti dal sistema ==>

comunicazione tra processi

PVM (Parallel Virtual Machine)

Sun Transputer Sun HP HP

PVM

Processi Processi

APPLICAZIONE 1 APPLICAZIONE 2

Network

Problemi di efficienza