DCV: A Causality Detection Approach for Large- scale Dynamic Collaboration Environments Jiang-Ming Yang Microsoft Research Asia Ning Gu, Qi-Wei Zhang,

Slides:



Advertisements
Similar presentations
TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Advertisements

1 ZonicBook/618EZ-Analyst Resonance Testing & Data Recording.
1 Concurrency: Deadlock and Starvation Chapter 6.
AP STUDY SESSION 2.
1
Feichter_DPG-SYKL03_Bild-01. Feichter_DPG-SYKL03_Bild-02.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Chapter 1 The Study of Body Function Image PowerPoint
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
Objectives: Generate and describe sequences. Vocabulary:
UNITED NATIONS Shipment Details Report – January 2006.
We need a common denominator to add these fractions.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Properties of Real Numbers CommutativeAssociativeDistributive Identity + × Inverse + ×
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Year 6 mental test 10 second questions
Excel Functions. Part 1. Introduction 2 An Excel function is a formula or a procedure that is performed in the Visual Basic environment, outside the.
1. 2 Objectives Become familiar with the purpose and features of Epsilen Learn to navigate the Epsilen environment Develop a professional ePortfolio on.
Solve Multi-step Equations
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
Advance Nano Device Lab. Fundamentals of Modern VLSI Devices 2 nd Edition Yuan Taur and Tak H.Ning 0 Ch9. Memory Devices.
PP Test Review Sections 6-1 to 6-6
ABC Technology Project
EU market situation for eggs and poultry Management Committee 20 October 2011.
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
2 |SharePoint Saturday New York City
Green Eggs and Ham.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
VOORBLAD.
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
© 2012 National Heart Foundation of Australia. Slide 2.
Universität Kaiserslautern Institut für Technologie und Arbeit / Institute of Technology and Work 1 Q16) Willingness to participate in a follow-up case.
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
25 seconds left…...
Januar MDMDFSSMDMDFSSS
Analyzing Genes and Genomes
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
Intracellular Compartments and Transport
PSSA Preparation.
VPN AND REMOTE ACCESS Mohammad S. Hasan 1 VPN and Remote Access.
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
1 Chapter 13 Nuclear Magnetic Resonance Spectroscopy.
Energy Generation in Mitochondria and Chlorplasts
Murach’s OS/390 and z/OS JCLChapter 16, Slide 1 © 2002, Mike Murach & Associates, Inc.

Presentation transcript:

DCV: A Causality Detection Approach for Large- scale Dynamic Collaboration Environments Jiang-Ming Yang Microsoft Research Asia Ning Gu, Qi-Wei Zhang, Jiang-Ming Yang and Wei Ye Fudan University

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Discussion Future Work 2

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Discussion Future Work 3

Group Editors Enable a group of users to view and edit a same document simultaneously from geographically dispersed sites connected by communication networks 4

Wiki A wiki is such a website every visitor is allowed and able to add new pages to it, remove existing pages, or otherwise edit and change the content of existing pages Wiki is becoming more and more popular, as a novel and convenient collaboration medium Samples: Wikipedia, WikiNews, WikiTravel, etc Adapting existing single-user wiki page editors to full- replicated group editors. 5

Realtime group editing in Wiki: The Problems The collaborative environments in wikis are typically large-scale and dynamic collaboration environments. Large number of participants Highly dynamic Unreliable 6

Existing solutions : Vector timestamp Traditional vector logical clock timestamp Each item corresponds to a collaboration participant, and records the number of operations generated by that participant that are causally preceding O. causal relationship between any two operations can be easily determined Size of vector logical clock linearly depends on the number of participants 7

Existing solutions : Dynamic timestamp Using associative vectors indexed by participant identifier, thus allowing the system to dynamically add new timestamp items or discard old timestamp items during the collaboration session. Creating vector items just for those participants who have written. if some participants midway leave the collaboration session, watching their corresponding timestamp items and removing them once they have become insignificant. 8

Existing solutions : Vector compression Related Works Sun-Cai approach, NICE approach Single-point failure. Have an adverse impact on conflict handle. SOCK4, TIBOT Cooperating sites must be well-connected. The communication channels among them must be stable and reliable. Also have adverse impacts on conflict handle. 9

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Discussion Future Work 10

Causal Vector Causal Relation (->) Given two operations O a and O b, O a ->O b iff: O a and O b are generated at a same site, and the generation of O a happened before O b O a and O b are generated at different sites i and j, and the execution of O a at site j happened before the generation of O b There exists an operation O x, such that O a ->O x and O x ->O b 11

Causality Preservation o 11, o 21 and o 31 are concurrent with each other. o 12 is causally dependent on three operations o 11, o 21 and o 31. o 22 is causally dependent on four operations o 11, o 21, o 31 and o 12. o 32 is only causally dependent on o 31 12

Direct Causal Relation Direct Causal Relation ( ) Given two operations O a and O b, O a O b iff: Oa -> Ob And there exists no operation Ox satisfying O a ->O x and O x ->O b 13

Causality Preservation o 12 is direct causally dependent on three operations o 11, o 21 and o 31. o 22 is direct causally dependent on o 12. o 32 is direct causally dependent on o 31 14

Direct Causal Vector(DCV) Given an operation O {O 1, O 2, …, O k } O O 1 (s 1, n 1 ), …, O k (s k, n k ), DCV(O)=[(s 1, n 1 ), (s 2, n 2 ), …, (s k, n k )] The direct causal vector of o 11, o 21, o 31, o 12, o 22 and o 32 is [ ], [ ], [ ], [(1, 1), (2, 1), (3, 1)], [(1, 2)] and [(1, 3)] respectively. Given two operations, their direct causal relationship can be determined directly from their direct causal vectors Give two operations O a and O b, O a O b iff there exists an item for O a in DCV(O b ) 15

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Discussion Future Work 16

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Causality Preservation Concurrent Separation Causality Cache Discussion Future Work 17

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Causality Preservation Concurrent Separation Causality Cache Discussion Future Work 18

Causality Preservation Problem Description: Given an unexecuted remote operation, how to determine whether all the operations causally preceding it have already been executed? Solution: Given a remote operation O, suppose all the operations executed before respect their causal order. O is causally ready iff all the operations causally precede o directly have already been executed. 19

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Causality Preservation Concurrent Separation Causality Cache Discussion Future Work 20

Concurrent Separation Problem Description: Given an unexecuted remote operation O r that is causally ready, how to separate all the history operations that are concurrent to it from the operation history? Solution: Suppose there are two operation O a and O b in history, O a ->O b, it will not check O a until O b is proved to be concurrent with O r do not check a history operation until all the history operations that are causally dependent on it have been proved to be concurrent with O r When checking a operation O h, O h is concurrent to O r iff not O h O r There is no operation O x, which satisfy O h ->O x ->O r 21

Concurrent Separation Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. O 32 and O 22 is checked first, because there is no other history operation causally depends on them. O 22 is proved to be concurrent with O

Concurrent Separation Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. O 32 and O 22 is checked first, because there is no other history operation causally depends on them. O 22 is proved to be concurrent with O 41. O 12 is checked in the second round, it is proved to be concurrent with O

Concurrent Separation Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. O 32 and O 22 is checked first, because there is no other history operation causally depends on them. O 22 is proved to be concurrent with O 41. O 12 is checked in the second round, it is proved to be concurrent with O 41. Now, O 11 and O 21 is ready to be checked, and O 21 can be determined concurrent with O 41 24

Concurrent Separation Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. 25

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Causality Preservation Concurrent Separation Causality Cache Discussion Future Work 26

Causality Cache Problem Description: How to determine the causal relationship between two arbitrary operations in the operation history? Solution: Every time before executing a remote operation O r, all the earlier executed operations that are concurrent with it are separated out in set SC r in advance. Cache this result for future use. If there are more than one operations in SC r that are generated at a same cooperating site, just keep the earliest generated one. 27

Causality Cache Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. There are three operations concurrent with O 41 O 12, O 21, O 22 28

Causality Cache Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. Two Groups based on their site Site-1 : O 12 Site-2 : O 21, O 22 29

Causality Cache Suppose a remote operation O 41 is received at site 3 shortly after the execution of o 22 on that site. DCV(O 41 )= [(1, 1), (3, 2)]. Catch={O 12, O 21 } Site-1 : O 12 Site-2 : O 21, O 22 O 21 Catch => O 21 ||O 41 => O 22 ||O 41 30

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Discussion Future Work 31

Disscussion After a person leave the collaboration session, the size of direct causal vector timestamp of later generated operations will automatically shrink. 32

Disscussion Feature of DCV approach The size of direct causal vector timestamp of an operation O approximates the number of participants active at editing the shared object recently before the generation of operation O. It is not pre-allocated for each potential participants an item in the direct causal vector timestamp. After a person leave the collaboration session, the size of direct causal vector timestamp of later generated operations will automatically shrink. The time complexity, storage complexity of our algorithms also just linearly depends on the number of collaboration participants that are currently active at editing. DCV approach is much more scalable. It is not rely on a stable network. And it has no constraint on users collaboration mode. 33

Agenda Introduction Direct Causal Vector Timestamp (DCV) Causality Detection Algorithms Discussion Future Work 34

Future Work Compression of Direct Causal Vector in highly active large- scale collaboration environments Experiments of the effects …… 35

36 Thanks!