Semantically-Smart Disk Systems Muthian Sivathanu, Vijayan Prabhakaran, Florentina Popovici, Tim Denehy, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau University.

Slides:



Advertisements
Similar presentations
Chapter 12: File System Implementation
Advertisements

File Management.
Better I/O Through Byte-Addressable, Persistent Memory
CPSC 335 Dr. Marina Gavrilova Computer Science University of Calgary Canada.
File Systems.
Predictable Computer Systems Remzi Arpaci-Dusseau University of Wisconsin, Madison.
File Systems Examples.
COS 318: Operating Systems File Layout and Directories
Ext2/Ext3 Linux File System Reporter: Po-Liang, Wu.
CSE506: Operating Systems Block Cache. CSE506: Operating Systems Address Space Abstraction Given a file, which physical pages store its data? Each file.
1 Live Deduplication Storage of Virtual Machine Images in an Open-Source Cloud Chun-Ho Ng, Mingcao Ma, Tsz-Yeung Wong, Patrick P. C. Lee, John C. S. Lui.
Chapter 11: File System Implementation
Lecture 18 ffs and fsck. File-System Case Studies Local FFS: Fast File System LFS: Log-Structured File System Network NFS: Network File System AFS: Andrew.
Today From threads to file systems
File System Implementation: beyond the user’s view A possible file system layout on a disk.
File System Implementation CSCI 444/544 Operating Systems Fall 2008.
File Systems Implementation
G Robert Grimm New York University SGI’s XFS or Cool Pet Tricks with B+ Trees.
Chapter 12: File System Implementation
1 Outline File Systems Implementation How disks work How to organize data (files) on disks Data structures Placement of files on disk.
The Design and Implementation of a Log-Structured File System Presented by Carl Yao.
File Systems. Main Points File layout Directory layout.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
File Systems (1). Readings r Silbershatz et al: 10.1,10.2,
Knowledge is Power Remzi Arpaci-Dusseau University of Wisconsin, Madison.
File System Implementation Chapter 12. File system Organization Application programs Application programs Logical file system Logical file system manages.
X-RAY: A Non-Invasive Exclusive Caching Mechanism for RAIDs Lakshmi N. Bairavasundaram Muthian Sivathanu Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau.
Journal-guided Resynchronization for Software RAID
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.
Evolving RPC for Active Storage Muthian Sivathanu Andrea C. Arpaci-Dusseau Remzi H. Arpaci-Dusseau University of Wisconsin-Madison.
Deconstructing Storage Arrays Timothy E. Denehy, John Bent, Florentina I. Popovici, Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau University of Wisconsin,
CS 153 Design of Operating Systems Spring 2015 Lecture 22: File system optimizations.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 12: File System Implementation File System Structure File System Implementation.
File System Implementation
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 11: File System Implementation.
Chapter 11: File System Implementation Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 1, 2005 Implementation.
Chapter 4. INTERNAL REPRESENTATION OF FILES
File Systems Security File Systems Implementation.
CS 153 Design of Operating Systems Spring 2015 Lecture 21: File Systems.
12.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 12: File System Implementation Chapter 12: File System Implementation.
Chapter 11: File System Implementation Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 11: File System Implementation Chapter.
Page 112/7/2015 CSE 30341: Operating Systems Principles Chapter 11: File System Implementation  Overview  File system structure – layered, block based.
Ext2/Ext3 Linux File System Reporter: Po-Liang, Wu.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition File System Implementation.
Lecture 21 LFS. VSFS FFS fsck journaling SBDISBDISBDI Group 1Group 2Group N…Journal.
UNIX File System (UFS) Chapter Five.
Outline for Today Journaling vs. Soft Updates Administrative.
Lecture 10 Page 1 CS 111 Summer 2013 File Systems Control Structures A file is a named collection of information Primary roles of file system: – To store.
2007/5/ Digital Forensic Research Workshop (DFRWS) New Orleans, LA 1 Data Hiding in Journaling File Systems Knut Eckstein, Marko Jahnke 報告人:陳晉煒.
Lecture 20 FSCK & Journaling. FFS Review A few contributions: hybrid block size groups smart allocation.
JOURNALING VERSUS SOFT UPDATES: ASYNCHRONOUS META-DATA PROTECTION IN FILE SYSTEMS Margo I. Seltzer, Harvard Gregory R. Ganger, CMU M. Kirk McKusick Keith.
Lecture Topics: 12/1 File System Implementation –Space allocation –Free Space –Directory implementation –Caching Disk Scheduling File System/Disk Interaction.
File System Performance CSE451 Andrew Whitaker. Ways to Improve Performance Access the disk less  Caching! Be smarter about accessing the disk  Turn.
Bridging the Information Gap in Storage Protocol Stacks Timothy E. Denehy, Andrea C. Arpaci-Dusseau, and Remzi H. Arpaci-Dusseau University of Wisconsin,
W4118 Operating Systems Instructor: Junfeng Yang.
File System Examples Unix Fast File System (FFS)
File-System Implementation
Chapter 11: File System Implementation
Journaling File Systems
Better I/O Through Byte-Addressable, Persistent Memory
EECE.4810/EECE.5730 Operating Systems
Chapter 11: File System Implementation
UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department
Lecture 20 LFS.
(Architectural Support for) Semantically-Smart Disk Systems
Bridging the Information Gap in Storage Protocol Stacks
File System Implementation
SE350: Operating Systems Lecture 12: File Systems.
The File Manager Implementation issues
Presentation transcript:

Semantically-Smart Disk Systems Muthian Sivathanu, Vijayan Prabhakaran, Florentina Popovici, Tim Denehy, Andrea Arpaci-Dusseau, Remzi Arpaci-Dusseau University of Wisconsin, Madison

The Storage Protocol Stack

A Tale of Two Layers Two layers: The file system and RAID Origins: The hardware/software boundary S/W: The file system H/W: The disk Each increasingly complex Each a world unto itself Separated by a narrow interface (SCSI) File System RAID

Your Innovations In Storage: Where In The Stack Should They Go?

Option #1: In The File System Put innovations in the file system! Pros: Lots of semantic information (directories, files, inodes) Well-defined interfaces (vnode/VFS) Cons: No low-level information (head position, RAID scheme) Hard to deploy: Many FS’s out there File systems change slowly FFS [1984] -> ext2 [2002] File System RAID

Option #2: In The RAID Put innovations in the RAID system! Pros: Lots of low-level knowledge Easy to deploy, sell Lots of “smarts” (CPUs + Memory) Cons: “A stream of block reads + writes, full of bits & bytes, signifying nothing” (no semantic knowledge) File System RAID

The Root Of The Problem: Narrow Interfaces Narrow interfaces stifle info flow SCSI to file system: Linear array of blocks SCSI to disk system: Stream of block reads and writes Result: Innovation is limited No “FS-like” innovations in RAID Anything where info from BOTH subsystems is required can’t be done File System RAID SCSI

So What’s A Storage-System Innovator To Do?

The Ideal Solution? Exploit raw processing and memory of RAID Built in low-level knowledge Easy to deploy Keep interface the same Assume traditional file system/RAID boundary Acquire semantic information of file system Learn about files, directories, inodes, and other file system data structures

Semantically-Smart Disk System (SDS) Disk system that understands file system Data structures Operations Operates underneath unmodified FS Must discover layout + on-disk structures Must “reverse engineer” block stream Exploits knowledge and “smarts” to implement new class of services File System SDS $ CPU

Outline Motivation Semantic Knowledge: Acquisition Semantic Knowledge: Exploitation Case studies Conclusions

Static Knowledge: File System Layout Challenge: How to discover layout information? White-box approach: Embed knowledge in SDS Trend: FS layout does not change frequently Superblk I-Bitmap D-Bitmap Inodes Data I-Bitmap D-Bitmap Inodes Data Group 1Group 2

Have Knowledge, Will Innovate Knowing structures is not enough (sometimes) Data block overloading (data, pointer, directory) High-level operations not known (create, delete) Requires new on-line techniques Direct classification Indirect classification Block association Operation inferencing

Direct Classification Given address, determine type directly Direct classification via bounds check Given disk address, can check bounds to determine type (superblock, bitmaps, inodes, general data block) Super I-Bit D-Bit Inode Data I-Bit D-Bit Inode Data

Beyond Simple Meta-Data Want to cache other meta-data blocks Directory blocks, indirect-pointer blocks Problem: Data blocks are overloaded type Block in “data” region could be: file data, dir, pointer Direct classification necessary but not sufficient Indirect classification via inode snooping Super I-Bit D-Bit Inode Data I-Bit D-Bit Inode Data

Indirect Classification: Directories Super I-Bit D-Bit Inode Data I-Bit D-Bit Inode Data SDSDirectory Hash Table Ptr1 Ptr2 Ptr3 Directory Type Ptr1 Ptr2 Ptr3 Size Inode

Directory Hash Table Indirect Classification In Action Super I-Bit D-Bit Inode Data I-Bit D-Bit Inode Data SDS Ptr1 Ptr2 Ptr3 Check Hash If Present, Cache

Indirect Classification: Issues Space overhead Small overhead per directory and indirect block Time overhead 1 hash update per pointer, 1 lookup per data block Tricky: Sometimes data block is seen “early” Haven’t yet seen pointer associated with data block Solution #1: OK to misclassify some blocks for some amount of time Solution #2: Must defer classification until pointer has been observed

Getting Rid Of The Dead If file blocks are deleted, remove them from cache No need to keep dead blocks around Problem: How to determine if a file is deleted? Need to look for signs of deletion Three different places to look: Inode bitmaps Directory that contains file Inode itself Operation inferencing via block differencing

SDS Operation Inferencing: Detecting Deletes (Inode Bitmap) Super I-Bit D-Bit Inode Data I-Bit D-Bit Inode Data Diff = Read Old Version I-Bitmap Result: Deleted Files

Operation Inferencing: Overheads Space overhead Block cache of inodes, indirect pointers, bitmaps, etc. (could be substantial) Time overhead CPU: Difference operation is like an extra copy Disk: May require block read (if small/no cache) [In paper: Quantified time and space overheads] Main point: There is a CPU and memory cost

Using Semantic Knowledge Fast RAID Reconstruction Only copy “live” data to hot-spare Track-aligned Extents [Schindler et. al. ‘02] Placing files in disk cognizant manner Journaling [Hagmann ‘87] Limit study: can implement complex “FS”-like functionality within a semantically-smart disk File-aware Caching Caching meta-data under BSD FFS Caching journal under Linux ext3

Conclusions

Innovation in traditional storage stack is limited File system: high but not low-level info Storage system: low but not high-level info Semantically-smart disks: Best of both worlds? Takes advantage of “smart” disk systems Exploit low-level information… …with high-level knowledge of file system A remaining challenge Overcoming the “file system obfuscation” problem

“To know that we know what we know, and that we do not know what we do not know, that is true knowledge.” Confucius

“A man cannot inquire about what he knows, because he knows it, and in that case he is in no need of inquiry, nor again can he inquire about what he does not know, since he does not know what he is to inquire.” Socrates