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 2: A Model of Distributed Computations Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press A. Kshemkalyani and M. Singhal (Distributed Computing) A Model of Distributed Computations CUP 2008 1 / 1 Distributed Computing: Principles, Algorithms, and Systems A Distributed Program A distributed program is composed of a set of n asynchronous processes, p 1 , p 2 , ..., p i , ..., p n . The processes do not share a global memory and communicate solely by passing messages. The processes do not share a global clock that is instantaneously accessible to these processes. Process execution and message transfer are asynchronous. Without loss of generality, we assume that each process is running on a different processor. Let C ij denote the channel from process p i to process p j and let m ij denote a message sent by p i to p j . The message transmission delay is finite and unpredictable. A. Kshemkalyani and M. Singhal (Distributed Computing) A Model of Distributed Computations CUP 2008 2 / 1 Distributed Computing: Principles, Algorithms, and Systems A Model of Distributed Executions The execution of a process consists of a sequential execution of its actions. The actions are atomic and the actions of a process are modeled as three types of events, namely, internal events, message send events, and message receive events. Let e x i denote the x th event at process p i . For a message m , let send ( m ) and rec ( m ) denote its send and receive events, respectively. The occurrence of events changes the states of respective processes and channels. An internal event changes the state of the process at which it occurs. A send event changes the state of the process that sends the message and the state of the channel on which the message is sent. A receive event changes the state of the process that receives the message and the state of the channel on which the message is received. A. Kshemkalyani and M. Singhal (Distributed Computing) A Model of Distributed Computations CUP 2008 3 / 1 Distributed Computing: Principles, Algorithms, and Systems A Model of Distributed Executions The events at a process are linearly ordered by their order of occurrence. The execution of process p i produces a sequence of events e 1 i , e 2 i , ..., e x i , e x +1 i , ... and is denoted by H i where H i = ( h i , → i ) h i is the set of events produced by p i and binary relation → i defines a linear order on these events. Relation → i expresses causal dependencies among the events of p i . A. Kshemkalyani and M. Singhal (Distributed Computing) A Model of Distributed Computations CUP 2008 4 / 1 Distributed Computing: Principles, Algorithms, and Systems A Model of Distributed Executions The send and the receive events signify the flow of information between processes and establish causal dependency from the sender process to the receiver process....
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