Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen Jason Flinn University of Michigan.

Slides:



Advertisements
Similar presentations
I/O Systems & Mass-Storage Systems
Advertisements

Remus: High Availability via Asynchronous Virtual Machine Replication
4/8/14CS161 Spring FFS Recovery: Soft Updates Learning Objectives Explain how to enforce write-ordering without synchronous writes. Identify and.
Energy Efficiency through Burstiness Athanasios E. Papathanasiou and Michael L. Scott University of Rochester, Computer Science Department Rochester, NY.
Speculative Execution In Distributed File System and External Synchrony Edmund B.Nightingale, Kaushik Veeraraghavan Peter Chen, Jason Flinn Presented by.
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
CSE506: Operating Systems Block Cache. CSE506: Operating Systems Address Space Abstraction Given a file, which physical pages store its data? Each file.
Steven Pelley, Peter M. Chen, Thomas F. Wenisch University of Michigan
Bandwidth and latency optimizations Jinyang Li w/ speculator slides from Ed Nightingale.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface.
Smoke and Mirrors: Shadowing Files at a Geographically Remote Location Without Loss of Performance August 2008 Hakim Weatherspoon, Lakshmi Ganesh, Tudor.
Speculations: Speculative Execution in a Distributed File System 1 and Rethink the Sync 2 Edmund Nightingale 12, Kaushik Veeraraghavan 2, Peter Chen 12,
04/14/2008CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 Chapter 13: I/O Systems I/O Hardware.
User Level Interprocess Communication for Shared Memory Multiprocessor by Bershad, B.N. Anderson, A.E., Lazowska, E.D., and Levy, H.M.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
U NIVERSITY OF M ASSACHUSETTS, A MHERST Department of Computer Science Emery Berger University of Massachusetts Amherst Operating Systems CMPSCI 377 Lecture.
Microkernels: Mach and L4
Remus: High Availability via Asynchronous Virtual Machine Replication.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
User-Level Interprocess Communication for Shared Memory Multiprocessors Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented.
1 Today I/O Systems Storage. 2 I/O Devices Many different kinds of I/O devices Software that controls them: device drivers.
Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D.
I/O Systems CSCI 444/544 Operating Systems Fall 2008.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Operating System Support for Application-Specific Speculation Benjamin Wester Peter Chen and Jason Flinn University of Michigan.
Accelerating Mobile Applications through Flip-Flop Replication
Toolbox for Dimensioning Windows Storage Systems Jalil Boukhobza, Claude Timsit 12/09/2006 Versailles Saint Quentin University.
QuFiles: The right file at the right time Kaushik Veeraraghavan Jason Flinn Ed Nightingale * Brian Noble University of Michigan *Microsoft Research (Redmond)
1 AutoBash: Improving Configuration Management with Operating System Causality Analysis Ya-Yunn Su, Mona Attariyan, and Jason Flinn University of Michigan.
Livio Soares, Michael Stumm University of Toronto
Smoke and Mirrors: Shadowing Files at a Geographically Remote Location Without Loss of Performance Hakim Weatherspoon Joint with Lakshmi Ganesh, Tudor.
Distributed File Systems
Silberschatz, Galvin and Gagne  Operating System Concepts I/O Hardware Incredible variety of I/O devices.
I/O Systems I/O Hardware Application I/O Interface
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 6.
An I/O Simulator for Windows Systems Jalil Boukhobza, Claude Timsit 27/10/2004 Versailles Saint Quentin University laboratory.
EECS 262a Advanced Topics in Computer Systems Lecture 7 Transactional Flash & Rethink the Sync September 25 th, 2012 John Kubiatowicz and Anthony D. Joseph.
Parallelizing Security Checks on Commodity Hardware Ed Nightingale Dan Peek, Peter Chen Jason Flinn Microsoft Research University of Michigan.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
Chapter VIIII File Systems Review Questions and Problems Jehan-François Pâris
Chapter 13: I/O Systems. 13.2/34 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware.
SPECULATIVE EXECUTION IN A DISTRIBUTED FILE SYSTEM E. B. Nightingale P. M. Chen J. Flint University of Michigan.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 13: I/O Systems I/O Hardware Application I/O Interface.
Storage Systems CSE 598d, Spring 2007 Rethink the Sync April 3, 2007 Mark Johnson.
XE33OSA Chapter 13: I/O Systems. 13.2XE33OSA Silberschatz, Galvin and Gagne ©2005 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel.
Linux file systems Name: Peijun Li Student ID: Prof. Morteza Anvari.
Speculation Supriya Vadlamani CS 6410 Advanced Systems.
4P13 Week 9 Talking Points
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
Speculative Execution in a Distributed File System Ed Nightingale Peter Chen Jason Flinn University of Michigan Best Paper at SOSP 2005 Modified for CS739.
Journaling versus Softupdates Asynchronous Meta-Data Protection in File System Authors - Margo Seltzer, Gregory Ganger et all Presenter – Abhishek Abhyankar.
WSRR 111 Coerced Cache Eviction and Discreet Mode Journaling: Dealing with Misbehaving Disks Abhishek Rajimwale, Vijay Chidambaram, Deepak Ramamurthi Andrea.
NVWAL: Exploiting NVRAM in Write-Ahead Logging
Module 12: I/O Systems I/O hardware Application I/O Interface
Improving File System Synchrony
Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Chapter 2: Operating-System Structures
Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter VIIII File Systems Review Questions and Problems
Chapter 2: Operating-System Structures
Summer 2002 at SLAC Ajay Tirumala.
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Rethink the Sync Ed Nightingale Kaushik Veeraraghavan Peter Chen Jason Flinn University of Michigan

Rethink the Sync University of Michigan 2 Problem Asynchronous I/O is a poor abstraction for:  Reliability  Ordering  Durability  Ease of programming Synchronous I/O is superior but 100x slower  Caller blocked until operation is complete

Rethink the Sync University of Michigan 3 Solution Synchronous I/O can be fast New model for synchronous I/O  External synchrony  Same guarantees as synchronous I/O  Only 8% slower than asynchronous I/O

Rethink the Sync University of Michigan 4 When a sync() is really async On sync() data written only to volatile cache  10x performance penalty and data NOT safe Volatile Cache Operating System Cylinders Disk 100x slower than asynchronous I/O if disable cache

Rethink the Sync University of Michigan 5 To whom are guarantees provided? Synchronous I/O definition:  Caller blocked until operation completes DiskScreen App Guarantee provided to application App Network OS Kernel

Rethink the Sync University of Michigan 6 To whom are guarantees provided? Guarantee really provided to the user OS Kernel DiskScreen App Network

Rethink the Sync University of Michigan 7 Providing the user a guarantee User observes operation has completed  User may examine screen, network, disk… Guarantee provided by synchronous I/O  Data durable when operation observed to complete To observe output it must be externally visible  Visible on external device

Rethink the Sync University of Michigan 8 Network Why do applications block? Since application external we block on syscall Internal External OS Kernel DiskScreen App Application is internal therefore no need to block App

Rethink the Sync University of Michigan 9 A new model of synchronous I/O Provide guarantee directly to user  Rather than via application Called externally synchronous I/O  Indistinguishable from traditional sync I/O  Approaches speed of asynchronous I/O

Rethink the Sync University of Michigan 10 Example: Synchronous I/O OS Kernel Disk Process 101 write(buf_1); 102 write(buf_2); 103 print(“work done”); 104 foo(); Application blocks %work done % TEXT %

Rethink the Sync University of Michigan 11 Observing synchronous I/O 101 write(buf_1); 102 write(buf_2); 103 print(“work done”); 104 foo(); Sync I/O externalizes output based on causal ordering  Enforces causal ordering by blocking an application Ext sync: Same causal ordering without blocking applications Depends on 1 st write Depends on 1 st & 2 nd write

Rethink the Sync University of Michigan 12 Example: External synchrony OS Kernel Disk Process 101 write(buf_1); 102 write(buf_2); 103 print(“work done”); 104 foo(); TEXT %work done % %

Rethink the Sync University of Michigan 13 Tracking causal dependencies Applications may communicate via IPC  Socket, pipe, fifo etc. Need to propagate dependencies through IPC We build upon Speculator [SOSP ’05]  Track and propagate causal dependencies  Buffer output to screen and network

Rethink the Sync University of Michigan 14 Tracking causal dependencies Disk Process write(file1); 102 do_something(); %hello % % 101 print (“hello”); 102 read(file1); 103 print(“world”); Process 1 Process 2 Commit Dep 1 Process 1 OS Kernel Process 2 TEXT world

Rethink the Sync University of Michigan 15 Output triggered commits OS Kernel Disk Process %work done % TEXT % Maximize throughput until output buffered When output buffered, trigger commit  Minimize latency only when important

Rethink the Sync University of Michigan 16 Evaluation Implemented ext sync file system Xsyncfs  Based on the ext3 file system  Use journaling to preserve order of writes  Use write barriers to flush volatile cache Compare Xsyncfs to 3 other file systems  Default asynchronous ext3  Default synchronous ext3  Synchronous ext3 with write barriers

Rethink the Sync University of Michigan 17 When is data safe? File System Configuration Data durable on write() Data durable on fsync() AsynchronousNo Not on power failure Synchronous Not on power failure Synchronous w/ write barriers Yes External synchronyYes

Rethink the Sync University of Michigan 18 Postmark benchmark Xsyncfs within 7% of ext3 mounted asynchronously

Rethink the Sync University of Michigan 19 The MySQL benchmark Xsyncfs can group commit from a single client

Rethink the Sync University of Michigan 20 Specweb99 throughput Xsyncfs within 8% of ext3 mounted asynchronously

Rethink the Sync University of Michigan 21 Specweb99 latency Request sizeext3-asyncxsyncfs 0-1 KB0.064 seconds0.097 seconds 1-10 KB0.150 second0.180 seconds KB1.084 seconds1.094 seconds KB seconds seconds Xsyncfs adds no more than 33 ms of delay

Rethink the Sync University of Michigan 22 Conclusion Synchronous I/O can be fast External synchrony performs with 8% of async Questions?