File System Distribuiti



Похожие документы
Introduzione. File System Distribuiti. Nominazione e Trasparenza. Struttura dei DFS. Strutture di Nominazione

SISTEMI OPERATIVI DISTRIBUITI

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Cos è un file system? File system Distribuiti. Cos è un sistema distribuito? Operazioni fondamentali. Struttura di un DFS.

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. Implementazione del File System. Struttura del File System. Implementazione

Implementazione del File System

Capitolo Silberschatz

Sistemi Operativi. Interfaccia del File System FILE SYSTEM : INTERFACCIA. Concetto di File. Metodi di Accesso. Struttura delle Directory

12. Implementazione di un File System Struttura a livelli Allocazione contigua

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Sistemi Operativi GESTIONE DELLA MEMORIA SECONDARIA. D. Talia - UNICAL. Sistemi Operativi 11.1

Sistemi Operativi. Memoria Secondaria GESTIONE DELLA MEMORIA SECONDARIA. Struttura del disco. Scheduling del disco. Gestione del disco

Il Software. Il software del PC. Il BIOS

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Laboratorio di Informatica

STRUTTURE DEI SISTEMI DI CALCOLO

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Architettura di un sistema di calcolo

Approccio stratificato

File system II. Sistemi Operativi Lez. 20

Il File System. Il file system

Realizzazione del file system

Il file system. meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate. in memoria di massa

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Architettura di un calcolatore

FPf per Windows 3.1. Guida all uso

La memoria centrale (RAM)

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

File system. Realizzazione del file system. Struttura del file system. Struttura del file system. Realizzazione del file system

Sistemi Operativi GESTIONE DELLA MEMORIA CENTRALE. D. Talia - UNICAL. Sistemi Operativi 6.1

Sistemi Operativi STRUTTURA DEI SISTEMI OPERATIVI 3.1. Sistemi Operativi. D. Talia - UNICAL

Linux nel calcolo distribuito

Input/Output. Moduli di Input/ Output. gestiscono quantità di dati differenti a velocità diverse in formati diversi. n Grande varietà di periferiche

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

HBase Data Model. in più : le colonne sono raccolte in gruppi di colonne detti Column Family; Cosa cambia dunque?

Le Infrastrutture Software ed il Sistema Operativo

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Access. P a r t e p r i m a

Base di dati e sistemi informativi

FTP. Appunti a cura del prof. ing. Mario Catalano

La Gestione delle risorse Renato Agati

Transmission Control Protocol

Sistemi Operativi. Organizzazione logica ed implementazione di un File System

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

Introduzione alle applicazioni di rete

Strutturazione logica dei dati: i file

Il File System. È la componente del S.O. che si occupa della gestione della memoria di massa e dell organizzazione logica dei dati

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.

Database. Si ringrazia Marco Bertini per le slides

1.4b: Hardware. (Memoria Centrale)

ARP (Address Resolution Protocol)

Organizzazione della memoria

Sistemi avanzati di gestione dei Sistemi Informativi

Il Sistema Operativo: il File System

Creare una Rete Locale Lezione n. 1

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

PIANO DI TUTELA DELLE ACQUE DELLA SICILIA (di cui all'art. 121 del Decreto Legislativo 3 aprile 2006, n 152)

3. Introduzione all'internetworking

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Corso di Sistemi Operativi Ingegneria Elettronica e Informatica prof. Rocco Aversa. Raccolta prove scritte. Prova scritta

Active Directory. Installatore LAN. Progetto per le classi V del corso di Informatica

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

In un modello a strati il SO si pone come un guscio (shell) tra la macchina reale (HW) e le applicazioni 1 :

Funzioni in C. Violetta Lonati

Lezione 1 Introduzione

Il Sistema Operativo. Introduzione di programmi di utilità. Elementi di Informatica Docente: Giorgio Fumera

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Architettura dei computer

Appunti di Sistemi Distribuiti

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

SISTEMI E RETI. Crittografia. Sistemi distribuiti e configurazione architetturale delle applicazioni WEB.

VMware. Gestione dello shutdown con UPS MetaSystem

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Esame di INFORMATICA

Il Sistema Operativo

Calcolatori Elettronici. La memoria gerarchica La memoria virtuale

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Progettaz. e sviluppo Data Base

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

Транскрипт:

File System Distribuiti Introduzione Nominazione e Trasparenza Accesso ai File Remoti Servizio Con/Senza Informazione di Stato Replica dei File Un esempio di sistema 20.1

Introduzione File System Distribuito (DFS): un implementazione distribuita di un file system, dove più utenti condividono file e risorse di memorizzazione. Un DFS gestisce un insieme di strumenti di memorizzazione distribuiti. Lo spazio per la memorizzazione gestito dal DSF è composto da spazi più piccoli, distinti e remoti. Di solito vi è una corrispondenza tra gli spazi di memorizzazione e gli insiemi di file. 20.2

Struttura dei DFS Definizioni Servizio entità software in esecuzione su uno o più calcolatori che fornisce una particolare funzionalità a client sconosciuti a priori. Server servizio software in esecuzione su una singola macchina. Client processo che può richiedere un servizio mediante un insieme di operazioni, dette interfaccia client. Un DFS è un file system in cui client, server e dispositivi di memoria sono sparsi in un sistema distribuito. Un interfaccia client per un servizio relativo ad un file è di un insieme di operazioni primitive su file (creazione, cancellazione, lettura, scrittura, ). Un interfaccia client di un DFS dovrebbe rendere non distinguibili file locali e file remoti. 20.3

Nominazione e Trasparenza Nominazione corrispondenza tra oggetti logici e fisici. Mapping multilivello astrazione di un file che nasconde i dettagli relativi a come e dove il file è memorizzato. Un DFS trasparente nasconde la collocazione fisica nel sistema distribuito dove il file è memorizzato. Per un file replicato in più siti, il mapping ritorna un insieme di locazioni delle copie del file; sia l esistenza di copie multiple, sia la loro collocazione è nascosta. 20.4

Strutture di Nominazione Trasparenza della locazione: il nome del file non rivela la sua locazione fisica. Il nome del file determina uno specifico, sebbene nascosto, insieme di blocchi su dischi fisici. Utile strumento per condividere dati. Scomodo quando i nomi logici sono staticamente vincolati ai dispositivi fisici. Indipendenza della locazione: il nome del file non dipende dalla sua locazione fisica. Migliore astrazione del file. Promuove la condivisione dello spazio fisico di memorizzazione. Separa le gerarchie di nominazione da quelle degli strumenti di memorizzazione. Gli attuali DFS forniscono una trasparenza di locazione per i nomi a livello utente e non è possibile cambiare automaticamente la locazione dei file. 20.5

Schemi di Nominazione Tre Approcci Principali I nomi dei file sono scelti in funzione di una combinazione del nome del host su cui risiedono e nome locale del file; garanzia di nome unico in tutto il sistema. Le directory remote vengono montate su quelle locali, fornendo l apparenza di un albero coerente di directory (NFS). Con la funzione di automontaggio, i montaggi si eseguono su richiesta Integrazione totale dei componenti del file system (AFS). Una singola struttura dei nomi trasversale rispetto a tutti i file nel sistema. Se un server non è disponibile, un qualche insieme arbitrario di directory su macchine differenti diventa non disponibile. 20.6

Accesso a File Remoti Quando un utente richiede un file remoto, il server su cui si trova è identificato dallo schema di nominazione e i dati sono trasferiti, ad esempio, mediante chiamata a procedura remota. Per migliorare le prestazioni è necessario ridurre il traffico di rete generato da questi trasferimenti. Viene utilizzata una tecnica di caching locale di blocchi di disco con accesso recente, così che accessi ripetuti alla stessa informazione possano essere gestiti localmente. Se i dati richiesti non sono in cache, una copia è trasferita dal server all utente. Gli accessi avvengono su una copia in cache. I file sono identificati mediante una copia master che risiede sul server, e copie del file distribuite su cache differenti. Problema del Cache-consistency mantenere consistenti le copie con quella dal file master. 20.7

Locazione della Cache Disco vs. Memoria Principale Vantaggi delle cache su disco: Più affidabile. I dati contenuti nella cache su disco non vengono persi durante operazioni di ripristino. Vantaggi delle cache in memoria centrale: Implementabile su computer senza disco. Accesso ai dati più veloce. Aumento delle prestazioni per grandi memorie. Cache su server (per velocizzare l I/O su disco) in memoria centrale, qualunque sia la collocazione di quelle utente; permette di utilizzare un singolo meccanismo di caching per server ed utenti. 20.8

Politica di Aggiornamento della Cache Scrittura diretta: scrittura diretta dei dati sul disco non appena vengono modificati in una cache; affidabile, ma con scarse prestazioni. Scrittura ritardata: le modifiche sono scritte nella cache e poi sul server: accessi in scrittura completati rapidamente; i dati possono essere soprascritti ancor prima di essere riscritti. Poca affidabilità, i dati non scritti sono persi tutte le volte una macchina utente subisce un guasto. Variante: esaminare la cache ad intervalli regolari e scrivere i blocchi che sono stati modificati dall ultimo esame. Variante: scrittura-su-chiusura, riscrivere i dati sul server quando il file viene chiuso. Vantaggiosa per file che sono aperti per lunghi periodi e modificati spesso. 20.9

Coerenza La copia dei dati nella cache locale è coerente con la copia master? Approccio iniziato dal client Il client inizia un controllo di validità. Il server controlla se i dati locali sono coerenti con la copia master. La frequenza del controllo determina la semantica della consistenza (es. ad ogni accesso, solo in apertura, ad intervalli regolari). Approccio iniziato dal server Il server registra, per ciascun client, le parti del file che sottopone a caching. Quando il server individua una potenziale incoerenza (accessi in modalità conflittuale), deve reagire: i client scartano la loro copia o non appena terminata la sessione (AFS), o immediatamente. 20.10

Confronto tra Caching e Servizio Remoto Nel caching, un numero consistente di accessi remoti può essere gestito efficientemente dalla cache locale; la maggior parte degli accessi remoti viene servita tanto velocemente quanto gli accessi locali. I server vengono contattati solo occasionalmente nel caching (invece che ad ogni accesso). Riduce il carico del server e il traffico di rete. Aumenta il potenziale di scalabilità. Il metodo di servizio remoto gestisce ogni accesso remoto attraverso la rete; penalità in termini di traffico di rete, carico del server e prestazioni. L overhead totale di rete legato alla trasmissione di grandi quantità di dati (caching) è inferiore a quello di una serie di risposte (servizio remoto). 20.11

Confronto (Cont.) Se le scritture non sono frequenti, il caching è superiore; per scritture frequenti, considerevole overhead per superare il problema della coerenza. Per ottenere benefici dal caching, l esecuzione deve avvenire su macchine con dischi locali o grandi memorie centrali. L accesso remoto a macchine senza dischi, con ridotta capacità di memoria, dovrebbe avvenire tramite il metodo di servizio remoto. Nel caching, l interfaccia tra le macchine è differente dall interfaccia utente. Nel servizio remoto, l interfaccia tra le macchine rispecchia l interfaccia locale tra utente e file system. 20.12

Servizio con Informazioni di Stato Meccanismo Il client apre un file. Il server preleva dal suo disco informazioni sul file, le registra nella propria memoria e fornisce al client un identificativo di connessione unico. L identificativo è utilizzato per tutti gli accessi successivi fino alla fine della sessione. Il server reclama lo spazio di memoria principale utilizzato dai client che non sono più attivi. Maggiori performance Ridotti accessi al disco. Un server con informazioni di stato sa se un file è stato aperto per un accesso sequenziale e può quindi leggere in anticipo i blocchi successivi. 20.13

Servizio senza Informazioni di Stato Evita l informazione di stato rendendo ciascuna richiesta autosufficiente. Le informazioni fornite dal client specificano completamente le operazioni da effettuare Ciascuna richiesta identifica il file e la posizione nel file, per accessi in lettura e scrittura. Non è necessario stabilire e chiudere una connessione per mezzo delle operazioni di apertura e chiusura. 20.14

Distinzioni tra Servizi Con/Senza Informazioni In caso di guasto, un server con informazioni di stato perde tutto il suo stato, che è volatile. Recupero effettuato mediante un protocollo di ripristino basato su un dialogo tra client, oppure mediante terminazione in abort delle operazioni in corso. Il server deve essere informato dei guasti ai client per reclamare lo spazio e registrare lo stato dei processi client guasti (rilevamento ed eliminazione degli orfani) Nei server senza informazioni di stato, gli effetti di un guasto sul server passano pressoché inosservati. Un server ripristinato può rispondere alle richieste del client senza difficoltà. 20.15

Distinzioni (Cont.) Penalità nell uso del servizio senza stato robusto: Messaggi di richiesta più lunghi Elaborazione delle richieste più lenta Ulteriori vincoli al progetto del DFS Alcuni ambienti richiedono servizi con informazioni di stato. Un server che utilizzi una validazione della cache non può fornire un servizio senza informazione di stato, in quanto conserva un record di quali file sono in cache in quali client. UNIX usa i descrittori dei file e gli offset (informazione di stato); i server conservano tabelle con le corrispondenze tra descrittori ed inode, e memorizzano l offset corrente del file. 20.16

Replicazione dei File Repliche dello stesso file si trovano su macchine i cui guasti sono indipendenti. Migliora la disponibilità e può ridurre i tempi di servizio. Lo schema di nominazione fa corrispondere un nome replicato ad una particolare replica. L esistenza di repliche deve essere invisibile ai livelli superiori. Le repliche devo essere differenziate da nomi di livello inferiore differenti. Aggiornamenti: le repliche di un file indicano la stessa entità logica; l aggiornamento di una deve riflettersi su tutte le altre. Replicazione su richiesta: la lettura di una replica non locale causa un suo caching locale, generando quindi una nuova replica non primaria. 20.17

Esempi di Sistemi: ANDREW (AFS) Ambiente di calcolo distribuito progettato e sviluppato a partire dal 1983 presso la Carnegie-Mellon University. Il suo nome è in onore di Andrew Carnegie e Andrew Mellon, fondatori della CMU; viene comunemente chiamato AFS. Scopo è di fornire a studenti e docenti della CMU un ambiente di tipo UNIX con un file system condiviso. AFS è scalabile: il sistema è stato progettato per comprendere più di 5000 workstation. AFS distingue tra client (workstation) e server dedicati. I server e i client utilizzano lo UNIX BSD e sono collegati mediante LAN. 20.18

AFS (Cont.) Ciascun utente ha una workstation privata, su cui è installata una versione modificata di UNIX; nel kernel vi è una porzione aggiunta di codice, chiamata Venus. I file server, detti Vice, girano in spazio utente. figura 8.37 a 20.19

AFS: L Architettura I client sono presentati con uno spazio dei nomi partizionato: uno spazio dei nomi locali ed uno dei nomi condivisi. Su ogni client, lo spazio dei nomi visibile ai programmi utente appare come un albero UNIX tradizionale, con l aggiunta delle directory /cmu, e /cache. La directory /cache contiene i file remoti posti nella cache, la directory /cmu contiene i nomi delle workstation condivise, raggruppati in cellule, sotto cui si trovano i rispettivi file system. I file system remoti sono montati in /cmu; le altre directory e file sono strettamente locali e non condivisi. 20.20

AFS: L Architettura I server Vice presentano lo spazio dei nomi condivisi ai client come una gerarchia di file omogenea e indipendente dalla locazione. Lo spazio dei nomi locali è la radice del file system della workstation da cui discende lo spazio dei nomi condivisi. Le workstation utilizzano il protocollo Virtue per comunicare con i Vice e devono possedere dischi locali per memorizzare lo spazio dei nomi locali. L insieme dei server è responsabile della memorizzazione e gestione dello spazio dei nomi condivisi. 20.21

AFS: La Semantica Client e server sono strutturati in cluster interconnessi da una LAN; un cluster consiste di una collezione di workstation e un cluster server è connesso alla WAN tramite un router. I client utilizzano soprattutto i server del proprio cluster, rendendo meno frequente il riferimento a file intercluster. Quando viene aperto un file, Venus intercetta la open e scarica il file in /cache, in modo che tutte le successive chiamate a read e write operino sulla copia cache. La semantica offerta da AFS è simile a quella di sessione: quando un file è aperto è trasferito nella cache; alla chiusura il file viene memorizzato sul server. 20.22

AFS: Il Caching Il meccanismo chiave scelto per le operazioni su file remoti è quindi il caching completo dei file: l apertura di un file causa il suo caching completo sul disco locale. Il caching è effettuato in blocchi di 64K, il che riduce il numero di letture e scritture sul server. Per evitare che altri processi utilizzino file vecchi, quando un client Venus scarica in cache un file, comunica a Vice se deve prestare attenzione alle successive open. Nel caso un altro processo apre il file, Vice chiede a Venus di invalidare la propria entry nella cache e di restituire la copia se è modificata. 20.23

AFS: Altre Caratteristiche Mobilità dei client I client possono accedere a qualsiasi file si trovi nello spazio dei nomi condivisi Sicurezza Sui Vice non vengono eseguiti programmi client; le funzioni di convalida e trasmissione sono fornite da un pacchetto basato sul modello RPC. Protezione Sono fornite liste d accesso per la protezione delle directory. Eterogeneità La specifica dell interfaccia permette l integrazione di architetture e sistemi operativi. 20.24

AFS: Spazio dei Nomi Condiviso I volumi di Andrew sono unità componenti associate con i file su un singolo client. Un fid identifica un file o una directory del Vice. Un fid è lungo 96 bit ed è costituito da tre elementi della stessa lunghezza: Numero di volume Numero di vnode: indice in un array contenente gli inode dei file in un singolo volume. Un indicizzatore: permette il riuso dei valori di vnode, mantenendo le strutture compatte. I fid sono trasparenti alla locazione, quindi gli spostamenti di un file da server a server non invalidano il contenuto della directory che si trova nella cache. Le informazioni sulla locazione sono mantenute in termini di volume-locazione e l informazione replicata su ciascun server. 20.25

AFS: Operazioni su File AFS effettua il caching degli interi file dal server. Un client interagisce con i Vice solo all atto dell apertura e della chiusura dei file. Venus effettua il caching dei file dai Vice quando sono aperti e memorizza le copie modificate dei file quando vengono chiusi. Lettura e scrittura dei byte del file sono effettuate dal kernel senza intervento di Venus sulla copia cache. Venus effettua il caching del contenuto delle directory e dei link simbolici, per la traduzione percorso-nome. Eccezioni alla politica di caching sono le modifiche alle directory che sono fatte direttamente sul server responsabile per quella directory. 20.26

AFS: Implementazione I processi client si interfacciano al kernel di UNIX mediante le chiamate di sistema standard. Venus esegue la traduzione percorso-nome componente per componente. Il file system di UNIX viene usato come un sistema di memorizzazione a basso livello sia dai server, sia dai client. Sia i processi di Venus, sia quelli del server accedono al file system UNIX attraverso gli inode per evitare le costose routine di traduzione percorso-inode. 20.27

AFS: Implementazione (Cont.) Venus gestisce due cache separate: Una per lo stato Una per i dati Algoritmo LRU utilizzato per mantenere limitata la grandezza di entrambe. La cache dello stato viene mantenuta nella memoria virtuale, per permettere un rapido servizio delle operazioni di stat (stato del file). La cache dei dati è residente sui dischi locali, ma il buffering dell I/O di UNIX effettua un caching dei blocchi del disco in memoria in maniera trasparente per Venus. 20.28

AFS NFS Link utili Una guida in italiano: http://www.cnuce.cnr.it/documentazione/afs/afs.html http://www.apogeonline.com/openpress/libri/618/ Altri file system distribuiti http://www.coda.cs.cmu.edu/ http://www.microsoft.com/windows2000/techinfo/howitworks/ fileandprint/dfsnew.asp http://www.inter-mezzo.org/ 20.29