Parallax
Dutch Meyer
University of British Columbia dmeyer@cs.ubc.ca
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
University of British Columbia dmeyer@cs.ubc.ca
Virtual Machines and Storage Parallax Feature Overview Technical Design System Evaluation Conclusion
Virtual machines can be created and
VM encapsulation make capturing whole-
Giving similar VMs similar disk images
How do we make volume provisioning
Can we capture whole-disk state at near-
How much data redundancy can we
How much overhead to do all of this well?
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
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
Use snapshots to create a copy of some
Requirements include
Global availability Efficient operation No hard limits on the number of volumes
Commonly derived disks can share
Sharing is read-only, COW when data is
We can further eliminate redundancy by
Building Virtual Disks Locking and Synchronization Storage Services
Parallax engine is a user-mode tapdisk
Provides services to any VM sharing the
Federates across multiple physical
Flexibility in block placement is essential
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
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
Building Virtual Disks Locking and Synchronization Storage Services
All machines share a single disk Some synchronization is required between
Data plane is protected through long lived
Control plane requires a lock manager
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
Building Virtual Disks Locking and Synchronization Storage Service
We can use VM based encapsulation to
Despite using several potentially high-
Working on deduping, layout optimization Expose features to aware file systems More storage services for VMs: caching,
General release
Thanks! Questions?
We wish to minimize contention for the
The simple approach is to partition the
We use a 2GB extent size currently
0101
A
1 1
B
0001
C