This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Passive-Space and Time View: Vector Clocks for Achieving Higher Performance, Program Correction, and Distributed Computing
September 1993 (vol. 19 no. 9)
pp. 845-855

We have noticed two problems with viewing a process as a sequence of events. The first problem is the complete loss of information about potential intra-process concurrency for both sequential and distributed computations, and partial loss of information about potential inter-process concurrency for distributed computations. The second problem is that the resulting reasoning framework does not lend itself to refinement (from sequential computing or a given set of distributed processes) to a preferable set of distributed processes. We argue that it is more natural to view a computation, either distributed or sequential, as a partially ordered set of events. Doing so leads to a view, called passive-space and time view, which we propose. To aid users of the relation "Affects" indeveloping algorithms, we define vector clocks, that are global logical clocks, so that the relation "Affects", and hence all potential concurrency, between events can be identified from their timestamps assigned.

[1] M. Ahuja, "Flushprimitives for asynchronous distributed systems,"Inform. Processing Lett., vol. 34, no. 2, pp. 5-12, Feb. 1990.
[2] M. Ahuja. Global snapshots for asynchronous distributed systems with Non-FIFO channels. Technical Report TR92-268, Univ. of California, San Diego, Nov. 1992.
[3] M. Ahuja, T. Carlson, A. Gahlot, and D. Shands. Timestamping events for inferring "Affects" relation and potential causality. Inproceedings COMPSAC 91, pages pp. 606-611, 1991.
[4] P. Bernstein and N. Goodman, "Concurrency Control in Distributed Database Systems,"ACM Computing Surveys, Vol. 13, No. 2, June 1981, pp. 185-221.
[5] K. M. Chandy and L. Lamport, "Distributed snapshots: Determining global states of distributed systems,"ACM Trans. Comput. Syst., vol. 3, no. 1, pp. 63-75, Feb. 1985.
[6] C.J. Fidge, "Pamat Orders for Parallel Debugging,"SIGPlan/SIG Ops Workshop on Parallel and Distributed Debugging, ACM Press, New York, May 1988, pp. 183-194. Also appears inSIGPlan Notices, Vol. 24, No. 1, Jan. 1989.
[7] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[8] D. Jefferson, "Virtual Time,"ACM Trans. Programming Languages, Vol. 7, No. 3, July 1985, pp. 404-425.
[9] D.B. Johnson and W. Zwaenepoel, "Recovery in Distributed Systems Using Optimistic Message Logging and Checkpointing,"Proc. 7th Ann. ACM Symp. Principles of Distributed Computing, ACM Press, New York, 1988, pp. 171-181.
[10] L. Lamport, "Time, clocks, and the ordering of events in a distributed system,"Commun. ACM, vol. 21, no. 7, pp. 558-565, July 1978.
[11] L. Lamport. Basic concepts: Logical foundation. In M. Paul and H. J. Siegert, editors,Distributed Systems: Methods and Tools for Specification, An Advanced Course, pages 19-30. Springer-Verlag, 1985.
[12] F. Mattern. Virtual time and global states of distributed systems. Inproceedings Workshop on Parallel and Distributed Algorithms, Elsevier, pages 215-226, 1988.
[13] G. Neiger and S. Toueg, "Substituting for real time and common knowledge in asynchronous distributed systems," inProc. 6th ACM Symp. Principles of Distributed Computing, Aug. 1987, pp. 281-293.
[14] P. Panangaden and K. Taylor, "Concurrent common knowledge: A new definition of agreement for asynchronous systems," inProc. Fifth Symp. Principles of Distributed Comput., ACM, 1988, pp. 197-209.

Index Terms:
time view; passive-space view; vector clocks; high performance; program correction; distributed computing; intraprocess concurrency; distributed computations; sequential computations; global logical clocks; timestamps; debugging; concurrency control; distributed processing; program debugging
Citation:
M. Ahuja, T. Carlson, A. Gahlot, "Passive-Space and Time View: Vector Clocks for Achieving Higher Performance, Program Correction, and Distributed Computing," IEEE Transactions on Software Engineering, vol. 19, no. 9, pp. 845-855, Sept. 1993, doi:10.1109/32.241768
Usage of this product signifies your acceptance of the Terms of Use.