Strata: a Cross Media File System

Strata: a Cross Media File System

Strata: A Cross Media File System Youngjin Kwon Henrique Fingler Tyler Hunt The University of Texas at Austin The University of Texas at Austin The University of Texas at Austin Simon Peter Emmett Witchel Thomas Anderson The University of Texas at Austin The University of Texas at Austin University of Washington ABSTRACT KEYWORDS Current hardware and application storage trends put immense File system, Non-volatile memory, Multi-layer storage pressure on the operating system’s storage subsystem. On the ACM Reference Format: hardware side, the market for storage devices has diversified Youngjin Kwon, Henrique Fingler, Tyler Hunt, Simon Peter, Emmett to a multi-layer storage topology spanning multiple orders of Witchel, and Thomas Anderson. 2017. Strata: A Cross Media File magnitude in cost and performance. Above the file system, System. In Proceedings of ACM Symposium on Operating Systems applications increasingly need to process small, random IO on Principles, Shanghai, China, October 2017 (SOSP’17), 18 pages. vast data sets with low latency, high throughput, and simple https://doi.org/10.475/123_4 crash consistency. File systems designed for a single storage layer cannot support all of these demands together. 1 INTRODUCTION We present Strata, a cross-media file system that leverages File systems are being stressed from below and from above. the strengths of one storage media to compensate for weak- Below the file system, the market for storage devices has nesses of another. In doing so, Strata provides performance, fragmented based on a tradeoff between performance and capacity, and a simple, synchronous IO model all at once, capacity, so that many systems are configured with local solid- while having a simpler design than that of file systems con- state drives (SSD) and conventional hard disk drives (HDD). strained by a single storage device. At its heart, Strata uses a Non-volatile RAM (NVM) will soon add another device with log-structured approach with a novel split of responsibilities a third distinct regime of capacity and performance. among user mode, kernel, and storage layers that separates Above the file system, modern applications demand per- the concerns of scalable, high-performance persistence from formance and functionality far outside the traditional file storage layer management. We quantify the performance ben- system comfort zone, e.g., common case kernel bypass [41], efits of Strata using a 3-layer storage hierarchy of emulated small scattered updates to enormous datasets [12, 23], and NVM, a flash-based SSD, and a high-density HDD. Strata has programmer-friendly, efficient crash consistency [42]. It no 20-30% better latency and throughput, across several unmod- longer makes sense to engineer file systems on the assumption ified applications, compared to file systems purpose-built for that each file system is tied to a single type of physical device, each layer, while providing synchronous and unified access that file operations are inherently asynchronous, or that the to the entire storage hierarchy. Finally, Strata achieves up kernel must intermediate every metadata operation. to 2.8× better throughput than a block-based 2-layer cache To address these issues, we propose Strata, an integrated provided by Linux’s logical volume manager. file system across different storage media. To better leverage the hardware properties of multi-layer storage Strata has a CCS CONCEPTS novel split of user and kernel space responsibilities, storing • Information systems ! Hierarchical storage manage- updates to a user-level log in fast NVM, while asynchronously ment; Storage class memory; • Software and its engineer- managing longer-term storage in the kernel. In so doing, Strata ing ! File systems management; challenges some longstanding file system design ideas, while simplifying others. For example, Strata has no system-wide Permission to make digital or hard copies of part or all of this work for file block size and no individual layer implements a stand- personal or classroom use is granted without fee provided that copies are not alone file system. Although aspects of our design canbe made or distributed for profit or commercial advantage and that copies bear found in NVM [1, 25, 50, 52] and SSD [31, 32]-specific file this notice and the full citation on the first page. Copyrights for third-party systems, we are the first to design, build, and evaluate afile components of this work must be honored. For all other uses, contact the system that spans NVM, SSD, and HDD layers. owner/author(s). SOSP’17, October 2017, Shanghai, China Closest to the application, Strata’s user library synchronously © 2017 Copyright held by the owner/author(s). logs process-private updates in NVM while reading from ACM ISBN 123-4567-24-567/08/06. $15.00 shared, read-optimized, kernel-maintained data and metadata. https://doi.org/10.475/123_4 In the common case, the log holds updates to both user data SOSP’17, October 2017, Shanghai, China Y. Kwon et al. and file system metadata, ensuring correct file system behav- unit tests of the LevelDB key-value store test suite, as well ior during concurrent access, even across failures. Client code as all tests in the Filebench package. Microbenchmarks on uses the POSIX API, but Strata’s synchronous updates obviate real and emulated hardware show that, for small (≤ 16 KB) the need for any sync-related system calls and their atten- IO sizes, Strata achieves up to 33% better write tail-latency dant bugs [42]. Fast persistence and simple crash consistency and up to 7.8× better write throughput relative to the best are a perfect match for modern RPC-based systems that must performing alternative purpose-built NVM, SSD, and HDD persist data before responding to a network request [4, 12]. file systems. Strata achieves 26% higher throughput than Strata tailors the format and management of data to im- NOVA [52] on a mailserver workload in NVM, up to 27% prove the semantics and performance of the file system as lower latency than PMFS [25] on LevelDB, and up to 22% data moves through Strata’s layers. For example, operation higher SET throughput than NOVA on Redis, while providing logs are an efficient format for file system updates, but they synchronous and unified access to the entire storage hierarchy. are not efficient for reads. To reflect the centrality ofdata Finally, Strata achieves up to 2.8× better throughput than a movement and reorganization in Strata, we coin the term di- block-based two-layer cache provided by Linux’s logical vol- gest for the process by which Strata reads file system data and ume manager. These performance wins are achieved without metadata at one layer and optimizes the representation written changing applications. to its next (typically slower and larger) layer. Digestion is pe- Starting with a discussion of the technical background (x2) riodic and asynchronous. Digestion allows a multitude of opti- for Strata’s design, we then discuss its contributions. mizations: it coalesces temporary durable writes (overwritten • We present the Strata architecture (x3). We show how data or temporary files, e.g., due to complex application-level maintaining a user-level operation log in NVM and asyn- commit protocols [42]), it reorganizes and compacts data for chronously digesting data among storage layers in the ker- efficient lookup, and it batches data into the large sequential nel leads to fast writes with efficient synchronous behavior, operations needed for efficient writes to firmware-managed while optimizing for device characteristics and providing a SSD and HDD. unified interface to the entire underlying storage hierarchy. Strata’s first digest happens between a process-local log • We implement a prototype of Strata on top of Linux that and the system-shared area, both stored in NVM. For example, uses emulated NVM and commercially available SSDs and a thread can create a file and a different thread can perform HDDs on a commodity server machine (x4). several small, sequential writes to it. The file create and the • We quantify the performance and isolation benefits of pro- file data are logged in NVM. Each operation completes syn- viding a unified file system that manages all layers ofthe chronously and in order. On a system crash, Strata recovers modern storage hierarchy simultaneously (x5). the latest version of the newly created file and its contents from the log. Eventually, Strata digests the log into an extent 2 BACKGROUND tree (optimized for reads) requiring physical-level file sys- We review current and near-future storage devices and discuss tem work like block allocation for the new file. It will also how Strata addresses this diversified market. We then discuss merge the writes, eliminating any redundancy and creating the demands of modern applications on the file system and larger data blocks. Strata resembles a log-structured merge how current alternatives fall short. (LSM) tree with a separate log at each layer, but a Strata digest changes the format and the invariants of its data much more than an LSM tree compaction. Strata minimizes re-writing 2.1 Hardware storage trends overhead (§5.1) and increases performance significantly in Diversification. Storage technology is evolving from a sin- cases where digestion can reduce the amount of work for the gle viable technology (that of the hard disk drive) into a lower layer (e.g., a mail server can avoid copying 86% of its diversified set of offerings that each fill a niche in the design log §5.2). Strata currently also has limitations. For example, tradeoff of cost, performance, and capacity. Three storage Strata reduces mean time to data loss (MTTDL) by assum- technologies stand out as stable contenders in the near-future: ing that all of its storage devices are reliable. It is optimized Non-volatile memory (NVM), solid state drives (SSDs), and for applications requiring fast persistence for mostly non- high-density hard disk drives (HDDs).

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    18 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us