70 likes | 199 Vues
This presentation discusses the innovative BITE (Back-In-Time Execution) system developed by Ross Shaull and Liuba Shrira from Brandeis University, as presented at the 2007 SOSP Work-in-Progress session. The system enables high-level snapshots that support various applications, including time travel in virtualized environments. Our approach integrates cache to enhance the performance of snapshots while ensuring crash consistency and leveraging recovery methods. The prototype, implemented in Berkeley DB, showcases the balance between maintaining write-ahead snapshot invariants and minimizing performance costs.
E N D
Enabling BITE:High-Performance Snapshots in a High-Level Cache Ross Shaull <rshaull@cs.brandeis.edu> Liuba Shrira <liuba@cs.brandeis.edu> Brandeis University Presented 2007-10-15 SOSP WiP session 2007
Our Snapshot System X := Snapshot now Applications “time travel” in a past virtualized to look like present. Back-In-Time Execution (BITE) put Application put get Run on snapshot X
But which cache? Our Approach: Cache Integration • Our approach • Virtualized • Crash consistent • Requires Write-Ahead Snapshot invariant P Q P Q snapshot snapshot snapshot P Q P Q R
Best Level Snapshot System • High level • Database, file system • Leverage recovery • Delay writes • Why not lower level? • Difficult to achieve consistent application-requested snapshots • Sync from higher levels at snapshot declaration Application Database File System Volume Manager Controller
Cost of WAS-Invariant • Prototype implemented in Berkeley DB 4.5.20 • 1.8 GB database; snap-1 • Writing due to WAS can be hidden • Uniform: about 1 to 1 (cache: 9994 dirty pages) • Highly skewed (99/1): 35 to 1 • Trickle to avoid slowing down checkpoint • Maintains WAS invariant because trickle before chkpt • Not end of story • Snapshot metadata is transactional • We are analyzing how these costs can be minimized in BDB
Thanks • Sponsors of student scholarships!
Without Cache Integration • On disk • Sync for consistency • Negotiate with application to allow progress to be made while syncing; worst case: quiescence P Q snapshot P Q R P Q snapshot