Parallax Dutch Meyer University of British Columbia - - PowerPoint PPT Presentation

parallax
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Parallax

Dutch Meyer

University of British Columbia dmeyer@cs.ubc.ca

slide-2
SLIDE 2

The Plan

 Virtual Machines and Storage  Parallax Feature Overview  Technical Design  System Evaluation  Conclusion

slide-3
SLIDE 3

Parallax is a Storage Service

slide-4
SLIDE 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

slide-5
SLIDE 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?

slide-6
SLIDE 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

  • perating at the block level
slide-7
SLIDE 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

slide-8
SLIDE 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

slide-9
SLIDE 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)

slide-10
SLIDE 10

Parallax Implementation

 Building Virtual Disks  Locking and Synchronization  Storage Services

slide-11
SLIDE 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

slide-12
SLIDE 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

slide-13
SLIDE 13

Radix Nodes and Trees

slide-14
SLIDE 14

Taking A Snapshot

slide-15
SLIDE 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

slide-16
SLIDE 16

Parallax Implementation

 Building Virtual Disks  Locking and Synchronization  Storage Services

slide-17
SLIDE 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

slide-18
SLIDE 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

  • ur design
slide-19
SLIDE 19

Parallax Implementation

 Building Virtual Disks  Locking and Synchronization  Storage Service

slide-20
SLIDE 20

Degraded Operation

slide-21
SLIDE 21

Evaluation: Performance

Per Request Latency System Throughput

slide-22
SLIDE 22

Evaluation: Snapshots

Storage Overheads Snapshot overhead

slide-23
SLIDE 23

Conclusion

 We can use VM based encapsulation to

extend the services normally provided in a storage stack

 Despite using several potentially high-

  • verhead techniques, parallax achieves

reasonable performance

slide-24
SLIDE 24

Future Work

 Working on deduping, layout optimization  Expose features to aware file systems  More storage services for VMs: caching,

encryption, etc.

 General release

slide-25
SLIDE 25

End of Presentation

 Thanks!  Questions?

slide-26
SLIDE 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

slide-27
SLIDE 27

Translating: Virtual to Physical

01011100 0001 01011100 0001

Root

0101

A

1 1

B

0001

C