FACTOID # 25: If you're tired of sitting in traffic on your way to work, move to North Dakota.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Clock Synchronization

Clock synchronization is a problem from computer science which deals with the idea that internal clocks of several computers may differ. Even when initially set accurately, real clocks will differ after some amount of time due to drift, caused by clocks counting time at slightly different rates. There are several problems that occur as a repercussion of rate differences and several solutions, some being more appropriate than others in certain contexts.   Computer science is the study of the theoretical foundations of information and computation and their implementation and application in computer systems. ... An analog wall clock A clock (from the Latin cloca, bell) is an instrument for measuring time and for measuring time intervals of less than a day—as opposed to a calendar. ...

Contents


Problems

Besides the incorrectness of the time itself, there are problems associated with clock skew that take on more complexity in a distributed system in which several computers will need to realize the same global time. Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. ...


For instance, in Unix systems the make command is used to compile new or modified code without the need to recompile unchanged code. The make command uses the clock of the machine it runs on to determine which source files need to be recompiled. If the sources reside on a separate file server and the two machines have unsynchronized clocks, the make program might not produce the correct result. Unix or UNIX is a computer operating system originally developed in the 1960s and 1970s by a group of AT&T Bell Labs employees including Ken Thompson, Dennis Ritchie, and Douglas McIlroy. ... The correct title of this article is make. ... It has been suggested that this article or section be merged with Compile (software company). ... In telecommunication, the term file server has the following meanings: A high-capacity disk storage device or a computer that hosts files so that they may be accessed or retrieved by other computers on the same network. ...


Solutions

In a centralized system the solution is trivial; the centralized server will dictate the system time. Cristian's algorithm and the Berkeley Algorithm are some solutions to the clock synchronization problem in a centralized server environment. In a distributed system the problem takes on more complexity because a global time is not easily known. The most used clock synchronization solution on the internet is the Internet Network Time Protocol (NTP) which is a layered client-server architecture based on UDP message passing. The concept of a centralized system is one which has a major hub or hubs which peers communicate with. ... Distributed computing is decentralised and parallel computing, using two or more computers communicating over a network to accomplish a common objective or task. ... The Network Time Protocol (NTP) is a protocol for synchronising the clocks of computer systems over packet-switched, variable-latency data networks. ...


Cristian's algorithm

Cristian's algorithm relies on the existence of a time server. The time server maintains its clock by using a radio clock or other accurate time source, then all other computers in the system stay synchronized with it. A time client will maintain its clock by making a procedure call to the time server. Variations of this algorithm make more precise time calculations by factoring in network propagation time. A radio clock A radio clock is a clock that is synchronized by a time code bit stream transmitted by a radio transmitter connected to a time standard such as an atomic clock. ... In computer science, a subroutine (function, procedure, or subprogram) is a sequence of code which performs a specific task, as part of a larger program, and is grouped as one, or more, statement blocks; such code is sometimes collected into software libraries. ... The word propagation can mean: Multiplication or increase, as by natural reproduction. ...


Berkeley algorithm

This algorithm is more suitable for systems where a radio clock is not present, this system has no way of making sure of the actual time other than by maintaining a global average time as the global time. A time server will periodically fetch the time from all the time clients, average the results, and then report back to the clients the adjustment that needs be made to their local clocks to achieve the average. This algorithm highlights the fact that internal clocks may vary not only in the time they contain but also in the clock rate. Often times, any client whose clock differs by a value outside of a given tolerance is disregarded when averaging the results. This prevents the overall system time from being drastically skewed due to one erroneous clock.


See also

International Atomic Time (TAI, from the French name Temps Atomique International) is a high-precision atomic time standard that tracks proper time on Earths geoid. ... The Network Time Protocol (NTP) is a protocol for synchronising the clocks of computer systems over packet-switched, variable-latency data networks. ...

References

  • Maarten van Steen, Andrew S. Tanenbaum: Distributed Systems : Principles and Paradigms, Prentice Hall, ISBN 0-13-088893-1

  Results from FactBites:
 
Incremental clock synchronization (1073 words)
In this version of the clock synchronization problem, processors have access to local clocks, which run at the rate of real-time; some clock may be corrupted and read wrong values.
The clocks are not initialized and processors need to adjust them to be as close as possible (using an additive adjustment factor).
Incremental clock synchronization algorithm (by Hagit Attya) does not allow syncronization when number of messages sent by particular process is more than ~30% of number of processes.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m