lock-free consistency control for web 2.0 applications jiang-ming yang, hai-xun wang, ning gu,...

Post on 27-Mar-2015

218 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Lock-Free Consistency Control for Web 2.0 ApplicationsJiang-Ming Yang, Hai-Xun Wang, Ning Gu, Yi-Ming Liu,

Chun-Song Wang, Qi-Wei Zhang

25 April 2008

Outline

• Motivation & Challenges• Problem Setting• Our Solutions• Experiments• Conclusions

Outline

• Motivation & Challenges• Problem Setting• Our Solutions• Experiments• Conclusions

Motivation

• Single Site

Motivation

• Multiple Mirror Site

Challenges

?

?

• How to merge the conflicts in Multiple Mirror Site for Web 2.0 Application?

Outline

• Motivation & Challenges• Problem Setting• Our Solutions• Experiments• Conclusions

Problem Setting

• Data shared in mirrored sites can be in varied forms. Here, we assume the shared data on mirrored sites are XML documents.

• Consequently, operations on the data are expressed by XML queries and updates.

Problem Setting<Root>

<book @title="Introduction to Algorithm"> <category>CS</category> <tag>Hot</tag>

</book> <book @title="Advanced Statistical Learning">

<category>UnKnow</category> </book> <book @title="Linear Algebra">

<category>Math</category> </book>

</Root>

Problem Setting

• CAUSAL RELATIONSHIPS

• TRANSACTIONS

• CONCURRENT OPERATIONS (Lock Free)

Problem Setting

• CAUSAL RELATIONSHIPSU1

Change the title “Advanced Statistical Learning” to “Statistical Learning”.

U2

Set the category of the “Statistical Learning” book to “Math”.

Problem Setting

• TRANSACTIONS

– Using transaction model to execute some critical operations

– Should be executed serialized with others

Problem Setting

• CONCURRENT OPERATIONSU3

Add a “Discount” tag to books in “Math” category.

U4

Set the category of the “Linear Algebra” book to “CS”.

Outline

• Motivation & Challenges• Problem Setting• Our Solutions– Causality Preservation– Transaction– Consistency Control

• Experiments• Conclusions

Causality Preservation• Definition. (Causal Ordering Relation “→”). Given two operations Oa and Ob from

local replica sites i and j respectively, we have Oa → Ob, if and only if (1) i = j, and Oa is generated before Ob is generated; (2) i ≠ j, and Oa is executed on site j before Ob is generated; (3) there exists an operation Ox, such that Oa → Ox and Ox → Ob.

• Definition.(Concurrent Relation “ ”). Given two operations Oa and Ob, we say Oa and Ob are concurrent or Oa Ob iff neither Oa → Ob, nor Ob → Oa.

Causality Preservation

• Vector based Timestamp– SV = <SV1, SV2, . . . , SVn>

– Both for Site & operation

• Definition. (Execution Condition). Operation O (from site i) is causally ready for execution at site j (i ≠ j) if the following conditions are satisfied: (in reference [6, 14])– SVO [i] = SVj[i] + 1

– SVO [k] ≤ SVj [k], for all 1 ≤ k ≤ N and k ≠ i.

Transaction

• The transaction model is introduced to achieve concurrent transparency

• Definition. (Serialized Transaction). Let T be a transaction, and O be an operation (O may or may not be a transaction). Transaction T is a serialized transaction only if either O is executed before T in all sites, or O is executed after T in all sites.

Transaction

• O1 → NOOP1 → O3 and O2 → NOOP2 → O4

Transaction• Definition. (TOrder: total order for transactions). It’s a logical order

among transactions : T1 T≺ 2 T≺ 3 … T≺ ≺ n.

Consistency Control – Basic Idea

Consistency Control - Operation

• XPath : /root/book

• XQuery & XUpdateFOR $title in /root//title

$category = $book/categoryWHERE $title = "Advanced Statistical Learning"..

Consistency Control – Storage Model

Consistency Control – Storage Model

Consistency Control – Storage Model

Consistency Control - Query Process

• It is clear that there is no overlap in their timestamps, and at any time only one of them is valid.

• In general, only nodes whose timestamp (tcreate, tdelete) satisfies t (t∈ create, tdelete) are valid at t.

Consistency Control - Query Process

Consistency Control – Size of OHL

• In our approach, we store operations in an Operation History List (OHL).

• Each time a replica receives a new remote operation, it will update OHL.

• When an operation is executed on all replicas, it will be removed from OHL and its related state information will be removed from the inverted list.

Outline

• Motivation & Challenges• Problem Setting• Our Solutions• Experiments• Conclusions

Experiments

Experiments

Experiments

Outline

• Motivation & Challenges• Problem Setting• Our Solutions• Experiments• Conclusions

Conclusions• We proposed a lock-free approach for

consistency maintance in Web 2.0 environment.– We do not use the locking mechanism, so concurrent

operations are executed as soon as possible upon their arrival with ensuring the convergence.

– We also support the transaction semantics for critical operations without using the locking mechanism relying on the causality preservation approach.

• Better load balance, high-speed access and shorter respond time

Thank You !

top related