CSE 451: Operating Systems Autumn 2013 Module 18 Berkeley Log-Structured File System Ed Lazowska Allen Center 570 © 2013 Gribble,

Slides:



Advertisements
Similar presentations
1 Log-Structured File Systems Hank Levy. 2 Basic Problem Most file systems now have large memory caches (buffers) to hold recently-accessed blocks Most.
Advertisements

More on File Management
Mendel Rosenblum and John K. Ousterhout Presented by Travis Bale 1.
Jeff's Filesystem Papers Review Part II. Review of "The Design and Implementation of a Log-Structured File System"
Jonathan Walpole Computer Science Portland State University
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
The design and implementation of a log-structured file system The design and implementation of a log-structured file system M. Rosenblum and J.K. Ousterhout.
Other File Systems: LFS and NFS. 2 Log-Structured File Systems The trend: CPUs are faster, RAM & caches are bigger –So, a lot of reads do not require.
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
G Robert Grimm New York University Sprite LFS or Let’s Log Everything.
CS 333 Introduction to Operating Systems Class 19 - File System Performance Jonathan Walpole Computer Science Portland State University.
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
THE DESIGN AND IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM M. Rosenblum and J. K. Ousterhout University of California, Berkeley.
The Design and Implementation of a Log-Structured File System Presented by Carl Yao.
Log-Structured File System (LFS) Review Session May 19, 2014.
Transactions and Reliability. File system components Disk management Naming Reliability  What are the reliability issues in file systems? Security.
FFS, LFS, and RAID Andy Wang COP 5611 Advanced Operating Systems.
AN IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM FOR UNIX Margo Seltzer, Harvard U. Keith Bostic, U. C. Berkeley Marshall Kirk McKusick, U. C. Berkeley.
IT 344: Operating Systems Winter 2008 Module 16 Journaling File Systems Chia-Chi Teng CTB 265.
THE DESIGN AND IMPLEMENTATION OF A LOG-STRUCTURED FILE SYSTEM M. Rosenblum and J. K. Ousterhout University of California, Berkeley.
Log-structured File System Sriram Govindan
The Design and Implementation of Log-Structure File System M. Rosenblum and J. Ousterhout.
26-Oct-15CSE 542: Operating Systems1 File system trace papers The Design and Implementation of a Log- Structured File System. M. Rosenblum, and J.K. Ousterhout.
1 File Systems: Consistency Issues. 2 File Systems: Consistency Issues File systems maintains many data structures  Free list/bit vector  Directories.
Log-Structured File Systems
CS 153 Design of Operating Systems Spring 2015 Lecture 22: File system optimizations.
Advanced UNIX File Systems Berkley Fast File System, Logging File Systems And RAID.
CS 153 Design of Operating Systems Spring 2015 Lecture 21: File Systems.
Advanced file systems: LFS and Soft Updates Ken Birman (based on slides by Ben Atkin)
Embedded System Lab. 서동화 The Design and Implementation of a Log-Structured File System - Mendel Rosenblum and John K. Ousterhout.
CS333 Intro to Operating Systems Jonathan Walpole.
Lecture 21 LFS. VSFS FFS fsck journaling SBDISBDISBDI Group 1Group 2Group N…Journal.
Local Filesystems (part 1) CPS210 Spring Papers  The Design and Implementation of a Log- Structured File System  Mendel Rosenblum  File System.
CSE 451: Operating Systems Spring 2012 Module 16 BSD UNIX Fast File System Ed Lazowska Allen Center 570.
Embedded System Lab. 정영진 The Design and Implementation of a Log-Structured File System Mendel Rosenblum and John K. Ousterhout ACM Transactions.
File System Performance CSE451 Andrew Whitaker. Ways to Improve Performance Access the disk less  Caching! Be smarter about accessing the disk  Turn.
File System Implementation Issues. The Operating System’s View of the Disk The disk request queue Memory The disk completed queue 10,20 22,14 11,77 22,14.
CSE 451: Operating Systems Winter 2015 Module 17 Journaling File Systems Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
CPSC 426: Building Decentralized Systems Persistence
CSE 451: Operating Systems Spring Module 17 Journaling File Systems
CSE 451: Operating Systems Spring 2010 Module 16 Berkeley Log-Structured File System John Zahorjan Allen Center 534.
© 2013 Gribble, Lazowska, Levy, Zahorjan
Jonathan Walpole Computer Science Portland State University
The Design and Implementation of a Log-Structured File System
Filesystems 2 Adapted from slides of Hank Levy
CSE 451: Operating Systems Spring 2012 Module 19 File System Summary
CSE 451: Operating Systems Autumn Module 16 Journaling File Systems
Printed on Monday, December 31, 2018 at 2:03 PM.
CSE 451: Operating Systems Winter Module 16 Journaling File Systems
CSE 451: Operating Systems Spring Module 17 Journaling File Systems
CSE 451: Operating Systems Spring Module 16 Journaling File Systems
Log-Structured File Systems
M. Rosenblum and J.K. Ousterhout The design and implementation of a log-structured file system Proceedings of the 13th ACM Symposium on Operating.
Log-Structured File Systems
CSE 451: Operating Systems Winter Module 15 BSD UNIX Fast File System
CSE 451: Operating Systems Spring 2006 Module 17 Berkeley Log-Structured File System John Zahorjan Allen Center
CSE 451: Operating Systems Winter 2003 Lecture 14 FFS and LFS
CSE 451: Operating Systems Autumn 2009 Module 18 File System Summary
CSE 451: Operating Systems Autumn 2003 Lecture 14 FFS and LFS
CSE 451: Operating Systems Autumn 2009 Module 17 Berkeley Log-Structured File System Ed Lazowska Allen Center
Log-Structured File Systems
CSE 451: Operating Systems Autumn 2010 Module 17 Berkeley Log-Structured File System Ed Lazowska Allen Center
CSE 451: Operating Systems Spring 2005 Module 16 Berkeley Log-Structured File System Ed Lazowska Allen Center
CSE 451: Operating Systems Winter 2007 Module 17 Berkeley Log-Structured File System + File System Summary Ed Lazowska Allen.
CSE 451: Operating Systems Winter Module 16 Journaling File Systems
Log-Structured File Systems
CSE 451: Operating Systems Winter Module 15 BSD UNIX Fast File System
The Design and Implementation of a Log-Structured File System
Presentation transcript:

CSE 451: Operating Systems Autumn 2013 Module 18 Berkeley Log-Structured File System Ed Lazowska Allen Center 570 © 2013 Gribble, Lazowska, Levy, Zahorjan

2 LFS inspiration Suppose, instead, what you wrote to disk was a log of changes made to files –log includes modified data blocks and modified metadata blocks –buffer a huge block (“segment”) in memory – 512K or 1M –when full, write it to disk in one efficient contiguous transfer right away, you’ve decreased seeks by a factor of 1M/4K = 250 So the disk contains a single big long log of changes, consisting of threaded segments

© 2013 Gribble, Lazowska, Levy, Zahorjan 3 LFS basic approach Use the disk as a log A log is a data structure that is written only at one end If the disk were managed as a log, there would be effectively no seeks The “file” is always added to sequentially New data and metadata (i-nodes, directories) are accumulated in the buffer cache, then written all at once in large blocks (e.g., segments of.5M or 1M) This would greatly increase disk write throughput Sounds simple – but really complicated under the covers

© 2013 Gribble, Lazowska, Levy, Zahorjan 4 LFS vs. UNIX File System or FFS file1 file2 dir1dir2 Unix File System file1file2 dir1dir2 Log-Structured File System Log i-node directory data i-node map Blocks written to create two 1-block files: dir1/file1 and dir2/file2, in UFS and LFS

© 2013 Gribble, Lazowska, Levy, Zahorjan 55 LFS Challenges Locating data written in the log –FS/FFS place files in a well-known location, LFS writes data “at the end of the log” Even locating i-nodes! –In LFS, i-nodes too go into the log! Managing free space on the disk –Disk is finite, and therefore log must be finite –So cannot just keep appending to log, ad infinitum! need to recover deleted blocks in old part of log need to fill holes created by recovered blocks (Note: Reads are the same as FS/FFS once you find the i-node – and writes are a ton faster!)

© 2013 Gribble, Lazowska, Levy, Zahorjan 66 LFS: Locating data and i-nodes LFS uses i-nodes to locate data blocks, just like FS/FFS LFS appends i-nodes to end of log, just like data –makes them hard to find Solution: –use another level of indirection: i-node maps –i-node maps map i-node #s to i-node location –so how do you find the i-node map? after all, changes to it must be appended to the log location of i-node map blocks are kept in a checkpoint region checkpoint region has a fixed location –cache i-node maps in memory for performance

© 2013 Gribble, Lazowska, Levy, Zahorjan 77 LFS: File reads and writes Reads are no different than in FS/FFS, once we find the i-node for the file –The i-node map, which is cached in memory, gets you to the i-node, which gets you to the blocks Every write causes new blocks to be added to the tail end of the current “segment buffer” in memory –When the segment is full, it’s written to disk

© 2013 Gribble, Lazowska, Levy, Zahorjan 88 LFS: Free space management Writing segments to the log eats up disk space Over time, segments in the log become fragmented as we replace old blocks of files with new blocks –i-nodes no longer point to blocks, but those blocks still occupy their space in the log –Imagine modifying a single block of a file, over and over again – eventually this would chew up the entire disk! Solution: Garbage-collect segments with little “live” data and recover the disk space

© 2013 Gribble, Lazowska, Levy, Zahorjan 99 LFS: Segment cleaning Log is divided into (large) segments Segments are threaded on disk –segments can be anywhere Reclaim space by cleaning segments –read segment –copy live data to end of log –now have free segment you can reuse! Cleaning is an issue –costly overhead, when do you do it? A cleaner daemon cleans old segments, based on –utilization: how much is to be gained by cleaning? –age: how likely is the segment to change soon?

© 2013 Gribble, Lazowska, Levy, Zahorjan 10 LFS summary As caches get big, most reads will be satisfied from the cache No matter how you cache write operations, though, they are eventually going to have to get back to disk Thus, most disk traffic will be write traffic If you eventually put blocks (i-nodes, file content blocks) back where they came from, then even if you schedule disk writes cleverly, there’s still going to be a lot of head movement (which dominates disk performance)

© 2013 Gribble, Lazowska, Levy, Zahorjan 11 Suppose, instead, what you wrote to disk was a log of changes made to files –log includes modified data blocks and modified metadata blocks –buffer a huge block (“segment”) in memory – 512K or 1M –when full, write it to disk in one efficient contiguous transfer right away, you’ve decreased seeks by a factor of 1M/4K = 250 So the disk is just one big long log, consisting of threaded segments

© 2013 Gribble, Lazowska, Levy, Zahorjan 12 What happens when a crash occurs? –you lose some work –but the log that’s on disk represents a consistent view of the file system at some instant in time Suppose you have to read a file? –once you find its current i-node, you’re fine –i-node maps provide a level of indirection that makes this possible details aren’t that important

© 2013 Gribble, Lazowska, Levy, Zahorjan 13 How do you prevent overflowing the disk (because the log just keeps on growing)? –segment cleaner coalesces the active blocks from multiple old log segments into a new log segment, freeing the old log segments for re-use Again, the details aren’t that important

© 2013 Gribble, Lazowska, Levy, Zahorjan 14 Tradeoffs LFS wins, relative to FFS –metadata-heavy workloads small file writes deletes (metadata requires an additional write, and FFS does this synchronously) LFS loses, relative to FFS –many files are partially over-written in random order file gets splayed throughout the log LFS vs. JFS –JFS is “robust” like LFS, but data must eventually be written back “where it came from” so disk bandwidth is still an issue

© 2013 Gribble, Lazowska, Levy, Zahorjan 15 LFS history Designed by Mendel Rosenblum and his advisor John Ousterhout at Berkeley in 1991 –Rosenblum went on to become a Stanford professor and to co- found VMware, so even if this wasn’t his finest hour, he’s OK Ex-Berkeley student Margo Seltzer (faculty at Harvard) published a 1995 paper comparing and contrasting LFS with conventional FFS, and claiming poor LFS performance in some realistic circumstances Ousterhout published a “Critique of Seltzer’s LFS Measurements,” rebutting her arguments Seltzer published “A Response to Ousterhout’s Critique of LFS Measurements,” rebutting the rebuttal Ousterhout published “A Response to Seltzer’s Response,” rebutting the rebuttal of the rebuttal

© 2013 Gribble, Lazowska, Levy, Zahorjan 16 Moral of the story –If you’re going to do OS research, you need a thick skin –Very difficult to predict how a FS will be used So it’s hard to generate reasonable benchmarks, let alone a reasonable FS design –Very difficult to measure a FS in practice depends on a HUGE number of parameters, involving both workload and hardware architecture