5.1 Time in Distributed Systems
DISTRIBUTED SYSTEM NOTES, IOE, TU,BCA
TIME IN DISTRIBUTED SYSTEM
In distributed systems, each node runs on its own clock, which can result in time difference. Time in distributed systems is a critical and complex aspect due to the absence of a global clock and the need to coordinate actions across different nodes. Time management in distributed systems is crucial for ensuring consistency, coordination, and reliability. While physical clock synchronization provides a basis, logical clocks and consensus algorithms play a significant role in managing the order and causality of events.
Distributed systems deal with time issues through a combination of synchronization protocols, logical clocks, and consensus algorithms. These mechanisms help to ensure that events are ordered consistently, causality is preserved, and the system remains reliable and consistent despite the inherent challenges of distributed environments.
Clock Synchronization
Physical Clocks:
- NTP (Network Time Protocol): Used to synchronize the clocks of computers over a network to a few milliseconds of Coordinated Universal Time (UTC).
- PTP (Precision Time Protocol): Provides higher accuracy than NTP, often used in environments requiring tight synchronization.
Logical Clocks:
- Lamport Timestamps: A method to order events in a distributed system by assigning a numerical timestamp to each event.
- Vector Clocks: Extends Lamport timestamps by providing a way to capture causality between events, useful in detecting concurrency and ensuring consistency.