SlideShare uma empresa Scribd logo
1 de 51
Baixar para ler offline
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
The Design and Implementation of a
Log-Structured File System
Gioele Ciaparrone, Luca Vitale
Sistemi Operativi Avanzati A.A. 2015/2016
Corso di Laurea Magistrale in Informatica
Prof. Giuseppe Cattaneo
29 Aprile 2016
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 1 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Overview
1 Introduzione
Autori
Contesto storico
Definizione del problema
2 Log-structured file system
Introduzione
Gestione dello spazio libero
Crash recovery
3 Analisi delle prestazioni
Sistema utilizzato per i benchmark
Risultati
4 Conclusioni
5 Riferimenti
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 2 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Autori
Mendel Rosenblum
1992: Ph.D. in CS all’University of
California, Berkeley
1998: Cofondatore di VMware
Attualmente professore a Stanford nei
dipartimenti di Computer Science ed
Electrical Engineering
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 3 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Autori
John Ousterhout
1980: Ph.D. in CS alla Carnagie Mellon
University
1994-1998: sviluppatore del linguaggio
Tcl alla Sun Mycrosystems
Attualmente professore di CS alla
Stanford University e chairman di
Electric Cloud Inc.
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 4 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Contesto storico
Breve storia dei file system
1968 – George 3 [6]
1980 – FAT12 [4]
1984 – FAT16 [4], Berkeley Fast File System [9]
1992 – Sprite Log-structured File System (LFS) [10]
1993 – NTFS [8], ext2 [1]
1996 – FAT32 [4]
2001 – ext3 [2]
2006 – ext4 [3]
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 5 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Definizione del problema
Cos’è un file system
File system
Un file system è l’insieme delle strutture dati necessarie per la
memorizzazione, l’organizzazione gerarchica, la
manipolazione, la navigazione, l’accesso e la lettura dei dati.
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 6 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Definizione del problema
Problema
Miglioramento velocità CPU vs. latenza accesso al disco
Le applicazioni tenderanno ad essere più I/O bound
Fondamentale ottimizzare l’utilizzo del disco
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 7 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Definizione del problema
Design di un file system
Il design di un file system è guidato da due forze fondamentali:
Tecnologia
Workload
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 8 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Definizione del problema
Tecnologia
Tre componenti tecnologiche determinano l’efficienza di un file
system:
Velocità della CPU
Capacità e latenza della RAM
Bandwidth e tempo di accesso al disco
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 9 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Definizione del problema
Workload
Due tipologie di workload:
Ufficio: accessi casuali a tanti piccoli file
Supercomputing: accesso sequenziale a grandi file
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 10 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Definizione del problema
Problemi dei file system tradizionali
Dati sparsi sul disco
In UNIX FFS 5 seek per creare un file
Utilizzato solo 5% della bandwidth
Operazione di write sincrona
Scrittura di tanti piccoli file rallentata
Soluzione: Sprite LFS
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 11 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Introduzione
Sprite LFS
Log-structured file system
È un file system in cui dati e metadati vengono scritti
sequenzialmente in un buffer circolare, chiamato log.
Ogni sequenza di cambiamenti viene bufferizzata in cache
e poi scritta sequenzialmente sul log (disco)
Miglioramento delle performance in scrittura
Si evitano sincronizzazioni
Una sola seek per ogni svuotamento della cache
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 12 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Introduzione
Lettura di un file I
La lettura di un file non richiede accesso sequenziale al log
Per individuare i blocchi di un file si usa l’inode
inode
È una struttura dati sul file system che archivia e descrive
attributi base di file e directory, tra cui anche la posizione dei
blocchi di dati che li compongono.
L’inode utilizzato da Sprite LFS ha la stessa struttura di
quello di Unix FFS
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 13 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Introduzione
Lettura di un file II
Ad ogni file (o directory) è associato un inode
A differenza di Unix, gli inode non sono in posizioni fisse
Si usa quindi un’inode map, che mantiene gli indirizzi fisici
degli inode per ogni file
I blocchi dell’inode map sono scritti nel log e il loro indirizzo
è salvato in una regione fissa del disco
L’inode map viene mantenuta in cache, evitando frequenti
accessi al disco
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 14 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Introduzione
Esempio: creazione di due file
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 15 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Problema dello spazio libero
Il problema principale di un log-structured file system è
quello di mantenere grandi sezioni contigue di spazio
libero su disco
Esistono due opzioni per gestire la frammentazione dello
spazio libero:
Threading
Copying
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 16 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Threading e copying I
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 17 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Threading e copying II
Lo svantaggio del threading è che serve più di una seek
per scrivere dati nel log
Non è più veloce di un file system tradizionale
Lo svantaggio del copying è che la copiatura dei blocchi di
dati può richiedere molto tempo
Sprite LFS sceglie quindi una combinazione di threading e
copying
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 18 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Threading e copying III
Il disco viene diviso in grandi sezioni di grandezza fissa
chiamate segmenti
I dati vengono scritti sequenzialmente dall’inizio alla fine di
ogni segmento
Prima di poter riscrivere dati in un segmento, i dati live
devono essere ricopiati fuori da esso
Il threading viene effettuato a livello dei segmenti
Segmenti abbastanza grandi da sfruttare la larghezza di
banda del disco
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 19 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Meccanismo di pulitura dei segmenti I
Pulitura dei segmenti
È il processo di copia di blocchi di dati live all’esterno di un
segmento.
L’obiettivo è quello di aumentare il numero di segmenti
vuoti
Sprite LFS non utilizza bitmap o liste per tener traccia dei
blocchi liberi
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 20 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Meccanismo di pulitura dei segmenti II
Processo composto da tre fasi:
Lettura di un certo numero di segmenti
Identificazione dei blocchi di dati live
Riscrittura dei dati live in un numero minore di segmenti
I segmenti letti vengono quindi marcati come puliti e
possono essere utilizzati per la scrittura di nuovi dati
Per identificare i dati live in ogni segmento viene scritto un
segment summary block, che indica per ogni blocco del
segmento l’id del file a cui appartiene, il numero del blocco
e la versione del file
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 21 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Politiche di pulitura I
1 Quando eseguire la pulitura dei segmenti?
2 Quanti segmenti pulire ogni volta?
3 Quali segmenti pulire?
4 Come raggruppare i blocchi di dati live quando vengono
ricopiati?
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 22 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Politiche di pulitura II
Le scelte 1 e 2 non hanno influenzato particolarmente le
prestazioni del sistema
Le scelte 3 e 4 si sono rivelate fondamentali
Per confrontare le prestazioni è stato introdotto il concetto
di write cost, che ci dà un’informazione sulla bandwidth
del disco effettivamente utilizzata per scrivere nuovi dati
write cost =
total bytes read and written
new data written
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 23 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Politiche di pulitura III
Se per ogni scrittura si effettuasse una pulitura dei
segmenti, avremmo un write cost pari a 2/(1 − u)
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 24 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Obiettivo
Per migliorare le performance del sistema è necessario
ottenere una distribuzione bimodale della frazione di dati
live dei segmenti
Molti segmenti quasi pieni e molti segmenti quasi vuoti
Per ottenere questa distribuzione vediamo come scegliere
i segmenti da pulire e come raggruppare i dati live ricopiati
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 25 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Simulazione del sistema I
Sono state simulate le prestazioni del sistema modellando
un file system con tanti file da 4KB ciascuno
Sono stati modificati i file seguendo due pattern diversi:
Uniforme – stessa probabilità di modifica di ogni file
Hot-and-cold – 90% dei file modificati il 10% delle volte e il
restante 10% modificato il 90% delle volte (località)
Scelta greedy dei segmenti da pulire: i più vuoti
I dati live sono stati ricopiati nello stesso ordine nel caso
uniforme e ordinati per età nel caso hot-and-cold
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 26 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Simulazione del sistema II
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 27 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Problema della scelta greedy
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 28 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Soluzione: cost-benefit policy
I segmenti con dati modificati raramente (cold) tendono a
mantenere molto spazio libero per molto tempo
La soluzione è dare più peso allo spazio libero dei
segmenti cold
Politica cost-benefit:
benefit
cost
=
free space generated ∗ age of data
cost
=
(1 − u) ∗ age
1 + u
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 29 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Effetti della cost-benefit policy I
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 30 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Gestione dello spazio libero
Effetti della cost-benefit policy II
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 31 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Crash recovery
Crash recovery
Nei file system tradizionali in caso di crash del sistema è
necessario effettuare una scansione di tutto il file system
per risolvere le inconsistenze
Nei LFS è facile determinare la posizione delle ultime
operazioni effettuate sul disco: recovery più veloce
Sprite LFS utilizza due strumenti per la recovery:
Checkpoint
Roll-forward
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 32 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Crash recovery
Checkpoint I
Checkpoint
È la posizione nel log fino alla quale tutte le strutture dati del file
system sono consistenti e complete.
Dopo aver scritto i dati sul disco, viene aggiornata la
checkpoint region, salvata in una posizione fissa del
disco
La checkpoint region contiene i dati che permettono di
verificare la consistenza del sistema (tra cui data e
posizione dell’ultima operazione effettuata)
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 33 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Crash recovery
Checkpoint II
Sprite LFS effettua checkpoint a intervalli periodici e
quando il file system viene smontato
La lunghezza degli intervalli influenza l’overhead di
scrittura e la quantità di dati da recuperare in caso di crash
Lunghi intervalli: meno overhead, ma più tempo per la
recovery
Brevi intervalli: più overhead, ma minor costo di recovery
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 34 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Crash recovery
Roll-forward
Invece di scartare tutte le modifiche effettuate dopo l’ultimo
checkpoint, possiamo cercare di recuperare i dati
Sprite LFS scansiona quindi i dati dopo l’ultimo checkpoint
(roll-forward)
Utilizza quindi i dati presenti nei segment summary block
per tentare di ripristinare quante più informazioni possibili
Per garantire la consistenza delle directory, utilizza un
directory operation log, che salva le modifiche effettuate
alle directory prima di riscrivere gli inode
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 35 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Sistema utilizzato per i benchmark
Implementazione di Sprite LFS
L’implementazione di Sprite LFS non è risultata più
complicata dei file system tradizionali come Unix FFS
La versione utilizzata per i test non implementava il
roll-forward
Intervallo tra i checkpoint di 30 secondi
Nell’uso di tutti i giorni gli utenti non hanno percepito
differenze con Unix FFS, probabilmente perché le
macchine non erano abbastanza veloci da essere
I/O-bound
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 36 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Sistema utilizzato per i benchmark
Sistema utilizzato I
Benchmark eseguiti su Sun 4/260
CPU con IU Fujitsu SF9010 e FPU
Weitek 1164/1165, 16.67 MHz
32 MB RAM
HDD: Wren IV, bandwidth 1.3 MB/s,
latenza 17.5 ms, 300 MB
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 37 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Sistema utilizzato per i benchmark
Sistema utilizzato II
Confronto tra Sprite LFS e SunOS 4.0.3
Blocchi da 8 KB su SunOS, da 4 KB su Sprite LFS con
segmenti da 1 MB
Multiutente
Caso ottimo: nessuna pulitura dei segmenti durante i
benchmark
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 38 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Risultati
Performance su file piccoli
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 39 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Risultati
Performance su file grandi
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 40 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Risultati
Simulazione con overhead di pulitura I
Per valutare l’overhead causato dalla pulitura dei segmenti,
è stato effettuato un test su un sistema reale per un
periodo di 4 mesi
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 41 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Risultati
Simulazione con overhead di pulitura II
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 42 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Risultati
Performance di crash recovery
Usato un sistema con intervallo di checkpoint infinito e che
non salvava le modifiche alle directory
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 43 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Conclusioni I
Il principio fondamentale di un log-structured file system è
quello di scrivere i nuovi dati in cache, per poi scriverli su
disco in un’unica grande operazione di I/O
Massimizzazione della bandwidth usata per scrivere dati
nuovi
È possibile ottenere bassi costi di overhead di pulitura con
la cost-benefit policy
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 44 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Conclusioni II
Performance migliori dei file system esistenti su piccoli file
Performance simili o migliori su grandi file tranne in pochi
casi (lettura sequenziale di file scritti random)
Sistema più CPU-bound: miglioramento delle performance
con l’aumento delle prestazioni delle CPU
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 45 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
I log-structured file system oggi I
L’idea del log viene sfruttata attualmente nei journaling
file system [5]
NTFS, ext3+, UFS dal 2004
Tuttavia il log mantiene solo le modifiche al file system, ma
non include i blocchi di dati
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 46 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
I log-structured file system oggi II
I log-structured file system sono utili su device che hanno
un numero limitato di scritture in ogni locazione perché
diminuiscono il numero di scritture eseguite nella stessa
locazione [7]
UDF (dischi ottici)
LogFS, YAFFS, F2FS (memorie flash)
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 47 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Riferimenti I
Ext2.
https://en.wikipedia.org/wiki/Ext2.
Accessed: 2016-04-22.
Ext3.
https://en.wikipedia.org/wiki/Ext3.
Accessed: 2016-04-22.
Ext4.
https://en.wikipedia.org/wiki/Ext4.
Accessed: 2016-04-22.
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 48 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Riferimenti II
File Allocation Table.
https:
//en.wikipedia.org/wiki/File_Allocation_Table.
Accessed: 2016-04-22.
Journaling.
https://it.wikipedia.org/wiki/Journaling.
Accessed: 2016-04-27.
List of default file systems.
https://en.wikipedia.org/wiki/List_of_default_
file_systems.
Accessed: 2016-04-22.
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 49 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Riferimenti III
List of log-structured file systems.
https://en.wikipedia.org/wiki/List_of_
log-structured_file_systems.
Accessed: 2016-04-27.
NTFS.
https://en.wikipedia.org/wiki/NTFS.
Accessed: 2016-04-22.
M. K. McCusick, W. N. Joy, S. J. Leffler, and R. S. Fabry.
A Fast File System for UNIX.
1984.
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 50 / 51
Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti
Riferimenti IV
Mendel Rosenblum and John Ousterhout.
The design and implementation of a log-structured file
system.
1992.
Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 51 / 51

Mais conteúdo relacionado

Semelhante a Log structured-file-system

Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
Ivano Luberti
 
08 Introduzione All Architettura Di Un D B M S
08  Introduzione All Architettura Di Un  D B M S08  Introduzione All Architettura Di Un  D B M S
08 Introduzione All Architettura Di Un D B M S
guestbe916c
 
Soluzioni ot per digicamere giugno 2010
Soluzioni ot per digicamere giugno 2010Soluzioni ot per digicamere giugno 2010
Soluzioni ot per digicamere giugno 2010
Giuseppe Bottasini
 
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
LucaGre
 

Semelhante a Log structured-file-system (19)

Gestione corsi con TYPO3
Gestione corsi con TYPO3Gestione corsi con TYPO3
Gestione corsi con TYPO3
 
08 Introduzione All Architettura Di Un D B M S
08  Introduzione All Architettura Di Un  D B M S08  Introduzione All Architettura Di Un  D B M S
08 Introduzione All Architettura Di Un D B M S
 
Managing and maintaining a microsoft windows server 2003 environment - Scheda...
Managing and maintaining a microsoft windows server 2003 environment - Scheda...Managing and maintaining a microsoft windows server 2003 environment - Scheda...
Managing and maintaining a microsoft windows server 2003 environment - Scheda...
 
Tesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sqlTesina di fine seminario sas ed sql
Tesina di fine seminario sas ed sql
 
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
Progetto e sviluppo di un sistema di rilevamento di anomalie su sistemi infor...
 
Soluzioni ot per digicamere giugno 2010
Soluzioni ot per digicamere giugno 2010Soluzioni ot per digicamere giugno 2010
Soluzioni ot per digicamere giugno 2010
 
Elaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlabElaborazione automatica dei dati: calcolatore e matlab
Elaborazione automatica dei dati: calcolatore e matlab
 
Database Data Aggregator
Database Data AggregatorDatabase Data Aggregator
Database Data Aggregator
 
Progetto e sviluppo di un'applicazione per dispositivi mobili per la visualiz...
Progetto e sviluppo di un'applicazione per dispositivi mobili per la visualiz...Progetto e sviluppo di un'applicazione per dispositivi mobili per la visualiz...
Progetto e sviluppo di un'applicazione per dispositivi mobili per la visualiz...
 
S354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.xS354 php-5.x-e-my sql-5.x
S354 php-5.x-e-my sql-5.x
 
Configuring managing and maintaining servers - Scheda corso LEN
Configuring managing and maintaining servers - Scheda corso LENConfiguring managing and maintaining servers - Scheda corso LEN
Configuring managing and maintaining servers - Scheda corso LEN
 
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...Progettazione e realizzazione di una piattaforma middleware per la gestione a...
Progettazione e realizzazione di una piattaforma middleware per la gestione a...
 
Il metacrawler di SBBL
Il metacrawler di SBBLIl metacrawler di SBBL
Il metacrawler di SBBL
 
Automating administration with windows power shell - Scheda corso LEN
Automating administration with windows power shell - Scheda corso LENAutomating administration with windows power shell - Scheda corso LEN
Automating administration with windows power shell - Scheda corso LEN
 
MS windows server 2008 - Designing a windows server 2008 network infrastructu...
MS windows server 2008 - Designing a windows server 2008 network infrastructu...MS windows server 2008 - Designing a windows server 2008 network infrastructu...
MS windows server 2008 - Designing a windows server 2008 network infrastructu...
 
MODULO 18 –> Il sistema operativo
MODULO 18 –> Il sistema operativoMODULO 18 –> Il sistema operativo
MODULO 18 –> Il sistema operativo
 
Ms sql server 2005 - For experienced oracle dbas - Scheda corso LEN
Ms sql server 2005 - For experienced oracle dbas - Scheda corso LENMs sql server 2005 - For experienced oracle dbas - Scheda corso LEN
Ms sql server 2005 - For experienced oracle dbas - Scheda corso LEN
 
Jvm performance Tuning
Jvm performance TuningJvm performance Tuning
Jvm performance Tuning
 
Corso sharepoint D2
Corso sharepoint D2Corso sharepoint D2
Corso sharepoint D2
 

Mais de Luca Vitale

Mais de Luca Vitale (11)

Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...
Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...
Estimation of the Latent Signals for Consensus Across Multiple Ranked Lists u...
 
A pathway and SVM based tool for tumor classification
A pathway and SVM based tool for tumor classificationA pathway and SVM based tool for tumor classification
A pathway and SVM based tool for tumor classification
 
Pathway based OMICs data classification
Pathway based OMICs data classificationPathway based OMICs data classification
Pathway based OMICs data classification
 
JSON-LD
JSON-LDJSON-LD
JSON-LD
 
Metodi per la soluzione di problemi di programmazione non lineare
Metodi per la soluzione di problemi di programmazione non lineareMetodi per la soluzione di problemi di programmazione non lineare
Metodi per la soluzione di problemi di programmazione non lineare
 
Shrinkage methods
Shrinkage methodsShrinkage methods
Shrinkage methods
 
Utilizzo dei Thread
Utilizzo dei ThreadUtilizzo dei Thread
Utilizzo dei Thread
 
S3
S3S3
S3
 
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbiClassificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
Classificazione in efMRI: Un caso di studio sulla coniugazione dei verbi
 
Linguaggi Context-Sensitive e Linear Bounded Automata
Linguaggi Context-Sensitive e Linear Bounded AutomataLinguaggi Context-Sensitive e Linear Bounded Automata
Linguaggi Context-Sensitive e Linear Bounded Automata
 
Soluzione numerica di equazioni differenziali a grandi dimensioni su GPUs
Soluzione numerica di equazioni differenziali a grandi dimensioni su GPUsSoluzione numerica di equazioni differenziali a grandi dimensioni su GPUs
Soluzione numerica di equazioni differenziali a grandi dimensioni su GPUs
 

Último

presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
michelacaporale12345
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
nico07fusco
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
sasaselvatico
 

Último (20)

presentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptxpresentazione varietà allotropiche del carbonio.pptx
presentazione varietà allotropiche del carbonio.pptx
 
a scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAPa scuola di biblioVerifica: come utilizzare il test TRAAP
a scuola di biblioVerifica: come utilizzare il test TRAAP
 
PalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docxPalestiniAurora-la conoscenzatestoita.docx
PalestiniAurora-la conoscenzatestoita.docx
 
TeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docxTeccarelliLorenzo-i4stilidellapitturaromana.docx
TeccarelliLorenzo-i4stilidellapitturaromana.docx
 
Storia-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptxStoria-CarloMagno-TeccarelliLorenzo.pptx
Storia-CarloMagno-TeccarelliLorenzo.pptx
 
TeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdfTeccarelliLorenzo-Mitodella.cavernaa.pdf
TeccarelliLorenzo-Mitodella.cavernaa.pdf
 
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptxPancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
Pancia Asia-La vita di Steve Jobs-Adriano Olivetti-Bill Gates.pptx
 
Educazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpointEducazione civica-Asia Pancia powerpoint
Educazione civica-Asia Pancia powerpoint
 
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptxPalestini Aurora-Steve Jobs,Olivetti e Gates.pptx
Palestini Aurora-Steve Jobs,Olivetti e Gates.pptx
 
Le forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docxLe forme allotropiche del C-Palestini e Pancia.docx
Le forme allotropiche del C-Palestini e Pancia.docx
 
Presentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informaticaPresentazione tre geni della tecnologia informatica
Presentazione tre geni della tecnologia informatica
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
Esame di Stato 2024 - Materiale conferenza online 09 aprile 2024
 
Piccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docxPiccole Personetestoitaliano-AuroraPalestini.docx
Piccole Personetestoitaliano-AuroraPalestini.docx
 
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptxAdducchio.Samuel-Steve_Jobs.ppppppppppptx
Adducchio.Samuel-Steve_Jobs.ppppppppppptx
 
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptxPancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
Pancia Asia-Pelusi Sara-La pittura romana - Copia (1).pptx
 
magia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptxmagia, stregoneria, inquisizione e medicina.pptx
magia, stregoneria, inquisizione e medicina.pptx
 
Una breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opereUna breve introduzione ad Elsa Morante, vita e opere
Una breve introduzione ad Elsa Morante, vita e opere
 
Gli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda presGli isotopi scienze naturale seconda pres
Gli isotopi scienze naturale seconda pres
 
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptxTeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
TeccarelliLorenzo-PrimadiSteveJobselasuaconcorrenza.pptx
 

Log structured-file-system

  • 1. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti The Design and Implementation of a Log-Structured File System Gioele Ciaparrone, Luca Vitale Sistemi Operativi Avanzati A.A. 2015/2016 Corso di Laurea Magistrale in Informatica Prof. Giuseppe Cattaneo 29 Aprile 2016 Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 1 / 51
  • 2. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Overview 1 Introduzione Autori Contesto storico Definizione del problema 2 Log-structured file system Introduzione Gestione dello spazio libero Crash recovery 3 Analisi delle prestazioni Sistema utilizzato per i benchmark Risultati 4 Conclusioni 5 Riferimenti Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 2 / 51
  • 3. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Autori Mendel Rosenblum 1992: Ph.D. in CS all’University of California, Berkeley 1998: Cofondatore di VMware Attualmente professore a Stanford nei dipartimenti di Computer Science ed Electrical Engineering Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 3 / 51
  • 4. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Autori John Ousterhout 1980: Ph.D. in CS alla Carnagie Mellon University 1994-1998: sviluppatore del linguaggio Tcl alla Sun Mycrosystems Attualmente professore di CS alla Stanford University e chairman di Electric Cloud Inc. Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 4 / 51
  • 5. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Contesto storico Breve storia dei file system 1968 – George 3 [6] 1980 – FAT12 [4] 1984 – FAT16 [4], Berkeley Fast File System [9] 1992 – Sprite Log-structured File System (LFS) [10] 1993 – NTFS [8], ext2 [1] 1996 – FAT32 [4] 2001 – ext3 [2] 2006 – ext4 [3] Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 5 / 51
  • 6. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Definizione del problema Cos’è un file system File system Un file system è l’insieme delle strutture dati necessarie per la memorizzazione, l’organizzazione gerarchica, la manipolazione, la navigazione, l’accesso e la lettura dei dati. Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 6 / 51
  • 7. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Definizione del problema Problema Miglioramento velocità CPU vs. latenza accesso al disco Le applicazioni tenderanno ad essere più I/O bound Fondamentale ottimizzare l’utilizzo del disco Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 7 / 51
  • 8. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Definizione del problema Design di un file system Il design di un file system è guidato da due forze fondamentali: Tecnologia Workload Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 8 / 51
  • 9. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Definizione del problema Tecnologia Tre componenti tecnologiche determinano l’efficienza di un file system: Velocità della CPU Capacità e latenza della RAM Bandwidth e tempo di accesso al disco Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 9 / 51
  • 10. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Definizione del problema Workload Due tipologie di workload: Ufficio: accessi casuali a tanti piccoli file Supercomputing: accesso sequenziale a grandi file Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 10 / 51
  • 11. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Definizione del problema Problemi dei file system tradizionali Dati sparsi sul disco In UNIX FFS 5 seek per creare un file Utilizzato solo 5% della bandwidth Operazione di write sincrona Scrittura di tanti piccoli file rallentata Soluzione: Sprite LFS Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 11 / 51
  • 12. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Introduzione Sprite LFS Log-structured file system È un file system in cui dati e metadati vengono scritti sequenzialmente in un buffer circolare, chiamato log. Ogni sequenza di cambiamenti viene bufferizzata in cache e poi scritta sequenzialmente sul log (disco) Miglioramento delle performance in scrittura Si evitano sincronizzazioni Una sola seek per ogni svuotamento della cache Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 12 / 51
  • 13. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Introduzione Lettura di un file I La lettura di un file non richiede accesso sequenziale al log Per individuare i blocchi di un file si usa l’inode inode È una struttura dati sul file system che archivia e descrive attributi base di file e directory, tra cui anche la posizione dei blocchi di dati che li compongono. L’inode utilizzato da Sprite LFS ha la stessa struttura di quello di Unix FFS Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 13 / 51
  • 14. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Introduzione Lettura di un file II Ad ogni file (o directory) è associato un inode A differenza di Unix, gli inode non sono in posizioni fisse Si usa quindi un’inode map, che mantiene gli indirizzi fisici degli inode per ogni file I blocchi dell’inode map sono scritti nel log e il loro indirizzo è salvato in una regione fissa del disco L’inode map viene mantenuta in cache, evitando frequenti accessi al disco Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 14 / 51
  • 15. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Introduzione Esempio: creazione di due file Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 15 / 51
  • 16. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Problema dello spazio libero Il problema principale di un log-structured file system è quello di mantenere grandi sezioni contigue di spazio libero su disco Esistono due opzioni per gestire la frammentazione dello spazio libero: Threading Copying Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 16 / 51
  • 17. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Threading e copying I Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 17 / 51
  • 18. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Threading e copying II Lo svantaggio del threading è che serve più di una seek per scrivere dati nel log Non è più veloce di un file system tradizionale Lo svantaggio del copying è che la copiatura dei blocchi di dati può richiedere molto tempo Sprite LFS sceglie quindi una combinazione di threading e copying Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 18 / 51
  • 19. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Threading e copying III Il disco viene diviso in grandi sezioni di grandezza fissa chiamate segmenti I dati vengono scritti sequenzialmente dall’inizio alla fine di ogni segmento Prima di poter riscrivere dati in un segmento, i dati live devono essere ricopiati fuori da esso Il threading viene effettuato a livello dei segmenti Segmenti abbastanza grandi da sfruttare la larghezza di banda del disco Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 19 / 51
  • 20. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Meccanismo di pulitura dei segmenti I Pulitura dei segmenti È il processo di copia di blocchi di dati live all’esterno di un segmento. L’obiettivo è quello di aumentare il numero di segmenti vuoti Sprite LFS non utilizza bitmap o liste per tener traccia dei blocchi liberi Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 20 / 51
  • 21. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Meccanismo di pulitura dei segmenti II Processo composto da tre fasi: Lettura di un certo numero di segmenti Identificazione dei blocchi di dati live Riscrittura dei dati live in un numero minore di segmenti I segmenti letti vengono quindi marcati come puliti e possono essere utilizzati per la scrittura di nuovi dati Per identificare i dati live in ogni segmento viene scritto un segment summary block, che indica per ogni blocco del segmento l’id del file a cui appartiene, il numero del blocco e la versione del file Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 21 / 51
  • 22. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Politiche di pulitura I 1 Quando eseguire la pulitura dei segmenti? 2 Quanti segmenti pulire ogni volta? 3 Quali segmenti pulire? 4 Come raggruppare i blocchi di dati live quando vengono ricopiati? Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 22 / 51
  • 23. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Politiche di pulitura II Le scelte 1 e 2 non hanno influenzato particolarmente le prestazioni del sistema Le scelte 3 e 4 si sono rivelate fondamentali Per confrontare le prestazioni è stato introdotto il concetto di write cost, che ci dà un’informazione sulla bandwidth del disco effettivamente utilizzata per scrivere nuovi dati write cost = total bytes read and written new data written Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 23 / 51
  • 24. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Politiche di pulitura III Se per ogni scrittura si effettuasse una pulitura dei segmenti, avremmo un write cost pari a 2/(1 − u) Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 24 / 51
  • 25. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Obiettivo Per migliorare le performance del sistema è necessario ottenere una distribuzione bimodale della frazione di dati live dei segmenti Molti segmenti quasi pieni e molti segmenti quasi vuoti Per ottenere questa distribuzione vediamo come scegliere i segmenti da pulire e come raggruppare i dati live ricopiati Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 25 / 51
  • 26. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Simulazione del sistema I Sono state simulate le prestazioni del sistema modellando un file system con tanti file da 4KB ciascuno Sono stati modificati i file seguendo due pattern diversi: Uniforme – stessa probabilità di modifica di ogni file Hot-and-cold – 90% dei file modificati il 10% delle volte e il restante 10% modificato il 90% delle volte (località) Scelta greedy dei segmenti da pulire: i più vuoti I dati live sono stati ricopiati nello stesso ordine nel caso uniforme e ordinati per età nel caso hot-and-cold Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 26 / 51
  • 27. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Simulazione del sistema II Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 27 / 51
  • 28. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Problema della scelta greedy Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 28 / 51
  • 29. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Soluzione: cost-benefit policy I segmenti con dati modificati raramente (cold) tendono a mantenere molto spazio libero per molto tempo La soluzione è dare più peso allo spazio libero dei segmenti cold Politica cost-benefit: benefit cost = free space generated ∗ age of data cost = (1 − u) ∗ age 1 + u Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 29 / 51
  • 30. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Effetti della cost-benefit policy I Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 30 / 51
  • 31. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Gestione dello spazio libero Effetti della cost-benefit policy II Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 31 / 51
  • 32. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Crash recovery Crash recovery Nei file system tradizionali in caso di crash del sistema è necessario effettuare una scansione di tutto il file system per risolvere le inconsistenze Nei LFS è facile determinare la posizione delle ultime operazioni effettuate sul disco: recovery più veloce Sprite LFS utilizza due strumenti per la recovery: Checkpoint Roll-forward Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 32 / 51
  • 33. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Crash recovery Checkpoint I Checkpoint È la posizione nel log fino alla quale tutte le strutture dati del file system sono consistenti e complete. Dopo aver scritto i dati sul disco, viene aggiornata la checkpoint region, salvata in una posizione fissa del disco La checkpoint region contiene i dati che permettono di verificare la consistenza del sistema (tra cui data e posizione dell’ultima operazione effettuata) Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 33 / 51
  • 34. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Crash recovery Checkpoint II Sprite LFS effettua checkpoint a intervalli periodici e quando il file system viene smontato La lunghezza degli intervalli influenza l’overhead di scrittura e la quantità di dati da recuperare in caso di crash Lunghi intervalli: meno overhead, ma più tempo per la recovery Brevi intervalli: più overhead, ma minor costo di recovery Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 34 / 51
  • 35. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Crash recovery Roll-forward Invece di scartare tutte le modifiche effettuate dopo l’ultimo checkpoint, possiamo cercare di recuperare i dati Sprite LFS scansiona quindi i dati dopo l’ultimo checkpoint (roll-forward) Utilizza quindi i dati presenti nei segment summary block per tentare di ripristinare quante più informazioni possibili Per garantire la consistenza delle directory, utilizza un directory operation log, che salva le modifiche effettuate alle directory prima di riscrivere gli inode Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 35 / 51
  • 36. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Sistema utilizzato per i benchmark Implementazione di Sprite LFS L’implementazione di Sprite LFS non è risultata più complicata dei file system tradizionali come Unix FFS La versione utilizzata per i test non implementava il roll-forward Intervallo tra i checkpoint di 30 secondi Nell’uso di tutti i giorni gli utenti non hanno percepito differenze con Unix FFS, probabilmente perché le macchine non erano abbastanza veloci da essere I/O-bound Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 36 / 51
  • 37. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Sistema utilizzato per i benchmark Sistema utilizzato I Benchmark eseguiti su Sun 4/260 CPU con IU Fujitsu SF9010 e FPU Weitek 1164/1165, 16.67 MHz 32 MB RAM HDD: Wren IV, bandwidth 1.3 MB/s, latenza 17.5 ms, 300 MB Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 37 / 51
  • 38. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Sistema utilizzato per i benchmark Sistema utilizzato II Confronto tra Sprite LFS e SunOS 4.0.3 Blocchi da 8 KB su SunOS, da 4 KB su Sprite LFS con segmenti da 1 MB Multiutente Caso ottimo: nessuna pulitura dei segmenti durante i benchmark Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 38 / 51
  • 39. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Risultati Performance su file piccoli Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 39 / 51
  • 40. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Risultati Performance su file grandi Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 40 / 51
  • 41. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Risultati Simulazione con overhead di pulitura I Per valutare l’overhead causato dalla pulitura dei segmenti, è stato effettuato un test su un sistema reale per un periodo di 4 mesi Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 41 / 51
  • 42. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Risultati Simulazione con overhead di pulitura II Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 42 / 51
  • 43. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Risultati Performance di crash recovery Usato un sistema con intervallo di checkpoint infinito e che non salvava le modifiche alle directory Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 43 / 51
  • 44. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Conclusioni I Il principio fondamentale di un log-structured file system è quello di scrivere i nuovi dati in cache, per poi scriverli su disco in un’unica grande operazione di I/O Massimizzazione della bandwidth usata per scrivere dati nuovi È possibile ottenere bassi costi di overhead di pulitura con la cost-benefit policy Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 44 / 51
  • 45. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Conclusioni II Performance migliori dei file system esistenti su piccoli file Performance simili o migliori su grandi file tranne in pochi casi (lettura sequenziale di file scritti random) Sistema più CPU-bound: miglioramento delle performance con l’aumento delle prestazioni delle CPU Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 45 / 51
  • 46. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti I log-structured file system oggi I L’idea del log viene sfruttata attualmente nei journaling file system [5] NTFS, ext3+, UFS dal 2004 Tuttavia il log mantiene solo le modifiche al file system, ma non include i blocchi di dati Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 46 / 51
  • 47. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti I log-structured file system oggi II I log-structured file system sono utili su device che hanno un numero limitato di scritture in ogni locazione perché diminuiscono il numero di scritture eseguite nella stessa locazione [7] UDF (dischi ottici) LogFS, YAFFS, F2FS (memorie flash) Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 47 / 51
  • 48. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Riferimenti I Ext2. https://en.wikipedia.org/wiki/Ext2. Accessed: 2016-04-22. Ext3. https://en.wikipedia.org/wiki/Ext3. Accessed: 2016-04-22. Ext4. https://en.wikipedia.org/wiki/Ext4. Accessed: 2016-04-22. Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 48 / 51
  • 49. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Riferimenti II File Allocation Table. https: //en.wikipedia.org/wiki/File_Allocation_Table. Accessed: 2016-04-22. Journaling. https://it.wikipedia.org/wiki/Journaling. Accessed: 2016-04-27. List of default file systems. https://en.wikipedia.org/wiki/List_of_default_ file_systems. Accessed: 2016-04-22. Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 49 / 51
  • 50. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Riferimenti III List of log-structured file systems. https://en.wikipedia.org/wiki/List_of_ log-structured_file_systems. Accessed: 2016-04-27. NTFS. https://en.wikipedia.org/wiki/NTFS. Accessed: 2016-04-22. M. K. McCusick, W. N. Joy, S. J. Leffler, and R. S. Fabry. A Fast File System for UNIX. 1984. Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 50 / 51
  • 51. Introduzione Log-structured file system Analisi delle prestazioni Conclusioni Riferimenti Riferimenti IV Mendel Rosenblum and John Ousterhout. The design and implementation of a log-structured file system. 1992. Università degli Studi di Salerno Log-Structured File System 29 Aprile 2016 51 / 51