Depot
Cloud storage with minimal trust
Prince Mahajan, Srinath Setty, Sangmin Lee, Allen Clement, Lorenzo Alvisi, Mike Dahlin, Michael Walfish The University of Texas at Austin
Monday, October 11, 2010
Depot Cloud storage with minimal trust Prince Mahajan, Srinath - - PowerPoint PPT Presentation
Depot Cloud storage with minimal trust Prince Mahajan, Srinath Setty, Sangmin Lee, Allen Clement, Lorenzo Alvisi, Mike Dahlin, Michael Walfish The University of Texas at Austin Monday, October 11, 2010 Cloud storage is appealing CloudPic
Monday, October 11, 2010
( )
“add to album” “show album”
Prince Mike
PUT(k, ) GET(k)
Monday, October 11, 2010
( )
“add to album” “show album”
Prince Mike
PUT(k, ) GET(k)
Monday, October 11, 2010
Storage Provider
( )
Prince Mike
PUT(k, ) GET(k)
Monday, October 11, 2010
Storage Provider
( )
Prince Mike
Op1: “revoke Mike’ s access to album”
PUT(k, ) GET(k)
Monday, October 11, 2010
Storage Provider
( )
Prince Mike
Op1: “revoke Mike’ s access to album” Op2:“add to album”
PUT(k, ) GET(k)
Monday, October 11, 2010
Storage Provider
( )
“show album”
Prince Mike
Op1: “revoke Mike’ s access to album” Op2:“add to album”
PUT(k, ) GET(k)
Monday, October 11, 2010
Storage Provider
( )
“show album”
Prince Mike
Op1: “revoke Mike’ s access to album” Op2:“add to album”
PUT(k, ) GET(k)
Monday, October 11, 2010
Monday, October 11, 2010
Eliminates trust for PUT availability Eventual consistency Staleness detection Dependency preservation Minimizes trust for GET availability Durability
Monday, October 11, 2010
Eliminates trust for PUT availability Eventual consistency Staleness detection Dependency preservation Minimizes trust for GET availability Durability
Monday, October 11, 2010
Eliminates trust for PUT availability Eventual consistency Staleness detection Dependency preservation Minimizes trust for GET availability Durability
Monday, October 11, 2010
Eliminates trust for PUT availability Eventual consistency Staleness detection Dependency preservation Minimizes trust for GET availability Durability
Monday, October 11, 2010
Monday, October 11, 2010
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
GET(k)
( )
PUT(k, )
Storage Provider
Monday, October 11, 2010
Monday, October 11, 2010
All updates in u’ s History are also in local state
u is newer than any prior update by N
Monday, October 11, 2010
All updates in u’ s History are also in local state
u is newer than any prior update by N
Monday, October 11, 2010
Monday, October 11, 2010
Monday, October 11, 2010
Monday, October 11, 2010
Monday, October 11, 2010
Already possible due to decentralized server Applications built for high availability (such as Amazon S3) allow concurrent writes
GET returns set of most recent concurrent updates
Monday, October 11, 2010
Monday, October 11, 2010
Monday, October 11, 2010
Dimension Safety/ Liveness Property Correct Nodes Required Consistency Safety Safety Safety Fork-Join Causal Bounded Staleness Eventual Consistency (s) Any Subset Any Subset Any Subset Availability Liveness Liveness Liveness Liveness Eventual consistency (l) Always write Always exchange Read availability/ durability Any Subset Any Subset Any Subset A correct node has data Integrity Safety Only auth. PUT Any Subset Eviction Safety Valid eviction Any Subset
Monday, October 11, 2010
Data can safely flow via any path If any correct node has data, GET eventually succeeds
SSP replicates to multiple servers Additional replication to protect against total SSP failure
Monday, October 11, 2010
Client that issues PUT keeps copy of data Gossiped update metadata sufficient to route GET requests when SSP unavailable
Private cloud storage node (e.g., Eucalyptus/Walrus) Another external SSP
Monday, October 11, 2010
5 10 15 20 25 30 35 100 200 300 400 500 600 Staleness (sec) Time (sec) Depot SSP
Monday, October 11, 2010
Monday, October 11, 2010
Compare GET and PUT latencies
Processing (client and server) Network (client-server and server-server) Storage (client and server)
Weighted Processing + Network + Storage
Monday, October 11, 2010
Monday, October 11, 2010
Monday, October 11, 2010
8 clients + 4 servers
Quad core Intel Xeon X3220 2.40 GHz processor 8 GB RAM two local 7200 RPM disk
1 Gbps link
Measure latency, per-request cost
Servers implemented Depot without any checks Clients don’ t receive any metadata
Monday, October 11, 2010
5 10 15 GET (10KB) PUT (10KB) Latency (ms) Base Base + Hash Base + Hash + Sign Depot
Monday, October 11, 2010
0.0 1.0 2.0 3.0 NW (C-S) (KB) CPU (C) (ms) CPU (S) (ms) Cost/(Depot Cost) Base B + Hash B + H + Sign Depot
Monday, October 11, 2010
E.g. Storage(S), NW(S-S)
0.0 1.0 2.0 3.0 NW (C-S) (KB) Stor/Ver (C) (KB) CPU (C) (ms) CPU (S) (ms) Cost/(Depot Cost) Base B + Hash B + H + Sign Depot
Monday, October 11, 2010
Monday, October 11, 2010
50 100 150 200 250 GET (TB) PUT (TB) Store (TB-mo.) Cost ($/TB) Base B + Hash B + H + Sign Depot
Monday, October 11, 2010
SUNDR [Li et al. OSDI 2004] BFT2F [Li and Mazieres NSDI 2007] SPORC [Feldman et al. OSDI 2010] Venus [Shraer et al. CCSW 2010]
BQS [Malkhi and Reiter Dist. Comp. 1998] PBFT [Castro and Liskov TOCS 2002] Q/U [El-Malek et al. SOSP 2005] HQ [Cowling and Liskov OSDI 2006] Zyzzyva [Kotla et al. SOSP 2007]
Monday, October 11, 2010
Any node could fail in any way Eliminate trust for consistency, staleness, update exchange, eviction, ...
Any subset of correct clients get these properties
Minimize trust for GET availability, durability
GET succeeds if any correct, reachable node has data Protocol hooks to make this likely
Monday, October 11, 2010