Title: Hybrid Replication Protocols for Trading Constraint Consistency against Availability
1Hybrid Replication Protocols for Trading
Constraint Consistency against Availability
2Content
- Motivation
- Contribution
- Related Work
- System Characteristics
- Replication in DeDiSys
- Future Work
3Motivation
- DeDiSys objective Enhancing availability of
data-centric, distributed systems by relaxing
data integrity (constraint consistency) - Replication is used as a means to achieve
fault-tolerance - A plethora of replication protocols exist but
they do not support the trade-off constraint
consistency / availability
4My Contribution
- New replication protocols that support the
trade-off - constraint consistency / availability in
object-based, - data-centric distributed systems
5Consistency Types
- Replica consistency? defines correctness of
replicas - Concurrency consistency ? criterion for
concurrent access to a particular data item
(isolation) - Constraint consistency ? defines correctness of
the system state with respect to a set of data
integrity rules
6Related Work
- Replication protocols in general
- Replication protocols that support
- Trade-off replica consistency/availability
- Trade-off concurrency consistency/availability
- Other trade-offs e.g., performance/availability
7Related Work TACT
- H. Yu, A. Vahdat Design and Evaluation of a
Conit-Based Continuous Consistency Model for
Replicated Services. - TACT Tunable Availability/Consistency Tradeoffs
- Contribution continuous consistency model
- Replication system based on consistency units
(conits) - Conit logical consistency unit
- Applications impose consistency requirements on
conits - Consistency level of each conit is defined using
a simple set of metrics
8Related Work TACT (cont.)
- Numerical error limits difference (nr. of
writes) between observed value in a replica and
the ideal value - Order error limits amount of out-of-order
updates on a given replica - Staleness real-time bound on the delay of write
propagation among replicas
9Related Work TACT (cont.)
- Example Replicated bulletin board service
- (one conit covers all news messages)
- Numerical error bounds total number of messages
posted system-wide but not seen locally - Order error limits number of out of order
messages on a given replica - Staleness limits delay of messages
10Related Work TACT (cont.)
- Continuous scale of consistency values
- Replication system enforces that specified limits
are not exceeded - Similarity to DeDiSys fine-grained trade-off
consistency/availability - However, we aim at relaxing constraint
consistency rather than replica consistency
11Related Work Update Window Approach
- C. Zhang, Z. Zhang Trading Replication
Consistency for Performance and Availability An
Adaptive Approach. - Updates are locally applied and buffered till
update window is full - Update window size of queue of locally applied
updates - Updates are pushed to other replicas when queue
is full - Local replica is blocked until updates are
applied at all replicas
12Related Work Update Window Approach (cont.)
- Small size strong consistency, reduced
availability - Large size loose consistency, enhanced
availability - Contribution algorithm that adapts size of
update windows to optimize availability - Similarity to DeDiSys fine-grained trade-off
between consistency and availability - However, replica consistency is traded and not
constraint consistency
13System Characteristics
- Data-centric, object-based distributed systems
- Node and link failures, partitions
- Pause-crash behaviour
- LAN WAN, but leased lines with guaranteed
bandwidth (about 2MBit) - Number of nodes max. 30
14System Characteristics (cont.)
- Typical object size 5-12 kB
- Large number of objects (10000 1 million)
- Up to 20 objects accessed per second
- Write/read ratio 1/10
- Nested invocations
- Up to 10 of object invocations are remote
15Replication
- Distributed systems (objects) vs. databases (data
items) - Different replication models for both worlds
- Mapping not always possible
- Synchronous vs. asynchronous behaviour
- State transfer vs. operation transfer
16Replication Models for Distributed Systems
Intermediate models coordinator-cohort,
semi-active, ...
17Passive Replication Synchronous vs. Asynchronous
- Synchronous primary replies to client after all
backup replicas have been updated (blocking) - Asynchronous primary replies to client
immediately after request processing and
propagates updates afterwards (non-blocking)
18Operation Transfer vs. State Transfer
- Updates can be propagated using either operation
transfer or state transfer - State transfer if update message contains all
information to update replica unconditionally - Operation transfer if receiving replica has to
be read to perform update
19Operation Transfer vs. State Transfer
20Operation vs. State Transfer in DS
- Employee e new Employee()
- State transfer e.setSalary(2500)
- Operation transfer e.setSalary(e.getSalary()100)
21DeDiSys Approach
- Object replication
- Passive model
- Either operation transfer or state transfer
- (criterion state transfer time vs. time to
process operation) - Healthy periods synchronous replication
- Degraded periods asynchronous replication
- Reconciliation after rejoining of partitions
22Protocol Phases
Phase 1 healthy system
Phase 2 degradation
Phase 3 reconciliation
23Future Work
- Design of new protocols
- Simulations
- Proof of concept implementation (EJB)
- Assessment (comparison of protocols, technology
recommendations) - Publication (target conferences DOA, SRDS, DSN,
Middleware, ) - Writing the thesis