SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

Documenti analoghi
SCD. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione. Sistemi distribuiti: introduzione

SCD. Sistemi distribuiti: introduzione. Openness. Sistemi distribuiti: introduzione. Caratteristiche di trasparenza

SCD. Openness. Sistemi distribuiti: introduzione. Definizione

SCD. Sistemi distribuiti: introduzione. Openness. Sistemi distribuiti: introduzione. Caratteristiche di trasparenza. Definizione

SCD. Sistemi distribuiti: introduzione. Openness. Sistemi distribuiti: introduzione. Definizione

Introduzione ai. Sistemi Distribuiti

Introduzione ai. Sistemi Distribuiti

SCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Cliente e servente concorrenti 1

SCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Considerazioni di costo 2. Considerazioni di costo 3

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

Sistemi a processori multipli

BASI DI DATI DISTRIBUITE

Architetture dei sistemi distribuiti. Mariagrazia Fugini Impianti Como 08-09

Modelli Architetturali. Astrazione del sistema - componenti e struttura - distribuzione delle funzionalità

SCD. Comunicazione in Distribuito. Sistemi distribuiti: comunicazione. Visione a livelli 1. Visione a livelli 2. Evoluzione di modelli

Anni 80: reti locali di PC terminali dotati di intelligenza propria, che condividono risorse pregiate, come stampanti, dischi, etc.

Terminologia e concetti fondamentali La struttura di Internet (hardware e software):

SCD. Sincronizzazione. Sistemi distribuiti: sincronizzazione. Stato del sistema 2. Stato del sistema 3. Stato del sistema 1. Distributed snapshot

Modulo 2 Architetture dei SD Lezione 1

Architettura a oggetti distribuiti

SCD. Comunicazione in distribuito. Sistemi distribuiti: comunicazione. Evoluzione di modelli. Visione a livelli 2. Visione a livelli 1

SCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Considerazioni di costo 2. Considerazioni di costo 1

Introduzione D B M G

Tu sai di averne uno quando il guasto di un computer di cui non hai mai sentito parlare non ti permette di fare il tuo lavoro.

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

Elenco sezioni libro di testo Ed. 5 Tra parentesi le corrispondenze per l'ed. 7.

SCD. Comunicazione. Sistemi distribuiti: comunicazione. UniPD - SCD 2010/11 - Corso di Sistemi Concorrenti e Distribuiti 1. Evoluzione di modelli

Elena Baralis 2007 Politecnico di Torino 1

SCD IS. Documentazione. Domande ricorrenti 1. Valutazione quantitativa 1. Perché documentare... UniPD Ingegneria del Software mod.

Sistemi informativi D B M G. Introduzione. Introduzione alle basi di dati D B M G 2. Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1

Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS

Elena Baralis 2007 Politecnico di Torino 1

SCD. Sincronizzazione in distribuito. Sistemi distribuiti: sincronizzazione. Stato del sistema 2. Stato del sistema 3. Stato del sistema 1

ottobre Fonti [Bakken] Middleware (da Encyclopedia of Distributed Computing) Middleware Architectures and Technologies Luca Cabibbo

INTRODUZIONE A RETI E PROTOCOLLI

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria

Domenico Talia. Corso di Laurea in Ingegneria Informatica. Facoltà di Ingegneria A.A UNICAL. D. Talia SISTEMI DISTRIBUITI - UNICAL 1

Cenni sulla virtualizzazione

Laboratorio di Informatica

SISTEMI OPERATIVI DISTRIBUITI

SCD. Processi e concorrenza in distribuito. Sistemi distribuiti: processi e concorrenza. Considerazioni di costo 2. Considerazioni di costo 3

Cenni sulla virtualizzazione

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

GeoServer nel Cloud. Un caso di studio sulle modifiche architetturali nel passaggio a piattaforme Cloud. Federico Cacco

Gerarchia fisica di memoria 1. Gerarchia fisica di memoria 2. Gerarchia fisica di memoria 3. Ricapitolazione di concetti base

Il Modello a scambio di messaggi

SCD IS. Documentazione. Domande ricorrenti 1. Cosa documentare. Come documentare. Perché documentare 3. Domande ricorrenti 2. Perché documentare

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Le Reti Informatiche

Programmazione modulare


I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

AscotWeb - mediatore Versione dicembre 2015

Introduzione ai thread

D. Gubiani Introduzione alle Basi di Dati 3. La porzione automatizzata di un sistema informativo viene in

MODELLI ISO/OSI e TCP/IP

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

Gruppi di Processi e Comunicazione di Gruppo.

7. Architetture Software

Corso di Informatica

Sistemi Operativi: Concetti Introduttivi

X Prefazione dei paradigmi della programmazione concorrente. Successivamente, l evoluzione delle tecnologie hardware, che hanno consentito lo sviluppo

Corso di Laurea in Ingegneria Informatica. Gli obiettivi del corso sono:

Programmazione Concorrente

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE. Algoritmo, programma, processo

SISTEMI INFORMATIVI AZIENDALI

SCD IS. Considerazioni strategiche. Fasi del progetto didattico. Gradi di libertà. Pianificazione 1. UniPD Ingegneria del Software mod.

Reti di Calcolatori COMMS Reti di Calcolatori 1. Il modello Client/Server. I Sistemi di Rete

Università di Bologna

Cenni sulla virtualizzazione

Programmazione Concorrente:

Architetture di Elaboratori II - Sistemi Distribuiti Introduzione al corso

Processi non sequenziali e tipi di interazione

Processi non sequenziali e tipi di interazione

Architetture a livelli

Programmazione Concorrente: insieme delle tecniche, metodologie e strumenti per il supporto all'esecuzione di sistemi software composti da insiemi di

2. Finalità generali previste dalle indicazioni nazionali

MODELLI ISO/OSI e TCP/IP

Introduzione ai Sistemi Distribuiti

SISTEMI OPERATIVI THREAD. Giorgio Giacinto Sistemi Operativi

Dispositivi per il controllo

Esperienze di Telemisura e problematiche di condivisione di risorse di laboratorio

L infrastruttura STIL. Presentazione dei risultati finali del progetto Alessandro Ricci Università di Bologna DEIS Bologna / Cesena

Programmazione modulare

verso espandibili eterogenei tempo di accesso tempo di risposta throughput

Modello a scambio di messaggi

Architettura di rete. Modelli di Riferimento: TCP/IP e OSI. Modello di riferimento OSI. Modelli di riferimento. architettura di rete

Architetture Evolute nei Sistemi Informativi. architetture evolute 1

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

SCD. Processi e concorrenza. Sistemi distribuiti: processi e concorrenza. UniPD - SCD 2009/10 - Sistemi Concorrenti e Distribuiti 1

Universita` di Bologna Corso di Laurea Magistrale in Ing. Informatica A.A Sistemi Operativi M. Prof. Anna Ciampolini

Internet (- working). Le basi.

1: Generalità sulle reti di trasmissione numeriche

I Processi. Il Concetto di Processo

Transcript:

Anno accademico 2007/8 Corso di Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Definizione Un sistema distribuito è un insieme di elaboratori indipendenti capaci di apparire all utente come un sistema unitario e coerente La comunicazione di tali elaboratori tra loro deve restare nascosta all utente L interazione tra utente e sistema deve essere indipendente dal tempo e dallo spazio in cui essa avviene Corso di Laurea Specialistica in Informatica, Università di Padova 1/30 Corso di Laurea Specialistica in Informatica, Università di Padova 2/30 Caratteristiche di trasparenza Trasparenza di Per nascondere Eventuali differenze - nella rappresentazione dei dati (hardware eterogeneo) Accesso - nelle modalità di accesso alle risorse (organizzazioni logiche diverse) Il luogo di residenza effettiva delle risorse Collocazione (distinzione tra nome fisico e nome logico) Migrazione Che una risorsa possa cambiare collocazione nel tempo Spostamento Che una risorsa possa cambiare collocazione durante l uso Replicazione / Che una risorsa possa essere consistentemente condivisa (anche Concorrenza tramite replicazione coerente) tra più utenti in competizione tra loro Malfunzionamento Il guasto e l eventuale ripristino delle risorse Il grado di persistenza della risorsa logica Persistenza (residente in memoria primaria oppure in memoria secondaria) ISO/IEC IS 10746:1995, Open Distributed Processing Reference Model Openness Altre caratteristiche desiderabili Offrire servizi la cui sintassi di invocazione [e semantica di esecuzione] sia[no] definite secondo regole note e garantite Servizi sintatticamente specificati in termini di interfacce, spesso espresse in un linguaggio ad hoc (Interface Definition Language, IDL) Caratteristiche essenziali di servizi: interoperabilità e portabilità Caratteristiche desiderabili di interfacce Completezza: la specifica non nasconde alcun dettaglio essenziale alla realizzazione eutralità: la specifica non impone una specifica realizzazione Separazione virtuosa tra politiche e meccanismi La politica deve essere facilmente modificabile, adattabile e configurabile al variare dei bisogni e delle circostanze La politica è interna al servente e trasparente al cliente I meccanismi di accesso consentono la realizzazione di diverse politiche e non dovrebbero cambiare al variare di esse Corso di Laurea Specialistica in Informatica, Università di Padova 3/30 Corso di Laurea Specialistica in Informatica, Università di Padova 4/30 Altre caratteristiche desiderabili Scalability (dimensionabilità) Rispetto alla cardinalità Per aggiunta o rimozione di utenti, nodi, risorse Rispetto all estensione geografica Utenti e risorse possono trovarsi a distanza variabile tra loro senza che questo ne pregiudichi l accesso e l interazione Rispetto alle problematiche locali di gestione Ciascuna amministrazione locale non pregiudica l amministrazione del sistema distribuito nel suo complesso Obiettivi a elevato costo prestazionale Fattori di centralizzazione Centralizzazione dei servizi Assumere un singolo servente per tutti gli utenti del sistema Pesante collo di bottiglia Centralizzazione dei dati Raccogliere tutte le informazioni significative in un unico luogo Dimensioni e complessità proibitive Centralizzazione degli algoritmi ecessitare visione completa dello stato corrente del sistema Onere di raccolta proibitivo Corso di Laurea Specialistica in Informatica, Università di Padova 5/30 Corso di Laurea Specialistica in Informatica, Università di Padova 6/30 UniPD - SCD 2007/8 - Corso di Sistemi Concorrenti e Distribuiti 1

Prerequisiti di distribuzione Un algoritmo è distribuito se on richiede informazione completa sull intero sistema Prende decisioni sulla base di conoscenza locale on viene pregiudicato da guasti locali on necessita di un riferimento unico e globale del tempo di sistema Consente ripartizione dei compiti e replicazione delle risorse e ne garantisce il grado di consistenza necessario Il paradigma di comunicazione asincrona asconde i ritardi di comunicazione sulla rete e dunque si presta alla distribuzione Multi-processori Distribuzione hardware Multi-elaboratori Corso di Laurea Specialistica in Informatica, Università di Padova 7/30 Corso di Laurea Specialistica in Informatica, Università di Padova 8/30 Sistemi multi-processore 1 Spazio di memoria unico per tutte le CPU La comunicazione su bus (necessaria per preservare memoria coerente) diventa presto collo di bottiglia La connessione punto a punto (switch) ripartisce le comunicazioni ma aumenta la complessità strutturale Connessione a matrice (crossbar switch): M punti di collegamento Comunicazione veloci ma grande costo strutturale Combinazioni di sottoreti semplici di connessione (p.es. 2 2, omega network) Basso costo strutturale ma collegamenti più complicati Sistemi multi-processore 2 meno connettori ma più latenza di connessione UMA non-uniform memory access Gerarchia di memoria più articolata (locale, globale) Costo di accesso ottimizzabile ma maggiore complessità organizzativa n 2 connettori per n elementi {P, M} Crossbar switch Omega network Corso di Laurea Specialistica in Informatica, Università di Padova 9/30 Corso di Laurea Specialistica in Informatica, Università di Padova 10/30 Sistemi multi-elaboratore 1 Sistemi multi-elaboratore 2 Sistemi omogenei Per ambiti di elaborazione specifici e specializzati essuno spazio di memoria globale Comunicazione tra elaboratori sia per diffusione (bus, ma di scarsa espandibilità) che punto a punto (switch) con cammino determinato da instradatori (router) Topologie classiche punto a punto A griglia (grid) A ipercubo (hypercube) Cubi n-dimensionali con 2 n vertici e n2 n-1 archi diretti tra vertici Ciascun vertice è un elaboratore e ciascun arco una connessione punto a punto Griglia Ogni singolo nodo si occupa di elaborazione e di instradamento Ipercubo 2 n vertici n2 n-1 archi Corso di Laurea Specialistica in Informatica, Università di Padova 11/30 Corso di Laurea Specialistica in Informatica, Università di Padova 12/30 UniPD - SCD 2007/8 - Corso di Sistemi Concorrenti e Distribuiti 2

Sistemi eterogenei Sistemi multi-elaboratore 3 Per ambiti di elaborazione non necessariamente specializzati Eterogenei sia rispetto alla tipologia degli elaboratori che alla topologia della rete di interconnessione La base corrente dei sistemi distribuiti attuali I sistemi omogenei multi-elaboratore sono più spesso visti come sistemi a parallelismo massiccio Distribuzione software Visione secondo la struttura del sistema operativo Ad accoppiamento stretto distribuito Gestione uniforme delle risorse complessive del sistema In totale analogia con le funzioni di un per mono-processore Per sistemi multi-processore (a memoria condivisa) e per sistemi omogenei multi-elaboratore Ad accoppiamento lasco (OS) Per offrire a utenti remoti l accesso ad alcune risorse e servizi locali Con funzionalità di gestione della distribuzione che possono essere arricchite da un livello software interposto tra OS e applicazioni middleware Corso di Laurea Specialistica in Informatica, Università di Padova 13/30 Corso di Laurea Specialistica in Informatica, Università di Padova 14/30 Sistemi operativi distribuiti 1 Sistemi operativi distribuiti 2 distribuito Architettura generalmente concepita per sistemi omogenei Virtualizzazione software di memoria comune realizzata mediante scambio messaggi Punti di possibile attesa forzata nello scambio messaggi Mittente Destinatario (1) Messaggio in attesa di essere depositato in buffer OUT mittente (2) Messaggio prelevato da buffer OUT 1 4 mittente e inviato su rete (3) Messaggio depositato in buffer I I destinatario (4) Messaggio prelevato da buffer I destinatario per ricezione OUT 2 3 L attesa del mittente ai punti (3 4) ha senso solo in presenza di una rete di comunicazioni affidabile Il mittente può bloccarsi su (1) finché il buffer OUT è pieno L attesa del mittente ai punti (2 4) non richiede buffer dal suo lato! Il destinatario può bloccarsi su (3) finché il buffer I è vuoto Corso di Laurea Specialistica in Informatica, Università di Padova 15/30 Corso di Laurea Specialistica in Informatica, Università di Padova 16/30 Sistemi operativi distribuiti 3 La programmazione di sistemi distribuiti per multielaboratore è molto più complicata di quella per sistemi multi-processore La comunicazione basata su memoria condivisa oppure su primitive di sincronizzazione (semafori, monitor e risorse protette) è molto più facile che quella basata esclusivamente su scambio messaggi L utilizzo di scambio messaggi è complicato da problematiche di accodamento, sincronizzazione e affidabilità della rete che sorgono in ambito distribuito Architettura idonea per sistemi eterogenei Sistemi operativi Realizzazione di servizi come sessione remota, e file system Corso di Laurea Specialistica in Informatica, Università di Padova 17/30 Corso di Laurea Specialistica in Informatica, Università di Padova 18/30 UniPD - SCD 2007/8 - Corso di Sistemi Concorrenti e Distribuiti 3

Sistemi distribuiti: middleware 1 Sistemi distribuiti: middleware 2 é i sistemi operativi distribuiti né quelli aderiscono alla definizione di sistema distribuito! I sistemi operativi distribuiti hanno caratteristiche di trasparenza ma non coordinano un insieme di elaboratori indipendenti I sistemi operativi hanno caratteristiche di openness e scalability ma non forniscono la visione di un sistema unitario e coerente Servizi middleware Realizzazione aperta di servizi di trasparenza e scalabilità, con interfaccia standard I sistemi distribuiti moderni sono realizzati per aggiunta di un livello software di astrazione chiamato middleware posto al livello OS Corso di Laurea Specialistica in Informatica, Università di Padova 19/30 Architettura idonea per sistemi distribuiti Corso di Laurea Specialistica in Informatica, Università di Padova 20/30 Sistemi distribuiti: middleware 3 Sistemi distribuiti: middleware 4 Vari modelli (paradigmi) di middleware si sono susseguiti nell ultimo decennio File system distribuito (estensione della piattaforma UIX) Trasparenza limitata a file di tipo tradizionale Grado di trasparenza operativo distribuito Multi-processore Multi-elaboratore Eccellente Buono operativo Scarso distribuito basato su middleware Buono Chiamate di procedura remota (RPC) Trasparenza estesa alla comunicazione distribuita Stesso su ogni nodo Si Si o o Oggetti distribuiti Interazioni tra oggetti rappresentati da interfacce (dettagli implementativi nascosti) Documenti distribuiti WWW Paradigma SOA (service-oriented architecture) Istanze di Paradigma di comunicazione Gestione delle risorse 1 Memoria condivisa Centralizzata per risorse globali Scambio messaggi Distribuita per risorse globali FS Per nodo Svariati Per nodo Problematiche comuni a ogni modello Supporto alle varie forme di trasparenza, denominazione delle entità (naming), gradi di sicurezza Scalability Openness ulla ulla Modesta ulla Dipende dal paradigma Corso di Laurea Specialistica in Informatica, Università di Padova 21/30 Corso di Laurea Specialistica in Informatica, Università di Padova 22/30 Stili architetturali 1 Stili architetturali 2 Espressi in termini di definizione e uso di Componenti Unità modulare dotata di interfacce fornite e richieste ben definite Completamente rimpiazzabile nel suo ambiente Connettori Ciò che consente comunicazione, coordinamento e cooperazione tra componenti Stili prevalenti Architetture a livelli Architetture basate su oggetti Architetture orientate ai dati Architetture basate su eventi Architettura a livelli Architettura a oggetti Corso di Laurea Specialistica in Informatica, Università di Padova 23/30 Corso di Laurea Specialistica in Informatica, Università di Padova 24/30 UniPD - SCD 2007/8 - Corso di Sistemi Concorrenti e Distribuiti 4

Stili architetturali 3 Architetture centralizzate Subscribe Disaccoppiamento referenziale tra componenti Disaccoppiamento temporale tra componenti Architettura basata su eventi Architettura orientata ai dati L interazione tra cliente e servente implica un comportamento detto request-reply Sorgente del problema prestazionale in Web 1.0 Alcune richieste (ma non tutte!) sono idempotenti Possono essere ripetute più volte senza causare danni o problemi Proprietà molto importante a fronte di comunicazioni inaffidabili Rendere logicamente affidabile una interconnessione fisicamente inaffidabile ha un costo molto elevato Corso di Laurea Specialistica in Informatica, Università di Padova 25/30 Corso di Laurea Specialistica in Informatica, Università di Padova 26/30 Architetture distribuite 1 Architetture distribuite 2 Varie architetture cliente-servente sono possibili in relazione all organizzazione dei dati e del servizio Distribuzione verticale Componenti diverse sul piano logico/funzionale possono essere assegnate a elaboratori distinti Sia sul lato servente che sul lato cliente Il servizio viene reso tramite la cooperazione di componenti distribuite Ripartizione gerarchica (anche di autorità) Distribuzione orizzontale Servente e cliente possono essere partizionati ma ciascuna loro componente può operare da sola Bilanciamento del carico (ripartizione del lavoro gestita da un dispatcher) ell architettura a distribuzione verticale il servente visto dal cliente può essere esso stesso cliente di una componente servente cui sia stata demandata parte del servizio Corso di Laurea Specialistica in Informatica, Università di Padova 27/30 Corso di Laurea Specialistica in Informatica, Università di Padova 28/30 Architetture distribuite 4 Un nuovo concetto di middleware Intercettore di richiesta Intercettore di messaggio Un approccio architetturale al middleware offre Semplicità progettuale Scarsa adattabilità In prospettiva è preferibile un approccio più adattabile basato su Separation of concerns Computational reflection Progettazione per componenti e connettori L intercettore illustrato in figura mostra il posizionamento logico dei connettori ell architettura a distribuzione orizzontale la parte più onerosa del servizio può essere completamente replicata su più elaboratori distinti operanti in parallelo Corso di Laurea Specialistica in Informatica, Università di Padova 29/30 Corso di Laurea Specialistica in Informatica, Università di Padova 30/30 UniPD - SCD 2007/8 - Corso di Sistemi Concorrenti e Distribuiti 5