Sistemi Distribuiti AA 2004/2005 Prof. Roberto Baldoni

Slides:



Advertisements
Presentazioni simili
Architetture dei sistemi distribuiti Prof
Advertisements

Unità D1 Architetture di rete.
Informatica e Telecomunicazioni
ISA Server 2004 Enterprise Edition Preview. ISA Server 2004.
Web Services.
Architetture dei sistemi distribuiti
Organizzazione di una rete Windows 2003
Cluster openMosix Linux Day ’04 Caserta Ing. Diego Bovenzi.
4-1 Mobilità in Internet Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights.
La rete in dettaglio: rete esterna (edge): applicazioni e host
Organizzazione di una rete Windows Server Client Il ruolo dei computer I computer in una rete possono svolgere le funzioni di client e server dei.
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Software: Obiettivi Programmare direttamente la macchina hardware è molto difficile: lutente dovrebbe conoscere lorganizzazione fisica del computer.
Distributed Object Computing
Progetto realizzato da: Francesco Seccia Matr Marco Spinelli Matr
ICT (Information and Communication Technology):
Architettura Three Tier
Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Struttura dei sistemi operativi (panoramica)
Sistemi Operativi Distribuiti: indice
CAPITOLO 2 INTRODUZIONE AL LINGUAGGIO JAVA E ALL'AMBIENTE HOTJAVA.
FACOLTÁ DI INGEGNERIA CORSO DI LAUREA INGEGNERIA INFORMATICA Progetto e Sviluppo di un Algoritmo di Scheduling per il Sistema RTAI Candidato: Luca Marzario.
Introduzione Cosa è un Sistema Operativo ?
Reti di Calcolatori IL LIVELLO RETE.
Reti di Calcolatori Reti di Calcolatori2 Il modello Client/Server I Sistemi di Rete Dal punto di vista del programmatore.
Architettura Java/J2EE
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Benvenuti a Un incontro informativo di grande valore ed alto contenuto sulla Virtualizzazione e sistemi ad alta disponibiltà per le PMI.
Cosa sono i sistemi distribuiti Prof. Andrea Omicini Corso di Sistemi Distribuiti A.A. 2001/2002 Parte I.
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Firenze – Festival della Creatività 2009 Comm.it s.r.l. – Ing. Davide Rogai, Ph.D. – Software >> fast on demand software.
Servizi Grid ed agenti mobili : un ambiente di sviluppo e delivering
Architettura di storage ad alta affidabilita e bilanciamento di carico per volumi centrali e di esperimento A.Brunengo, M.Corosu INFN Sezione di Genova.
Risultati complessivi Diego Ragazzi
Simulatore per un servizio di consistenza su architettura Grid
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Corso di Web Services A A Domenico Rosaci 1. Introduzione
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
Reti di Calcolatori ed Internet Fabio Massimo Zanzotto.
L’architettura a strati
Distributed System ( )7 TCP/IP four-layer model.
Dischi in RAID  Redundant Array of Independent Disk Configurazione che permette di combinare più dischi secondo obiettivi di performance e ridondanza.
Protocolli e architetture per WIS. Web Information Systems (WIS) Un Web Information System (WIS) usa le tecnologie Web per permettere la fruizione di.
1 Progettazione Architetturale. 2 Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
I processi.
Progetto Message Queues Service Olivelli Enrico Corso di Reti di Calcolatori LS A.A
Tipi e topologie di LAN Lezione 2.
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Middleware Laboratory Sistemi Distribuiti Corso di Laurea Specialistica in Telecomunicazioni AA 2006/2007 Slides del corso Sara Tucci Piergiovanni.
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Corso di Ingegneria del Web A A Domenico Rosaci 1. Sistemi Distribuiti Introduzione.
Proxy based infrastructure for LBS availability Reti di Calcolatori LS Serena Agresti.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Layered Grid Architecture. Application Fabric “Controlling elements locally”: Access to, & control of, resources Connectivity “Talking to Grid elements”:
GESTIONE RETI TCP/IP l troubleshooting è necessario per risolvere molti problemi che si possono verificare all'interno di una rete, una delle aspirazioni.
Architetture software
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Laurea Magistrale in Informatica Architetture basi di dati A.A Docente: Prof. Carlo Batini Proprieta’ e caratteristiche strutturali dei sistemi.
La gestione della rete e dei server. Lista delle attività  Organizzare la rete  Configurare i servizi di base  Creare gli utenti e i gruppi  Condividere.
Transcript della presentazione:

Sistemi Distribuiti AA 2004/2005 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani

Una definizione Un sistema distribuito è costituito da un insieme di computers spazialmente separati dove sono dislocati componenti hardware e software che comunicano e coordinano tra loro le loro azioni attraverso scambio di messaggi

Obiettivo primario: Condivisione dati/risorse Condivisione dei dati come in database distribuiti. In questo modo più organizzazioni possono condividere i propri dati. Problemi: esempio sincronizzazione e coordinamento

Conseguenze nei sistemi distribuiti le precedenti tecniche devono essere implementate tenendo presente: Concorrenza spaziale oltre che temporale No clock globale Guasti indipendenti

Esempi di sistemi distribuito intranet internet Ma anche..... Extranets Overlay Networks Grid Ubiquitous Computing sistema mobile

Caratteristiche..e Sfide Eterogeneità Openess Sicurezza Scalabilità Gestione dei guasti Concorrenza Trasparenza

Eterogeneità Networks Hardware Operating Systems Programming Languages Implementations from different Developers Soluzioni Middleware Mobile code and Virtual Machine

Openess Caratteristica di un sistema di essere esteso e re-implementato Condizione necessaria documentazione e specifica delle interfacce software chiave dei componenti di un sistema Interface Definition Language (descrive la sintassi di un servizio/componente, funzioni disponibili, parametri di input/output eccezioni etc) Problema: descrizione semantica di un servizio. Descrizioni normalmente date in linguaggio naturale. Eccezioni: web services La Specifica di un componente/servizio si dice propria se è: Completa. Una specifica è completa se ogni cosa necessaria ad una implementazione è stata specificata. Se una specifica non è completa l’implementatore deve aggiungere dettagli di specifica che a quel punto dipendono dall’implementazione. Neutrale. Una specifica e’ neutrale se non offre alcun dettaglio su una possibile implementazione

Openess (ii) Interoperabilità. La capacità di due implementazioni di sistemi diversi a cooperare usando servizi/componenti specificati da uno standard comune Portabilità. La capacità di un servizio/componente implementato su un sistema distribuito A, di essere eseguito senza modifiche su un sistema B. Flessibilità. La capacità di un sistema di configurare/orchestrare componenti da diversi sviluppatori Estendibilità. La capacità di un sistema distribuito di aggiungere componenti servizi e di essere integrati nel sistema distribuito già in esercizio.

Openess (iii) Altre qualità più recenti: Evolvability. La capacità di un sistema distribuito di evolvere nel tempo per esempio fare convivere differenti versioni di uno stesso servizio. Self-* (self organization, self management, self healing etc). La capacità di un sistema distribuito di autoconfigurarsi, auto curarsi etc. senza l’intervento umano. Il numero a volte elevatissimo (a volte ordine di decine di migliaia) di sviluppatori di software indipendenti rende lo sviluppo di una piattaforma distribuita un lavoro molto complesso e difficile da gestire Esempi: RFC per internet JBoss per le piattaforme J2EE

Sicurezza Confidenzialità (protezione contro l’intercettazione di dati da parte di individui non autorizzati) Integrity (protezione contro l’alterazione di dati) Availability (protezione contro l’interferenza nell’accesso ad una risorsa)

Computers connected to the internet Scalabilità Un sistema è scalabile se rimane operativo con adeguate prestazioni anche se il numero di risorse e di utenti aumenta sensibilmente La centralizzazione è contro la scalabilità: Servizi (singolo servizio per tutti gli utenti) Dati (singola tabella per tutti gli utenti) Algoritmi (fare routing basato su informazioni complete) Computers connected to the internet Date Computers Web servers 1979, Dec. 188 1989, July 130,000 1999, July 56,218,000 5,560,866

Scalabilità (ii) Necessario l’uso di: Scalabilità Geografica Replicazione Servizi Problemi di coordinamento Replicazione Dati Problemi di consistenza Algoritmi Distribuiti Nessuna macchina ha lo stato del sistema completo Le macchine basano le loro decisioni solo sui dati in loro possesso Il guasto di una macchina non danneggia l’algoritmo Non c’e’ sincronizzazione tra le macchine Scalabilità Geografica Implementazioni di servizi/componenti possono essere influenzati da dove saranno fisicamente localizzati i componenti del sistema distribuito. Comunicazioni sincrone vs comunicazioni asincrone (e.g. eventi)

Scalabilità (iii) Il progetto di un sistema scalabile presenta quattro principali problemi: Estendibilità del sistema Aggiungere server al volo Controllare le perdite di prestazioni Usare algoritmi che non richiedono di dialogare con tutto il set di user di un sistema distribuito Usare algoritmi che non richiedono di accedere all’intero set di dati Prevenire che finiscano le risorse software del sistema Indirizzi IP Evitare i colli di bottiglia nel sistema Centralizzato vs distributed DNS Da notare che per motivi di sicurezza l’uso di server centralizzati a volte può essere inevitabile.

Gestione dei Guasti Scoperta dei guasti Mascheramento dei guasti Esempio: Checksum per scoprire pacchetti corrotti Mascheramento dei guasti Esempio: Ritrasmissione sui canali Tolleranza ai guasti Esempio: intrusion tolerant system Recupero da guasti Esempio: completamento di long running computation Ridondanza Esempio: DNS

Concorrenza Accesso multiplo a risorse condivise Coordinamento Se clienti accedono metodi di read e write di una variabile condivisa Che valori ritornano le read? Coordinamento Sincronizzazione

Trasparenza Accesso: permette di accedere a risorse locali e remote con le stesse modalità Locazione: permettere di accedere alle risorse senza conoscerne la locazione Concorrenza: permette ad un insieme di processi di operare concorrentemente su risorse condivise senza interferire tra loro Guasti: permette il mascheramento dei guasti in modo che gli utenti possano completare le operazioni richieste anche se occorrono guasti hw e/o sw Mobilità: permette di spostare risorse senza influenzare le operazioni utente Prestazioni: permette di riconfigurare il sistema al variare del carico Scalabilità: permette al sistema e alle applicazioni di espandersi in modo scalabile senza modificare la struttura del sistema e degli algoritmi applicativi Le prestazioni di una soluzione basata su sistema distribuito non sempre migliorano rispetto ad una basata su sistema centralizzato. Il middleware, necessario per fornire servizi che sfruttano le caratteristiche di un sistema distribuito, in generale può diminuire le prestazioni

Stratificazione hw e sw

Modelli di interazione client/server peer-to-peer

Modelli di interazione La scelta del modello di interazione impatta su scalabilità, disponibilità, costo, sicurezza, prestazioni Es. client/server con servizio replicato: Affidabilità, Scalabilità Prestazioni: la replicazione impone un lavoro extra per: mantenere la consistenza delle repliche, gestione dei guasti

Web proxy server

Web applets

Thin clients and compute servers Network computer or PC network Application Thin Process Client

Spontaneous networking in a hotel Internet gateway PDA service Music Discovery Alarm Camera Guests devices Laptop TV/PC Hotel wireless network

Real-time ordering of events

Processes and channels

Middleware: problemi da affrontare Eterogeneità: OS, velocità dei clock, rappresentazione dei dati, memoria, architettura hw Asincronia locale: anche se i clock fossero gli stessi, il carico (diverso per ogni nodo), le diverse configurazioni di OS, e gli interrupt creano schedulazioni diverse dei processi in esecuzione (nondeterminismo) Mancanza di conoscenza globale: la conoscenza si propaga attraverso messaggi i cui tempi di propagazione sono MOLTO più lenti degli eventi interni. Asincronia di rete: i tempi di propagazione dei messaggi potrebbero essere impredicibili. Guasti di nodi e/o parti di rete Sicurezza: nei sistemi centralizzati non si espone informazione al mondo esterno attraverso comunicazioni. Mancanza di un ordinamento globale degli eventi CIO’ LIMITA L’INSIEME dei problemi computazionalmente risolvibili (algoritmi deterministici) su alcuni SISTEMI DISTRIBUITI