PASSIVE-SPACE AND TIME VIEW - VECTOR CLOCKS FOR ACHIEVING HIGHER PERFORMANCE, PROGRAM CORRECTION, AND DISTRIBUTED COMPUTING

Citation
M. Ahuja et al., PASSIVE-SPACE AND TIME VIEW - VECTOR CLOCKS FOR ACHIEVING HIGHER PERFORMANCE, PROGRAM CORRECTION, AND DISTRIBUTED COMPUTING, IEEE transactions on software engineering, 19(9), 1993, pp. 845-855
Citations number
14
Categorie Soggetti
Computer Sciences","Engineering, Eletrical & Electronic","Computer Applications & Cybernetics
ISSN journal
00985589
Volume
19
Issue
9
Year of publication
1993
Pages
845 - 855
Database
ISI
SICI code
0098-5589(1993)19:9<845:PATV-V>2.0.ZU;2-P
Abstract
We have noticed two problems with viewing a process as a sequence of e vents: The first problem is the complete loss of information about pot ential intra-process concurrency for both sequential and distributed c omputations, and partial loss of information about potential inter-pro cess concurrency for distributed computations. The second problem is t hat the resulting reasoning framework does not lend itself to refineme nt (from sequential computing or a given set of distributed processes) to a preferable set of distributed processes. We argue that it is mor e natural to view a computation, either distributed or sequential, as a partially ordered set of events. Doing so leads to a view, called pa ssive-space and time view, which we propose in this paper. In the prop osed view, a point in space is a passive entity which does not order e vents that occur at it, and the order is determined by the interaction among the events. We define a relation, ''Affects'', between pairs of events, which captures the partial order on events. To aid users of t he relation ''Affects'' in developing algorithms, we define vector clo cks, that are global logical clocks, so that the relation ''Affects'', and hence all potential concurrency, between events can be identified from their timestamps assigned. Since this research is motivated by t he need to solve practical problems, we define passive-space and time view such that a user has control, in two ways, over the costs involve d. First, a process designer may choose any granularity of events and choose any mechanism for determining partial order among events on the process. Second, a user may choose a vector clock such that the exten t of potential intra-process concurrency identified depends on the cos ts associated with the identification. We give vector clocks which tra de cost incurred and concurrency identification. We compare the propos ed view with the space and time view. Finally, we give a scheme for re ducing the cost of communicating timestamps.