parallax
play

Parallax Dutch Meyer University of British Columbia - PowerPoint PPT Presentation

Parallax Dutch Meyer University of British Columbia dmeyer@cs.ubc.ca The Plan Virtual Machines and Storage Parallax Feature Overview Technical Design System Evaluation Conclusion Parallax is a Storage Service Observations


  1. Parallax Dutch Meyer University of British Columbia dmeyer@cs.ubc.ca

  2. The Plan  Virtual Machines and Storage  Parallax Feature Overview  Technical Design  System Evaluation  Conclusion

  3. Parallax is a Storage Service

  4. Observations on Naïve storage  Virtual machines can be created and destroyed easily - storage can’t  VM encapsulation make capturing whole- machine state attractive, but capturing a whole disk image is slow  Giving similar VMs similar disk images results in wasted space

  5. Our Research Questions  How do we make volume provisioning agile enough to match VM creation?  Can we capture whole-disk state at near- continuous granularity?  How much data redundancy can we eliminate?  How much overhead to do all of this well?

  6. Parallax storage system  Use snapshots as a unifying tool for  Provisioning new volumes  Data sharing  Low overhead state capture and backup  Allow block-level layout optimization  Allow disconnected/degraded operation  Compatibility due to VM based architecture operating at the block level

  7. Snapshots  Data Protection  Low Granularity (eg days)  “What if” configuration and testing  Backup  High Granularity (eg ms)  Legal compliance  Paranoia  Time Travel – By capturing whole-machine state at high frequency, we can revisit previous machine states

  8. Provisioning via Gold Mastering  Use snapshots to create a copy of some reference volume, which can be further specialized  Requirements include  Global availability  Efficient operation  No hard limits on the number of volumes

  9. Data Sharing  Commonly derived disks can share common data  Sharing is read-only, COW when data is modified  We can further eliminate redundancy by detecting duplicate blocks and deduping them (current focus)

  10. Parallax Implementation  Building Virtual Disks  Locking and Synchronization  Storage Services

  11. System Review  Parallax engine is a user-mode tapdisk driver for block management  Provides services to any VM sharing the same physical machine  Federates across multiple physical machines to share a single volume of storage

  12. Building Virtual Disks  Flexibility in block placement is essential to providing disk isolation  Parallax uses a radix tree to facilitate this  Fixed height  Root is linked to a disk image  Nodes are disk blocks, containing an array of pointers

  13. Radix Nodes and Trees

  14. Taking A Snapshot

  15. IO Batching  Parallax follows the semantics of a physical disk  Simultaneous requests may be completed in any order  Must retain “crash consistency”  Updating radix trees can involve several IO operations  Batching becomes essential to maintaining performance  Ordering constraints are imposed for crash consistency  We use a dependency tracking system to issue writes in the correct order  Writes are aggressively pipelined – similar to instruction scheduling

  16. Parallax Implementation  Building Virtual Disks  Locking and Synchronization  Storage Services

  17. Federating Physical Machines  All machines share a single disk  Some synchronization is required between physical machines  Data plane is protected through long lived coarse grained allocation  Control plane requires a lock manager

  18. Lock Management  Current System has 3 contentious locks  Creating a virtual disk  Claiming a virtual disk  Requesting a new extent  In practice these locks are very infrequent  It is possible to further limit contention in our design

  19. Parallax Implementation  Building Virtual Disks  Locking and Synchronization  Storage Service

  20. Degraded Operation

  21. Evaluation: Performance System Throughput Per Request Latency

  22. Evaluation: Snapshots Snapshot overhead Storage Overheads

  23. Conclusion  We can use VM based encapsulation to extend the services normally provided in a storage stack  Despite using several potentially high- overhead techniques, parallax achieves reasonable performance

  24. Future Work  Working on deduping, layout optimization  Expose features to aware file systems  More storage services for VMs: caching, encryption, etc.  General release

  25. End of Presentation  Thanks!  Questions?

  26. Extents  We wish to minimize contention for the shared disk  The simple approach is to partition the disk into large extents which can be given exclusively to individuals  We use a 2GB extent size currently

  27. Translating: Virtual to Physical 01011100 0001 01011100 0001 0101 Root A 0 0 1 1 B 0001 C

Recommend


More recommend