It is significantly difficult to program dependable decentralised computer control systems, since they need to integrate fault-tolerance and real-time with distribution. In consequence, architects and programmers turn to new distributed system tools and paradigms, such as: synchronised clocks, causal order, groups, membership, replication, and so forth, to assist them in that task. Their inappropriate use, however, may lead to unexpected inefficiency or failure of programs. There is a common link between all these tools in real-time uses, and that is the rôle of time and order in the behaviour of the system. The purpose of this paper is to establish the limits to their use, in order that the models programmers rely on are not used beyond their validity boundaries. This paper equates the time and order problems of real-time programs in a unified manner. It recalls known fundamental limits of time and order in distributed systems, and then it shows that these limits can be drastically relaxed, if the system support (clock granularity, order discrimination) can be matched to the ordering and timeliness requirements of programs. It finalises by giving concrete guidelines about the use of clocks and about what a programmer can expect from an ordering by distributed timestamps. © 1994 Kluwer Academic Publishers.
ASJC Scopus subject areas
- Control and Optimization
- Modeling and Simulation
- Computer Networks and Communications
- Control and Systems Engineering
- Computer Science Applications
- Electrical and Electronic Engineering