QuFiles: The right file at the right time Kaushik Veeraraghavan Jason Flinn Ed Nightingale * Brian Noble University of Michigan *Microsoft Research (Redmond)

Slides:



Advertisements
Similar presentations
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Advertisements

Chapter 12: File System Implementation
Introduction Why do we need Mobile OGSI.NET? Drawbacks:
Data Management Expert Panel - WP2. WP2 Overview.
Cobalt: Separating content distribution from authorization in distributed file systems Kaushik Veeraraghavan Andrew Myrick Jason Flinn University of Michigan.
Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen Jason Flinn University of Michigan.
IO-Lite: A Unified Buffering and Caching System By Pai, Druschel, and Zwaenepoel (1999) Presented by Justin Kliger for CS780: Advanced Techniques in Caching.
Distributed Storage March 12, Distributed Storage What is Distributed Storage?  Simple answer: Storage that can be shared throughout a network.
Versioning Extensions for Linux CS736 Spring 1999 J. Adam Butts Paramjit Oberoi.
Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.
Chapter 2: Operating-System Structures
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Threads Clients Servers Code Migration Software Agents Summary
File Systems Implementation
Reducing the Energy Usage of Office Applications Jason Flinn M. Satyanarayanan Carnegie Mellon University Eyal de Lara Dan S. Wallach Willy Zwaenepoel.
Design and Planning Presenter: Mike Team Members: Casey Kaushik Danny.
Microsoft ® Official Course Developing Optimized Internet Sites Microsoft SharePoint 2013 SharePoint Practice.
ECDL 2002 Employing Smart Browsers to Support Flexible Information Presentation in Petri net-based Digital Libraries Unmil P. Karadkar, Richard Furuta.
What is adaptive web technology?  There is an increasingly large demand for software systems which are able to operate effectively in dynamic environments.
Self Stabilizing Distributed File System Implementing a VFS Module.
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
GSI Operating Software – Migration OpenVMS to Linux Ralf Huhmann PCaPAC 2008 October 20, 2008.
SOFTWARE.
Object Oriented Databases by Adam Stevenson. Object Databases Became commercially popular in mid 1990’s Became commercially popular in mid 1990’s You.
Operating System Support for Application-Specific Speculation Benjamin Wester Peter Chen and Jason Flinn University of Michigan.
Ch 1. Mobile Adaptive Computing Myungchul Kim
Lecture 4 Operating System & Application Software.
WorkPlace Pro Utilities.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
1 AutoBash: Improving Configuration Management with Operating System Causality Analysis Ya-Yunn Su, Mona Attariyan, and Jason Flinn University of Michigan.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
San Diego Supercomputer Center National Partnership for Advanced Computational Infrastructure San Diego Supercomputer Center National Partnership for Advanced.
Slingshot: Deploying Stateful Services in Wireless Hotspots Ya-Yunn Su Jason Flinn University of Michigan Presenter: Youngki, Lee.
National Center for Supercomputing Applications NCSA OPIE Presentation November 2000.
Tessellation: Space-Time Partitioning in a Manycore Client OS Rose Liu 1,2, Kevin Klues 1, Sarah Bird 1, Steven Hofmeyr 3, Krste Asanovic 1, John Kubiatowicz.
CHAPTER TEN AUTHORING.
Contents 1.Introduction, architecture 2.Live demonstration 3.Extensibility.
Swapping to Remote Memory over InfiniBand: An Approach using a High Performance Network Block Device Shuang LiangRanjit NoronhaDhabaleswar K. Panda IEEE.
The Performance of Micro-Kernel- Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presentation by: Seungweon Park.
Laboratoire LIP6 The Gedeon Project: Data, Metadata and Databases Yves DENNEULIN LIG laboratory, Grenoble ACI MD.
University of Massachusetts, Amherst TFS: A Transparent File System for Contributory Storage James Cipar, Mark Corner, Emery Berger
SPECULATIVE EXECUTION IN A DISTRIBUTED FILE SYSTEM E. B. Nightingale P. M. Chen J. Flint University of Michigan.
NA-MIC National Alliance for Medical Image Computing UCSD: Engineering Core 2 Portal and Grid Infrastructure.
Presented by Scientific Annotation Middleware Software infrastructure to support rich scientific records and the processes that produce them Jens Schwidder.
The Performance of μ-Kernel-Based Systems H. Haertig, M. Hohmuth, J. Liedtke, S. Schoenberg, J. Wolter Presenter: Sunita Marathe.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan.
M. Alexander Helen J. Wang Yunxin Liu Microsoft Research 1 Presented by Zhaoliang Duan.
EnsemBlue: Integrating Distributed Storage and Consumer Electronics Daniel Peek and Jason Flinn University of Michigan.
Energy-Aware Resource Adaptation in Tessellation OS 3. Space-time Partitioning and Two-level Scheduling David Chou, Gage Eads Par Lab, CS Division, UC.
1 e-Science AHM st Aug – 3 rd Sept 2004 Nottingham Distributed Storage management using SRB on UK National Grid Service Manandhar A, Haines K,
Full-Text Support in a Database Semantic File System Kristen LeFevre & Kevin Roundy Computer Sciences 736.
1 Isolating Web Programs in Modern Browser Architectures CS6204: Cloud Environment Spring 2011.
An Efficient Threading Model to Boost Server Performance Anupam Chanda.
LCG Distributed Databases Deployment – Kickoff Workshop Dec Database Lookup Service Kuba Zajączkowski Chi-Wei Wang.
Transforming Policies into Mechanisms with Infokernel Andrea C. Arpaci-Dusseau, Remzi H. Arpaci-Dusseau, Nathan C. Burnett, Timothy E. Denehy, Thomas J.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan Best Paper at SOSP 2005 Modified for CS739.
FILE SYSTEM IMPLEMENTATION 1. 2 File-System Structure File structure Logical storage unit Collection of related information File system resides on secondary.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
1 Copyright © 2008, Oracle. All rights reserved. Repository Basics.
Presenter: Yue Zhu, Linghan Zhang A Novel Approach to Improving the Efficiency of Storing and Accessing Small Files on Hadoop: a Case Study by PowerPoint.
1 Chapter 5: Threads Overview Multithreading Models & Issues Read Chapter 5 pages
Enterprise Library Overview
Storage Virtualization
Operation System Program 4
Chapter 11: File System Implementation
Booting Up 15-Nov-18 boot.ppt.
Chapter 2: System Structures
Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen
Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen
Outline Review of Quiz #1 Distributed File Systems 4/20/2019 COP5611.
Presentation transcript:

quFiles: The right file at the right time Kaushik Veeraraghavan Jason Flinn Ed Nightingale * Brian Noble University of Michigan *Microsoft Research (Redmond)

Users need different data for different contexts Kaushik Veeraraghavan2 Users want to see the right file at the right time Screen size & battery lifetime Platform Network bandwidth & latency

Problem: each application builds both, an adaptation system and a data management system Our contribution: common abstraction for context- aware data management Free developers to build interesting adaptation schemes! Decouple adaptation from management Kaushik Veeraraghavan3 Energy-aware adaptation: SOSP ‘99 Distillation: ASPLOS ‘96 Proxy

Layer context-awareness in existing FS The way data is presented to users can be different from how it is stored –Change the interface used to access data Kaushik Veeraraghavan4 Create new context-aware systems by just writing policies -We built two new applications in a couple weeks! Existing applications that use the file system become context-aware without any modification

quFiles multiplex different views of a single logical object Context-aware mechanism selects the best representation quFiles: a unifying abstraction 5Kaushik Veeraraghavan

Talk outline What are quFiles? Design & Implementation Case studies Evaluation Related work Conclusion Kaushik Veeraraghavan6

Life of a quFile Utility creates alternate representations of video quFile utility foo.mp4 foo_low.mp4 foo.tivo 7Kaushik Veeraraghavan /videos/foo.qufile Utility creates a quFile and moves representations into it ~~~ Links in the policies

Name policy: choosing the right name Name policy: 0 or more file names Kaushik Veeraraghavan8 foo.mp4 foo.tivo foo.mp4 Name policy: If (device == TiVo) { return “foo.tivo”; } else { return “foo.mp4”; } Policy may dynamically instantiate a new name

Content policy: choosing the right content Kaushik Veeraraghavan9 Content policy: specific content for file name Policy may dynamically create a new file and content foo.mp4 foo.tivo foo.mp4

quFile edit and cache policies Edit policy: allow, disallow or version Cache policy: which representation to cache Kaushik Veeraraghavan10 foo.mp4 foo.tivo foo.mp4 ALLOW DISALLOW

% % ls video.qufile.raw % quFiles support multiple views Raw view: shows all contents i.e. representations, policies,… 11Kaushik Veeraraghavan ~~~ % ls video.qufile.highres % Custom view: policy may return any representation it wishes No application modification is required to see other views

Talk outline What are quFiles? Design & Implementation Case studies Evaluation Related work Conclusion Kaushik Veeraraghavan12

Cache policy: use spare storage to cache WAV Name & content policy: return WAV if cached, else mp3 4-11% battery lifetime gain; lines of policy code: 94 Power management 13Kaushik Veeraraghavan

Copy-on-write versioning Custom versions view –Name policy: returns names of all past versions (1, 2 or more) –Content policy: dynamically generates past version Lines of policy code: 55 Kaushik Veeraraghavan14 $ ls paper V V $ ls paper.qufile.yesterday V3 V1 V2V3 $ ls paper.qufile.versions V1 V2 V3 Edit policy: save information to an undo log

Resource-aware directory listing Default view: list files viewable given network quality Custom “all’’ view: “currently_unplayable” suffix Lines of policy code: 98 15Kaushik Veeraraghavan GPRS

Application-aware adaptation: Odyssey Name: bar.jpeg to all clients Content: best image served in 1 second Edit: disallows content writes, allows metadata writes Lines of policy code: 82 16Kaushik Veeraraghavan bar.jpeg

Talk outline What are quFiles? Design & Implementation Case studies Evaluation Related work Conclusion Kaushik Veeraraghavan17

quFiles are easy to implement and use ComponentNam e Conten t Edi t Cach e Total Power Management Copy-on-write versioning29188N/A55 Security20338N/A61 Resource-aware directory listing 64268N/A98 Odyssey232732N/A82 Platform spec. video display Kaushik Veeraraghavan18 quFiles are easy to incorporate in a file system quFiles add 1,600 lines to BlueFS’s 28,000. Almost all policies (see table) require less than 100 lines. - Each case study in a week or two. Some 1-2 days.

Micro-benchmark: Directory listing overhead Worst-case quFile overhead as there’s no activity to amortize cost –Only 3% overhead for warm; 0.5 ms overhead per file for cold 19Kaushik Veeraraghavan Warm Cold quFiles are 2X-3X better than Replication

Kernel grep grep Linux source: grep –Rn “foo” linux (9 occurrences) 1% overhead for warm; 6% overhead for scenario WarmCold 20Kaushik Veeraraghavan Search all versions: grep –Rn “foo” linux.qufile.versions (18 occurrences) 2X overhead in warm; 31% in cold case

Related work Semantic File System –Only expands name space but not content Adaptation systems: Ninja, Odyssey, Puppeteer, … –No application or OS modification, no proxy. Adaptation policies. Partial-replication: Cymbiosis, PRACTI, Perspective –Filter-based caching policies can be augmented with context Dynamic resolution of file content: OS X bundles, –General abstraction w/o baking resolution policies in FS Materialized views in databases –Context-aware generation of views; operate on data without schema Kaushik Veeraraghavan21

quFiles provide first-class support for context in file systems –Multiplex different views onto single logical object –Context-aware policies select the best view Context-aware systems can be easily built by simply providing quFile policies Thank you! Conclusion 22Kaushik Veeraraghavan

23

Building blocks of quFiles Policies are file system extensions –User-level software fault isolation is fine File system change notifications –To trigger quFile utilities (automation) File system should support directories Context library –Simple to build: ours is ~250 LOC 24Kaushik Veeraraghavan

Why put quFiles in the file system and not middleware, library, … Any application that uses the file system now becomes context-aware –Transparency ensures backward compatibility quFiles are a simple abstraction in the FS –Hooking into POSIX API is simple –readdir, lookup, commit_write, unlink, rename 25Kaushik Veeraraghavan

Case study applicability Local & Distributed file systems –Resource management E.g.: if battery is low, display low-res video –Copy-on-write versioning –Context-aware redaction Distributed file systems –Resource-aware directory listing –Application-aware adaptation: Odyssey Kaushik Veeraraghavan26

Andrew-style make Make Linux kernel –quFile: version all source files (.c,.h or.S) – 19,844 of 23,062 files Negligible overhead for warm, 1% overhead for cold scenario Kaushik Veeraraghavan27 Warm Cold