Book contents
- Frontmatter
- Contents
- Preface
- 1 Introduction: Distributed Systems
- Part One Protocols
- Part Two Fundamental Algorithms
- 6 Wave and Traversal Algorithms
- 7 Election Algorithms
- 8 Termination Detection
- 9 Anonymous Networks
- 10 Snapshots
- 11 Sense of Direction and Orientation
- 12 Synchrony in Networks
- Part Three Fault Tolerance
- Part Four Appendices
- References
- Index
12 - Synchrony in Networks
Published online by Cambridge University Press: 05 June 2012
- Frontmatter
- Contents
- Preface
- 1 Introduction: Distributed Systems
- Part One Protocols
- Part Two Fundamental Algorithms
- 6 Wave and Traversal Algorithms
- 7 Election Algorithms
- 8 Termination Detection
- 9 Anonymous Networks
- 10 Snapshots
- 11 Sense of Direction and Orientation
- 12 Synchrony in Networks
- Part Three Fault Tolerance
- Part Four Appendices
- References
- Index
Summary
In this chapter we investigate how the theory of distributed computing is affected by the assumption that there exists a global time, to which processes have access. A global time frame is part of the physical reality that surrounds us; this reality includes the processes of a distributed system and the design of distributed algorithms may profit from exploiting time. The results of this chapter show that time can be exploited to reduce the communication complexity of distributed algorithms if processing and communication times are bounded.
However, problems that are unsolvable without using time remain unsolvable after its introduction; thus, introducing synchrony improves the compexity but not the computability of distributed systems. This situation differs from the impact of synchronism in networks that are subject to failures; in Chapters 14 and 15 it will be shown that larger classes of failures can be handled deterministically if synchronism is exploited. Synchronism has already been used in Section 3.2 to overcome transmission failures.
In this chapter global time will mainly be studied in an idealized form, namely, where the entire network operates in discrete steps called pulses, as explained in Subsection 12.1.1. Each process performs local computations in each pulse, and it is ensured that a message that is sent in one pulse is received before the next pulse. This globally synchronized operation is also referred to as a lockstep operation. Lockstep operation is fairly easy to implement if clocks are available and an upper bound on transmission delay is assumed; see Subsection 12.1.3.
- Type
- Chapter
- Information
- Introduction to Distributed Algorithms , pp. 396 - 424Publisher: Cambridge University PressPrint publication year: 2000