SCD. Openness. Sistemi distribuiti: introduzione. Definizione

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

Sistemi a processori multipli

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

Cenni sulla virtualizzazione

Laboratorio di Informatica

Sistemi Distribuiti Anno accademico 2009/10

Modulo 2 Architetture dei SD Lezione 1

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.

Architetture della memoria


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

SISTEMI OPERATIVI DISTRIBUITI

Introduzione ai Sistemi Distribuiti

La gestione dell I/O (Cap. 5, Tanenbaum)

SCD. Processi e concorrenza. Sistemi distribuiti: processi e concorrenza. UniPD - SCD 2006/7 - Corso di Sistemi Concorrenti e Distribuiti 1

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

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

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

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

AscotWeb - mediatore Versione dicembre 2015

Architetture a livelli

UD 3 PROTOCOLLO ISO-OSI

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

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

Dispositivi per il controllo

Architetture Client/Server. Un architettura è centralizzata quando i dati e le applicazioni (programmi) risiedono in un unico nodo elaborativo

Sistemi Operativi: Concetti Introduttivi

Architetture di rete. 4. Le applicazioni di rete

Elena Baralis 2007 Politecnico di Torino 1

Remote file access sulla grid e metodi di interconnesione di rete

Introduzione alla rete Internet

Sistemi Operativi per Architetture Parallele

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

Il Modello a scambio di messaggi

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

INTRODUZIONE A RETI E PROTOCOLLI

Sistemi Distribuiti e Cloud Computing A.A. 2015/16

7. Architetture Software

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

7. Progetto di Applicazioni Distribuite

Reti di calcolatori. Ing. Maria Mirto. mail:

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

Sistemi Distribuiti. Informatica B. Informatica B

Classificazione delle Architetture Parallele

A cura di Valeria Valecchi

MODELLI ISO/OSI e TCP/IP

1: Generalità sulle reti di trasmissione numeriche

Reti di Calcolatori:

Internet (- working). Le basi.

Modello a scambio di messaggi

MODELLI ISO/OSI e TCP/IP

Applicazioni distribuite e sistemi ad oggetti distribuiti. RPC RMI - Web Services 1

SCD. Sistemi distribuiti: gestione dei nomi. Denominazione di entità 1. Denominazione di entità 2. Esempio

L Affidabilità dei Sistemi di Input-Output ad Elevate Prestazioni

Basi di Dati. Concetti e Principi Generali. Maria Mirto

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Introduzione alla rete Internet

Progettazione di reti locali basate su switch - Switched LAN

Laurea Magistrale in Ingegneria Informatica - I anno

Titolo della presentazione

Università degli Studi di Roma Tor Vergata Dipartimento di Ingegneria Civile e Ingegneria Informatica

Basi di dati Architetture e linee di evoluzione

SISTEMI OPERATIVI DISTRIBUITI

Centralizzata Monolitica anni Reti Client Server anni Internet The network is the computer

Introduzione alla rete Internet

CdL MAGISTRALE in INFORMATICA A.A corso di Sistemi Distribuiti. 8. Le architetture (prima parte) Prof. S.Pizzutilo

3: Architettura TCP/IP

I sistemi operativi. Prof. Daniele Contarino

IL PATRIMONIO DI DATI E LE BASI DI DATI

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Table of Contents. Insegnamento: Sistemi Distribuiti - 6 cfu LM Ing. Informatica Docente: Prof. Marcello Castellano

Introduzione al corso

Le Reti Informatiche

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

Table of Contents. Definizione di Sistema Distribuito 15/03/2013

Sistemi Distribuiti Introduzione al corso

interoperabilità fra dispositivi forniti da diversi produttori; superare i problemi legati alla limitazione del numero di risorse.

Capitolo 6 Le infrastrutture SoftWare

Cenni sulla virtualizzazione

Configurazione di riferimento di IP Office Server Edition IP Office 8.1

SISTEMI INFORMATIVI AZIENDALI. introduzione ai sistemi informativi 1

Lezione 2 Chiamate di procedura e risposta alle interruzioni

Principles of Concurrent Programming

8. Sistemi Distribuiti e Middleware

Le reti. Le reti del computer

Basi di Dati Parallele

Interazione tra Processi. Sistemi Operativi T AA

Sistemi distribuiti e reti di calcolatori

Progetto di Applicazioni Software

Architettura dei calcolatori e Software di sistema

Protocolli e Architetture. Dr. Greco Polito Silvana

Reti di Calcolatori ed Internet

I DSS e la gestione dei dati e della conoscenza. Prof. Luca Gnan

Sicurezza del File System

MATERIALI PER LA DISCUSSIONE

Architettura degli Elaboratori

Studio di tecniche di accesso ai dati dell esperimento CMS a LHC: il caso dell axigluone

Architettura di Von Neumann

SISTEMI INFORMATIVI E DATABASE

SCD. Correttezza temporale. Correttezza temporale. Premesse 2. Politiche di ordinamento 1. Premesse 1

Transcript:

Definizione Anno accademico 2012/1 Sistemi Concorrenti e Distribuiti Tullio Vardanega, tullio.vardanega@math.unipd.it SCD Un sistema distribuito è un insieme di nodi di calcolo indipendenti capaci di apparire all applicazione come un sistema unitario e coerente La comunicazione di coordinamento tra essi deve restare nascosta all applicazione L interazione tra applicazione e sistema deve essere indipendente dal tempo e dallo spazio in cui essa avviene Laurea Magistrale in Informatica, Università di Padova 1/4 Laurea Magistrale in Informatica, Università di Padova 2/4 Caratteristiche di trasparenza Altre caratteristiche desiderabili 1 Trasparenza di Accesso Collocazione Per nascondere Differenze nella - rappresentazione dei dati (per HW eterogeneo) - modalità di accesso a risorse (per organizzazioni logiche diverse) Il luogo di residenza effettiva delle risorse (distinzione tra nome fisico e nome logico) Che una risorsa possa cambiare collocazione nel tempo Che una risorsa possa cambiare collocazione durante l uso Migrazione Spostamento Replicazione / Transazione Malfunzionamento Guasto ed eventuale ripristino delle risorse Persistenza Esistenza di copie multiple di una risorsa Coordinamento di attività per gestire una configurazione di risorse Grado di persistenza della risorsa logica (residente in memoria primaria oppure in memoria secondaria) Openness Portabilità e interoperabilità Sintassi di invocazione definita da regole note e garantite Servizi sintatticamente specificati in termini di interfacce espresse in linguaggio neutro (Interface Definition Language, IDL) Completezza: la specifica dell interfaccia non nasconde alcun dettaglio essenziale alla sua realizzazione da parte di terzi Neutralità: la specifica dell interfaccia non impone una particolare realizzazione ISO/IEC 10746-[1,4]:1996, Open Distributed Processing Laurea Magistrale in Informatica, Università di Padova /4 Laurea Magistrale in Informatica, Università di Padova 4/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 1

Altre caratteristiche desiderabili 2 Conviene separare 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 consentono la realizzazione di diverse politiche e non dovrebbero cambiare al variare di esse Altre caratteristiche desiderabili Scalability (dimensionabilità) Rispetto alla cardinalità dei componenti del sistema Per aggiunta o rimozione di utenti, nodi, risorse Rispetto all estensione spaziale 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 Laurea Magistrale in Informatica, Università di Padova 5/4 Laurea Magistrale in Informatica, Università di Padova 6/4 Fattori di centralizzazione Prerequisiti di distribuzione 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 Necessitare di visione completa dello stato corrente del sistema Onere di raccolta proibitivo Un algoritmo è distribuito se Non richiede informazione completa sull intero sistema Sa prendere decisioni sulla base di conoscenza locale Non viene pregiudicato da guasti locali Non necessita di un tempo di sistema unico e globale Consente ripartizione dei compiti e replicazione delle risorse e ne garantisce la consistenza necessaria Il paradigma di comunicazione asincrona Nasconde i ritardi di rete e dunque è più naturalmente adatto alla distribuzione Laurea Magistrale in Informatica, Università di Padova 7/4 Laurea Magistrale in Informatica, Università di Padova 8/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 2

Multi-processor Distribuzione HW Multi-computer Uniforme (UMA) multi-processor Spazio di indirizzamento unico e comune Architettura di memoria Assunzione base delle architetture SMP (Symmetric Multi-Processor) Cache coerente Accesso uniforme a tutta la memoria Ma ogni singolo accesso blocca tutte le CPU Non-Uniforme (NUMA) multi-computer Spazio di indirizzamento comune Cache coerente Accesso non uniforme alla memoria comune Costo di accesso ottimizzabile ma con maggiore complessità organizzativa Laurea Magistrale in Informatica, Università di Padova 9/4 Laurea Magistrale in Informatica, Università di Padova 10/4 Sistemi multi-processor 1 Unico spazio di indirizzamento CPU Sistemi multi-processor 2 meno connettori ma più latenza di connessione La comunicazione su bus causa collo di bottiglia La connessione punto a punto (switched) bilancia meglio il carico al costo di maggiore complessità strutturale Connessione completa (crossbar switch) con matrice Comunicazione veloci per alto costo strutturale Combinazione di sottoreti connessione più semplici (p.es., omega network) Basso costo strutturale per collegamenti più complicati n 2 connettori per n elementi {P, M} Crossbar switch Omega network Laurea Magistrale in Informatica, Università di Padova 11/4 Laurea Magistrale in Informatica, Università di Padova 12/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti

Sistemi multi-computer 1 Sistemi multi-computer 2 Omogenei Ogni singolo nodo si occupa di elaborazione e di instradamento 2 n vertici n2 n-1 archi Nessuno spazio di indirizzamento comune 2 2 Comunicazione via router con interconnessione a diffusione (bus) o punto a punto (switch) L interconnessione a bus non scala quella a switch si 4 4 4 4 Interconnessione punto a punto Topologia a griglia (grid) 2 2 n = 4 A ipercubo (hypercube) Cubi n-dimensionali con 2 vertici e 2 archi diretti tra vertici Ciascun vertice è un elaboratore e ciascun arco una connessione Griglia Qui la posizione del nodo determina il suo numero di vicini quindi il routing va specializzato Ipercubo Qui il numero di vicini è invariante e il routing non va specializzato Laurea Magistrale in Informatica, Università di Padova 1/4 Laurea Magistrale in Informatica, Università di Padova 14/4 Sistemi multi-computer Distribuzione SW Eterogenei Sia rispetto alla tipologia degli elaboratori che alla topologia di interconnessione Sono il modello architetturale più generale E quindi il termine di riferimento dei sistemi distribuiti Nota storica I sistemi omogenei erano visti come architetture a parallelismo massiccio per applicazioni specializzate L avvento dei multi-core ne ha cambiato la percezione Laurea Magistrale in Informatica, Università di Padova 15/4 Secondo la struttura del S/O Accoppiamento stretto S/O distribuito Gestione uniforme delle risorse di sistema In analogia con le funzioni di S/O per mono-processor Accoppiamento lasco (NOS) Per offrire a utenti remoti l accesso ad alcune risorse e servizi locali Le funzionalità di gestione della distribuzione possono essere arricchite da un livello SW interposto tra NOS e applicazioni middleware Laurea Magistrale in Informatica, Università di Padova 16/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 4

Sistemi operativi distribuiti 1 Sistemi operativi distribuiti 2 Computer A Computer B Computer C Punti di sincronizzazione nello scambio messaggi Applicazioni distribuite S/O distribuito Memoria comune virtualizzata tramite scambio messaggi Mittente Destinatario (1) Messaggio depositato in buffer OUT mittente (2) Messaggio prelevato da buffer OUT 1 4 mittente e inviato su rete () Messaggio depositato in buffer IN IN destinatario (4) Messaggio prelevato da buffer IN destinatario per ricezione OUT 2 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! Architettura generalmente concepita per sistemi omogenei Rete di interconnessione L attesa del mittente ai punti ( 4) ha senso solo in presenza di una rete di comunicazioni affidabile Il destinatario può bloccarsi su () finché il buffer IN è vuoto Laurea Magistrale in Informatica, Università di Padova 17/4 Laurea Magistrale in Informatica, Università di Padova 18/4 Sistemi operativi distribuiti Sistemi operativi di rete La programmazione di sistemi distribuiti per multicomputer è molto più complessa di quella per sistemi multi-processor Vale invece il contrario per le problematiche di scheduling La comunicazione basata su memoria condivisa e primitive di sincronizzazione è molto più facile di quella basata su scambio messaggi Lo scambio messaggi è potenzialmente scalabile ma complicato dalle problematiche di accodamento, sincronizzazione e affidabilità della rete di interconnessione Non è ovvio scegliere tra suspend lock e spin lock Computer A Computer B Computer C Applicazioni distribuite Architettura idonea per sistemi eterogenei Servizi specializzati (p.es., sessione remota, file system di rete) Rete di interconnessione Laurea Magistrale in Informatica, Università di Padova 19/4 Laurea Magistrale in Informatica, Università di Padova 20/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 5

Sistemi distribuiti: middleware 1 Sistemi distribuiti: middleware 2 Né i S/O distribuiti né i aderiscono alla definizione di sistema distribuito S/O distribuiti hanno caratteristiche di trasparenza ma non coordinano un insieme di nodi indipendenti hanno caratteristiche di openness e scalability ma non forniscono la visione di un sistema unitario e coerente I sistemi distribuiti moderni aggiungono a (o rimpiazzano) lo strato NOS con un livello di astrazione SW chiamato middleware Computer A Computer B Computer C Applicazioni distribuite Servizi middleware Architettura idonea per sistemi distribuiti Realizzazione aperta di servizi di trasparenza e scalabilità, con interfaccia standard Rete di interconnessione Laurea Magistrale in Informatica, Università di Padova 21/4 Laurea Magistrale in Informatica, Università di Padova 22/4 Sistemi distribuiti: middleware Esistono svariati paradigmi di middleware File system distribuito NFS su UNIX Trasparenza limitata a file di tipo tradizionale Chiamate di procedura remota (RPC) Trasparenza estesa alla comunicazione distribuita Oggetti distribuiti Interazioni come tra oggetti rappresentati da interfacce semplici E poi ancora... Sistemi distribuiti: middleware 4 Documenti distribuiti WWW Risorse distribuite paradigma REST stribuiti paradigma SOA Ma tutti i diversi paradigmi hanno alcune problematiche comuni Trasparenza, naming, sicurezza Laurea Magistrale in Informatica, Università di Padova 2/4 Laurea Magistrale in Informatica, Università di Padova 24/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 6

Sistemi distribuiti: middleware 4 Stili architetturali 1 S/O distribuito Sistema distribuito basato su Multi-processor Multi-computer middleware Grado di trasparenza Eccellente Buono Scarso Buono Stesso sistema operativo su ogni nodo Si Si No No Istanze di sistema operativo 1 N N N Paradigma di comunicazione Gestione delle risorse Memoria condivisa Centralizzata per risorse globali Scambio messaggi Distribuita per risorse globali Laurea Magistrale in Informatica, Università di Padova 25/4 NFS Per nodo Svariati Per nodo Scalability Nulla Modesta Buona Dipende dal paradigma Openness Nulla Nulla Buona Buona Espressi in termini di definizione e uso di Componenti Unità modulare coesa dotata di interfacce fornite e richieste ben definite Connettori Mezzo per comunicazione, coordinamento e cooperazione tra componenti Alternative comuni A livelli A oggetti Orientate ai dati Basate su eventi Laurea Magistrale in Informatica, Università di Padova 26/4 Stili architetturali 2 Stili architetturali Subscribe Disaccoppiamento referenziale tra componenti Disaccoppiamento temporale tra componenti Architettura a livelli Architettura a oggetti Architettura basata su eventi Architettura orientata ai dati Tratto da: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. Tratto da: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. Laurea Magistrale in Informatica, Università di Padova 27/4 Laurea Magistrale in Informatica, Università di Padova 28/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 7

Architetture centralizzate Architetture distribuite 1 L interazione tra cliente e servente implica un comportamento 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 affidabile una interconnessione fisica inaffidabile ha costo molto elevato Laurea Magistrale in Informatica, Università di Padova 29/4 Esistono due varianti principali di architetture distribute di tipo clienteservente In relazione all organizzazione del servizio e dei suoi dati Distribuzione verticale Con ripartizione di autorità Distribuzione orizzontale Con ripartizione del carico di lavoro Laurea Magistrale in Informatica, Università di Padova 0/4 Distribuzione verticale Architetture distribuite 1 Componenti diversi dello stesso servizio possono essere assegnati a elaboratori distinti Sia sul lato servente che sul lato cliente (delegazione parziale) Il servizio richiede cooperazione articolata di componenti distribuiti Distribuzione orizzontale Servente e cliente possono essere partizionati ma ogni loro componente può operare da solo Ogni componente sa fornire il servizio richiesto Architetture distribuite 2 Nell architettura a distribuzione verticale il servente visto dal cliente può essere esso stesso cliente di un componente servente cui sia stata demandata parte del servizio Laurea Magistrale in Informatica, Università di Padova 1/4 Laurea Magistrale in Informatica, Università di Padova 2/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 8

Architetture distribuite 4 Middleware moderno Intercettore di richiesta Intercettore di messaggio Un approccio architetturale al middleware offre Semplicità progettuale Scarsa adattabilità Un approccio più flessibile si basa su Separation of concerns Computational reflection Progettazione per componenti e connettori Gli intercettori in figura mostrano il posizionamento logico dei connettori Nell architettura a distribuzione orizzontale la parte più onerosa del servizio può essere completamente replicata su più elaboratori distinti operanti in parallelo Laurea Magistrale in Informatica, Università di Padova /4 Tratto da: Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. Laurea Magistrale in Informatica, Università di Padova 4/4 UniPD - SCD 2012/1 - Sistemi Concorrenti e Distribuiti 9