ABSTRACT
Practical algorithms for determining causality by assigning timestamps to events have focused on online algorithms, where a permanent timestamp is assigned to an event as soon as it is created. We address the problem of reducing size of the timestamp by utilizing the underlying topology (which is often not fully connected since not all processes talk to each other) and deferring the assignment of a timestamp to an event for a suitably chosen period of time after the event occurs. Specifically, we focus on inline timestamps, which are a generalization of offline timestamps that are assigned after the computation terminates. We show that for a graph with vertex cover VC, it is possible to assign inline timestamps which contains only 2|VC|+2 elements.
By contrast, if online timestamps are desired, then even for a star network, vector timestamp of length n (for the case of integer elements) or n-1 (for the case of real-valued elements) is required. Moreover, in addition to being efficient, the inline timestamps developed can be used to solve typical problems such as predicate detection, replay, recovery that are solved with vector clocks.
- Paulo Sérgio Almeida, Carlos Baquero, Ricardo Gonçalves, Nuno Preguiça, and Victor Fonte. 2014. Scalable and Accurate Causality Tracking for Eventually Consistent Stores. Springer Berlin Heidelberg, Berlin, Heidelberg, 67--81. x978--3--662--43352--2 http://dx.doi.org/10.1007/978--3--662--43352--2_6Google Scholar
- Bernadette Charron-Bost. 1991. Concerning the Size of Logical Clocks in Distributed Systems. Inf. Process. Lett. 39, 1 (1991), 11--16. http://dx.doi.org/10.1016/0020-0190(91)90055-M Google ScholarDigital Library
- Himanshu Chauhan, Vijay K. Garg, Aravind Natarajan, and Neeraj Mittal. 2013. A Distributed Abstraction Algorithm for Online Predicate Detection. In IEEE 32nd Symposium on Reliable Distributed Systems, SRDS 2013, Braga, Portugal, 1--3 October 2013. IEEE Computer Society, 101--110. http://dx.doi.org/10.1109/SRDS.2013.19 Google ScholarDigital Library
- George Coulouris, Jean Dollimore, Tim Kindberg, and Gordon Blair. 2011. Distributed Systems: Concepts and Design (5th ed.). Addison-Wesley Publishing Company, USA. x0132143011, 9780132143011Google ScholarDigital Library
- Jiaqing Du, Sameh Elnikety, Amitabha Roy, and Willy Zwaenepoel. 2013. Orbe: Scalable Causal Consistency Using Dependency Matrices and Physical Clocks. In Proceedings of the 4th Annual Symposium on Cloud Computing (SOCC '13). ACM, New York, NY, USA, Article 11, 14 pages. x978--1--4503--2428--1 http://dx.doi.org/10.1145/2523616.2523628 Google ScholarDigital Library
- Jiaqing Du, Calin Iorgulescu, Amitabha Roy, and Willy Zwaenepoel. 2014. Gentlerain: Cheap and scalable causal consistency with physical clocks. In Proceedings of the ACM Symposium on Cloud Computing. ACM, 1--13. Google ScholarDigital Library
- C. J. Fidge. 1989. Partial Orders for Parallel Debugging. Proceedings of the ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, published in ACM SIGPLAN Notices 24, 1 (Jan. 1989), 183--194. Google ScholarDigital Library
- Colin J. Fidge. 1991. Logical Time in Distributed Computing Systems. IEEE Computer 24, 8 (1991), 28--33. http://dx.doi.org/10.1109/2.84874 Google ScholarDigital Library
- Vijay K. Garg and Chakarat Skawratananond. 2001. String realizers of posets with applications to distributed computing. In Proceedings of the Twentieth Annual ACM Symposium on Principles of Distributed Computing, PODC 2001, Newport, Rhode Island, USA, August 26--29, 2001. 72--80. http://dx.doi.org/10.1145/383962.383988 Google ScholarDigital Library
- Vijay K. Garg and Chakarat Skawratananond. 2002. Timestamping Messages in Synchronous Computations. In ICDCS. 552--559. http://dx.doi.org/10.1109/ICDCS.2002.1022305 Google ScholarCross Ref
- Vijay K. Garg, Chakarat Skawratananond, and Neeraj Mittal. 2007. Timestamping messages and events in a distributed system using synchronous communication. Distributed Computing 19, 5--6 (2007), 387--402. http://dx.doi.org/10.1007/s00446-006-0018--5Google ScholarDigital Library
- Sandeep S Kulkarni, Murat Demirbas, Deepak Madappa, Bharadwaj Avva, and Marcelo Leone. 2014. Logical physical clocks. In International Conference on Principles of Distributed Systems. Springer, 17--32.Google ScholarCross Ref
- Rivka Ladin, Barbara Liskov, Liuba Shrira, and Sanjay Ghemawat. 1992. Providing High Availability Using Lazy Replication. ACM Trans. Comput. Syst. 10, 4 (1992), 360--391. http://dx.doi.org/10.1145/138873.138877 Google ScholarDigital Library
- Leslie Lamport. 1978. Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21, 7 (\ 1978), 558--565.Google Scholar
- Friedemann Mattern. 1988. Virtual Time and Global States of Distributed Systems. In Parallel and Distributed Algorithms. North-Holland, 215--226.Google Scholar
- F. Mattern. 1989. Virtual time and global states of distributed systems. In Parallel and Distributed Algorithms: Proc. of the International Workshop on Parallel and Distributed Algorithms. Elsevier Science Publishers B.V. (North-Holland), 215--226.Google Scholar
- Sigurd Meldal, Sriram Sankar, and James Vera. 1991. Exploiting Locality in Maintaining Potential Causality. In Proceedings of the Tenth Annual ACM Symposium on Principles of Distributed Computing, Montreal, Quebec, Canada, August 19--21, 1991. 231--239. http://dx.doi.org/10.1145/112600.112620 Google ScholarDigital Library
- Luís E. T. Rodrigues and Paulo Veríssimo. 1995. Causal Separators for Large-Scale Multicast Communication. In ICDCS. Google ScholarCross Ref
- Reinhard Schwarz and Friedemann Mattern. 1994. Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail. Distributed Computing 7, 3 (1994), 149--174. http://dx.doi.org/10.1007/BF02277859 Google ScholarDigital Library
- Min Shen, Ajay D. Kshemkalyani, and Ashfaq A. Khokhar. 2013. Detecting Unstable Conjunctive Locality-Aware Predicates in Large-Scale Systems. In IEEE 12th International Symposium on Parallel and Distributed Computing, ISPDC 2013, Bucharest, Romania, June 27--30, 2013. 127--134. http://dx.doi.org/10.1109/ISPDC.2013.25 Google ScholarCross Ref
- Mukesh Singhal and Ajay D. Kshemkalyani. 1992. An Efficient Implementation of Vector Clocks. Inf. Process. Lett. 43, 1 (1992), 47--52. http://dx.doi.org/10.1016/0020-0190(92)90028-T Google ScholarDigital Library
- Francisco J. Torres-Rojas and Mustaque Ahamad. 1999. Plausible Clocks: Constant Size Logical Clocks for Distributed Systems. Distrib. Comput. 12, 4 (Sept. 1999), 179--195. 0178--2770 http://dx.doi.org/10.1007/s004460050065 Google ScholarDigital Library
- Nitin H. Vaidya and Sandeep S. Kulkarni. 2016. Efficient Timestamps for Capturing Causality. CoRR abs/1606.05962 (2016). http://arxiv.org/abs/1606.05962Google Scholar
- Paul A. S. Ward and David J. Taylor. 2001. Self-Organizing Hierarchical Cluster Timestamps. In Proceedings of the 7th International Euro-Par Conference Manchester on Parallel Processing (Euro-Par '01). Springer-Verlag, London, UK, UK, 46--56. x3--540--42495--4 http://dl.acm.org/citation.cfm?id=646666.699445Google Scholar
- M. Zawirski, N. Preguica, S. Duarte, A. Bieniusa, V. Balegas, and M. Shapiro. 2015. Write Fast, Read in the Past: Causal Consistency for Client-Side Applications. In ACM Middleware, Vancouver. https://pages.lip6.fr/Marc.Shapiro/papers/write-fast-read-past-middleware-2015.pdfGoogle Scholar
Index Terms
- Effectiveness of Delaying Timestamp Computation
Recommendations
Achieving Causality with Physical Clocks
ICDCN '22: Proceedings of the 23rd International Conference on Distributed Computing and NetworkingPhysical clocks provide more precision than applications can use. For example, a 64 bit NTP clock allows a precision of 233 picoseconds. In this paper, we focus on whether the least significant bits that are not useful to the applications could be used ...
On reducing the complexity of matrix clocks
Matrix clocks are a generalization of the notion of vector clocks that allows the local representation of causal precedence to reach into an asynchronous distributed computation's past with depth x, where x ≥ 1 is an integer. Maintaining matrix clocks ...
Timestamping messages and events in a distributed system using synchronous communication
Determining order relationship between events of a distributed computation is a fundamental problem in distributed systems which has applications in many areas including debugging, visualization, checkpointing and recovery. Fidge/Mattern's vector-clock ...
Comments