reliable byzantine storage - technion - electrical...

46
Reliable Distributed Storage A Research Perspective Idit Keidar Technion

Upload: lyphuc

Post on 26-Jun-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Reliable Distributed StorageA Research Perspective

Idit KeidarTechnion

Page 2: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

UnDistributed Enterprise Storage(What I Won’t Talk About Today)• Expensive• Needs to be replaced to

scale up• Direct fiber access

– But trouble if multiple machines access same data

– Use server (bottleneck)or High-Availability Cluster

• Maybe bullet-proof– But single-point-of-failure – Get Disaster Recovery solution

Idit Keidar SYSTOR'10 2

Page 3: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Alternatives to Enterprise Storage(I’ll Talk About Today)1. Distributed Storage

Made up of many cheap, low-reliabilitystorage nodes

– Achieving reliability, consistency– The reconfiguration challenge

2. Cloud Storage– Can we trust the cloud to ensure

reliability and consistency?

Google’s 1st server

Idit Keidar SYSTOR'10 3

Page 4: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

A Short Introduction toReliable Distributed Storage

Chockler, Guerraoui, Keidar, Vukolic: Reliable Distributed Storage, IEEE Computer 2009

Page 5: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Distributed Storage Architecture

Cloud Storage

LAN/ WAN

Storage Nodes (Servers)

Storage Clients

Idit Keidar SYSTOR'10 5

Dynamic, Fault-prone

Fault-prone

readwrite

“Faults are the norm, not the exception”

Page 6: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Getting Fault-Tolerance

• Replication– Multiple copies (e.g., 3) of each data item– Copies on distinct storage nodes

• Disaster recovery– Copies geographically dispersed

Idit Keidar SYSTOR'10 6

Page 7: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Consistency

• Need to ensure that updates are reflected consistently in all copies

• Consistency means atomic operations

• Need Replica Coordination!Idit Keidar SYSTOR'10 7

Storage Service

read x

Should return “Cameron”

write x “Cameron”

Page 8: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

A Case for Data-CentricReplica Coordination• Client-side code runs coordination logic

– Communicates with multiple storage nodes– May be in middleware tier

• Simple storage nodes (servers)– Can be network-attached disks Not necessarily PCs with disks

– Simply respond to client requests High throughput

– Do not communicate with each other No scalability limit

Idit Keidar SYSTOR'10 8

not-so-thinclient

thin storage

node

Page 9: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

High Availability and Asynchrony

• Replication allows for high availability • Client operations do not need to wait for

all replicas• Asynchronous communication

Idit Keidar SYSTOR'10 9

Delay on networkor device

Page 10: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Two Copies Are Not EnoughWith Asynchronous Communication

• Need to access a majority of copies– Service availability: when < half the copies fail

Idit Keidar SYSTOR'10 10

X = “Cameron” X = “Brown”

read x

Returns “Brown”!

write x “Cameron”

Page 11: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

A Simple Reliable Distributed Storage Algorithm• A-la ABD [Attiya, Bar-Noy, Dolev JACM 1995]

Idit Keidar SYSTOR'10 11

X = “Cameron”, 2X = “Brown”, 1

write x “Cameron”

read x

X = “Cameron”, 2X = “Brown”, 1 X = “Brown”, 1

Store timestampwith data

Store timestampwith data

Store sequence#with data

Contact 3 storage nodes holding copies of x, wait for 2 to respond

Page 12: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

A Simple Reliable Distributed Storage Algorithm (Cont’d)• Need to read before writing

– To choose sequence#

• May need to write-back after reading– So next reader doesn’t see older value (see paper)

Idit Keidar SYSTOR'10 12

Read phase Write (-back) phase

Page 13: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Many Variants and Extensions in The Literature• Implementations, system optimizations

– FAB (HP Labs), Ursa Minor (CMU)– May use erasure-coding instead of full replicas

to reduce storage blow-up

• Tolerating malicious faults, bugs, “Byzantine” faultsMalkhi, Reiter: Byzantine Quorum Systems Abraham, Chockler, Keidar, Malkhi: Byzantine Disk Paxos

Idit Keidar SYSTOR'10 13

Page 14: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Outline

1. Distributed Storage Made up of many cheap, low-reliability

storage nodes– Achieving reliability, consistency– The reconfiguration challenge

2. Cloud Storage– Can we trust the cloud to ensure

integrity and consistency?

Idit Keidar SYSTOR'10 14

Page 15: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Dynamic (Reconfigurable)Distributed Storage

Aguilera, Keidar , Malkhi, Shraer: Dynamic Atomic Storage Without Consensus, PODC’09

Shraer, Martin, Malkhi, Keidar: Data-Centric Reconfiguration with

Network-Attached Disks

Page 16: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Real Systems Are Dynamic

Idit Keidar SYSTOR'10 16

LAN/ WAN

reconfig{–A, –B}

A

B CD

E

reconfig {–C, +F,…, +I}

F

G

I

H

Reconfiguration essential for long-term availabilityThe challenge: maintain consistency, reliability

Page 17: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Pitfall of Naïve Reconfiguration

Idit Keidar SYSTOR'10 17

A

B

C

D{A, B, C, D}

{A, B, C, D}{A, B, C, D}

{A, B, C, D}

{A, B, C, D}

{A, B, C, D}

{A, B, C, D, E}

{A, B, C}

{A, B, C, D, E}

{A, B, C, D, E}

{A, B, C}

{A, B, C}

E

reconfig {+E}

reconfig {-D}

{A, B, C, D, E}

Page 18: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Returns “Brown”!

Pitfall of Naïve Reconfiguration

Idit Keidar SYSTOR'10 18

A

B

C

D{A, B, C, D, E}

{A, B, C}

{A, B, C, D, E}

{A, B, C, D, E}

{A, B, C}

{A, B, C}

E

write x “Cameron”

read x

{A, B, C, D, E}

X = Brown”, 1

X = “Brown”, 1

X = “Cameron”, 2

X = “Cameron”, 2

X = “Cameron”, 2

Shown in [Yeger-Lotem, Keidar, Dolev, PODC’97]

X = “Brown”, 1

X = “Brown”, 1

X = “Brown”, 1

Page 19: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Reconfiguration Option 1: Centralized

• Can be automatic – E.g., Ursa Minor [Abd-El-Malek et al., FAST 05]

• Single point of failure– What if manager crashes while changing the system?

• DowntimeIdit Keidar SYSTOR'10 19

Tomorrow Technion servers will be down for maintenance from 5:30am to 6:45am

Virtually Yours,Moshe Barak

Page 20: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Reconfiguration Option 2: Distributed Agreement• Initiator requests agreement on reconfiguration

from other storage nodes– Not data-centric

• Use consensus abstraction– Each node provides an input,

all non-crashed nodes decide on the same output (one of the inputs)

• In theory, might never terminate [FLP85]• In practice, we have partial synchrony so it

usually works

Idit Keidar SYSTOR'10 20

Page 21: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

A Theoretical Note

• This project started by trying to prove it• To this end, we looked for a specification of

service availability

Static(No Reconfiguration)

DynamicReconfiguration

Consensus Need partial synchrony[FLP85]

Partial synchrony

Atomic read/write object

Asynchronous solution [ABD95]

?Partial synchrony believed necessary

Idit Keidar SYSTOR'10 21

Page 22: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Problem with Typical Specs of Dynamic Systems’ Availability

Works if: Partial synchrony & All the majorities our algorithm uses at any given point in time are available

Page 23: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Service Progress Specs• Current config – at first, initial config• Faulty(t) – nodes that crashed by time t• Tracking changes due to reconfig

Condition for service availability: At any time t, fewer than |Current(t)|/2 nodesfrom Current(t) are in Faulty(t)

Idit Keidar SYSTOR'10 23

∪ AddPending(t) ∪ RemovePending(t)

Dynamic

reconfig {-C,+D} return ACK

C is in RemovePendingD is in AddPending C is out of Current

D is in Current

Page 24: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Dynamic Progress Specs: A Broader Look

• The specification is problem-independent– We used it for a read/write storage service– It would be interesting to use it for other

dynamic (reconfigurable) services

• We show that the progress condition is sufficient – Is it also necessary?

Idit Keidar SYSTOR'10 24

Page 25: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Reconfiguration Option 3: DynaStore

Idit Keidar SYSTOR'10 25

• Satisfy new definition of dynamic service availability

• 1st data-centric distributed reconfiguration– With thin storage nodes

• Is partial synchrony (consensus) necessary?

Page 26: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Tracking Evolving Config’s

• With consensus: agree on next reconfig

– Stored at storage nodes

• Without consensus:

Idit Keidar SYSTOR'10 26

A, B, C A,B,C,D+D − C

A,B

A, B, D

A, B, C

+D

+D − C

− C

A,B,C,D

A, B, D

Inconsistent updates later found and merged

Page 27: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

update( {+D} )

update( {-C} )

Tracking Config’s in DynaStore

• NextViews – Weak Snapshot object– Supports update() and scan()– All non-empty scans intersect– Asynchronous data-centric implementation (see papers)

Idit Keidar SYSTOR'10 27

A,B

A, B, C+D

− C

A,B,C,DNextViews

scan() returns {+D, -C}

scan() returns {+D}

Page 28: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

A Reliable Distributed Storage Algorithm

• If scan() finds multiple (concurrent) updates – read/write in all

Idit Keidar SYSTOR'10 28

Read phase Write (-back) phase

Dynamic(DynaStore)

Find updates

Find updates

scan() scan()

If new update(s)found, repeat

Page 29: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Consensus-Free Reconfiguration• It’s possible!

– Dynamic read/write objects “easier” than consensus– Works where consensus might not terminate

• But should you do it??• We experimented to

find out….

Idit Keidar SYSTOR'10 29Just because you can do it doesn’t mean you should

Page 30: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

The Stronger Progress Guarantees Are Not For Free

Idit Keidar SYSTOR'10 30

Consensus-based

Asynchronous

0

100

200

300

400

500

600

0 1 2 5ms.

Number of simultaneous reconfig operations

Average write latency

Asynchronous reconfig’sslow down read/write

Normal latency (no reconfigurations)

is the same

Page 31: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Reconfiguration Takeaways• Reconfiguration is subtle• Clean service availability definition enables

reasoning• Data-centric distributed reconfiguration is

possible with no down time • Theoretical angle:

Dynamism per se does not necessitate agreement

• Practical implication: Works in more circumstances → more robust

– But, at a costIdit Keidar SYSTOR'10 31

Page 32: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Outline

1. Distributed Storage Made up of many cheap, low-reliability

storage nodes– Achieving reliability, consistency– The reconfiguration challenge

2. Cloud Storage– Can we trust the cloud to ensure

reliability and consistency?

Idit Keidar SYSTOR'10 32

Page 33: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Can We Trust The Cloud With Reliability & Consistency?

Sorftware bugs, hardware malfunction, network partition, misconfiguration, hacker attack, provider outsources to save money, ....

Idit Keidar SYSTOR'10 33

Amazon S3, 2008, silent data corruption:

“We’ve isolated this issue to a single load balancer … under load, it was corrupting single bytes in the byte stream...”

Cachin, Keidar, Shraer: Trusting the Cloud, SIGACT News 2009

Page 34: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Verification for Untrusted Cloud Storage

Cachin, Keidar, Shraer:Fail-Aware Untrusted Storage, DSN’09

Shraer, Cachin, Cidon, Keidar, Michalevsky, Shaket:Venus: Verification for Untrusted Cloud Storage

Page 35: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Our GoalGuarantee reliability and consistency

to users of cloud storage & detect failures

Idit Keidar SYSTOR'10 35

Page 36: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Strong Consistency?

• Impossible to guarantee strong consistency– Unless clients communicate directly to complete each

operation…

• What can be guaranteed ?

Idit Keidar SYSTOR'10 36

X= X=write (X, “Cameron”)

X = Brown

“Cameron” “Brown”

ACKwrite x “Cameron”

read x

Page 37: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Eventual Consistency Semantics

• Client operations complete optimistically• Client notified when its operation is known to be

consistent– But may invoke other operations without waiting for

these notifications

• Semantics provided by distributed storage– Bayou (SOSP’95)– Today in commercial systems, e.g., Amazon’s

Dynamo (SOSP’07)

• Resembles Futures, Promises, etc.– Future<T>: result of an asynchronous computation

Idit Keidar SYSTOR'10 37

Page 38: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Venus Design Principles

1. Defenses should not affect normal case– Never block when storage is correct

2. Provide simple, meaningful semantics– Eventual consistency– Fail awareness – clients learn of every

consistency violation

3. Deploy on standard cloud storage– Our experiments use Amazon S3

Idit Keidar SYSTOR'10 38

Page 39: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Venus Architecture

Idit Keidar SYSTOR'10 39

Commodity Storage Service

Verifier

Venus client-side

library

Verfier may be hosted on cloud

Verfier may reside on LAN

Page 40: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Venus Availability

• Operations complete (optimistically) whenever the cloud is online

• Consistency notifications depend on other clients• Clients may crash, disconnect, but• Some clients are designated as “core” setCondition for availability:

Fewer than half the core set clientspermanently crash

Page 41: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Venus Basics

• Read/write data on commodity storage• Store meta-data (context info) on verifier

– Parallelized with data access

• Operations complete optimistically• Become green when consistent context

info is collected from majority of core set– Periodically retrieve context info from verifier

• If no new info for too long, contact other clients• If context is inconsistent, report error

Idit Keidar SYSTOR'10 41

Did core set

clients observe my op as I did ?

Page 42: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Toolbox• Clients sign all messages

– server can’t forge operations, just reorder & hide• Representation of operation context (V, M):

– V - vector clock– M - vector of aggregate history hashes

• If op1 is the last operation of client k that op2 observes,k-th entry stores hash of the history op2 is expected to have

• (V, M) pairs compared to determine if two ops are consistent

• Under the hood - “weak fork” consistency– Key to being non-blocking

• 12-Page correctness proofIdit Keidar SYSTOR'10 42

Page 43: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Venus for Amazon S3 vs. Raw S3

Idit Keidar SYSTOR'10 43

Page 44: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Conclusions: Distributed Storage• There are alternatives to enterprise storage

– Built from cheap components or pay-as-you-go cloud storage

• There are challenges– Fault-tolerance– Consistency– Availability

• But there are also solutions– I covered only a few of them today

• Early adopters: companies with big data centers• Will they become mainstream?

Idit Keidar SYSTOR'10 44

Page 45: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Computing Predictions &Trends• In 1950s Asimov stories:

– Multivac supercomputer, 100 sq. miles• Mocked for decades

– As ICs became smaller and smaller• And now?

Idit Keidar SYSTOR'10 45

Page 46: Reliable Byzantine Storage - Technion - Electrical ...webee.technion.ac.il/~idish/ftp/SYSTOR10-Keynote-Storage.pdf · UnDistributed Enterprise Storage ... Byzantine Quorum Systems

Thanks!Alex Shraer

Marcos Aguilera, Christian Cachin, Asaf Cidon, Gregory Chockler, Rachid Guerraoui, Dahlia Malkhi, J-P. Martin, Yan Michalevsky, Dani Shaket, Marko Vukolic

http://webee.technion.ac.il/~idish

Idit Keidar SYSTOR'10 46