This preview shows pages 1–6. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full DocumentThis preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Chapter 3: Logical Time Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press A. Kshemkalyani and M. Singhal (Distributed Computing) Logical Time CUP 2008 1 / 67 Distributed Computing: Principles, Algorithms, and Systems Introduction The concept of causality between events is fundamental to the design and analysis of parallel and distributed computing and operating systems. Usually causality is tracked using physical time. In distributed systems, it is not possible to have a global physical time. As asynchronous distributed computations make progress in spurts, the logical time is sufficient to capture the fundamental monotonicity property associated with causality in distributed systems. A. Kshemkalyani and M. Singhal (Distributed Computing) Logical Time CUP 2008 2 / 67 Distributed Computing: Principles, Algorithms, and Systems Introduction This chapter discusses three ways to implement logical time  scalar time, vector time, and matrix time. Causality among events in a distributed system is a powerful concept in reasoning, analyzing, and drawing inferences about a computation. The knowledge of the causal precedence relation among the events of processes helps solve a variety of problems in distributed systems, such as distributed algorithms design, tracking of dependent events, knowledge about the progress of a computation, and concurrency measures. A. Kshemkalyani and M. Singhal (Distributed Computing) Logical Time CUP 2008 3 / 67 Distributed Computing: Principles, Algorithms, and Systems A Framework for a System of Logical Clocks Definition A system of logical clocks consists of a time domain T and a logical clock C . Elements of T form a partially ordered set over a relation < . Relation < is called the happened before or causal precedence . Intuitively, this relation is analogous to the earlier than relation provided by the physical time. The logical clock C is a function that maps an event e in a distributed system to an element in the time domain T , denoted as C( e ) and called the timestamp of e , and is defined as follows: C : H mapsto T such that the following property is satisfied: for two events e i and e j , e i e j = C( e i ) < C( e j ). A. Kshemkalyani and M. Singhal (Distributed Computing) Logical Time CUP 2008 4 / 67 Distributed Computing: Principles, Algorithms, and Systems A Framework for a System of Logical Clocks This monotonicity property is called the clock consistency condition . When T and C satisfy the following condition, for two events e i and e j , e i e j C( e i ) < C( e j ) the system of clocks is said to be strongly consistent . Implementing Logical Clocks Implementation of logical clocks requires addressing two issues: data structures local to every process to represent logical time and a protocol to update the data structures to ensure the consistency condition....
View
Full
Document
This note was uploaded on 02/23/2012 for the course COMP 553 taught by Professor Ajay during the Spring '12 term at Ill. Chicago.
 Spring '12
 Ajay
 Algorithms, Distributed Computing

Click to edit the document details