Browse Prior Art Database

Synchronizing Time-of-Day Clocks in Coupled Computer Systems

IP.com Disclosure Number: IPCOM000105663D
Original Publication Date: 1993-Aug-01
Included in the Prior Art Database: 2005-Mar-20
Document File: 4 page(s) / 110K

Publishing Venue

IBM

Related People

Adiga, A: AUTHOR [+2]

Abstract

Disclosured is a new distributed clock synchronization method for coupled computer systems that eliminates the need for a centralized master clock. The proposed method: (1) enhances the scalability of the coupled system, (2) allows grouping of central processors (CPs) whose Time-Of-Day (TOD) clocks must run synchronized with arbitrary tolerance limits, (3) permits regrouping of TOD clocks on the fly without any hardware change, (4) handles TOD clock failures gracefully and quickly, and (5) allows synchronization with an external timer.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 52% of the total text.

Synchronizing Time-of-Day Clocks in Coupled Computer Systems

      Disclosured is a new distributed clock synchronization method
for coupled computer systems that eliminates the need for a
centralized master clock.  The proposed method:  (1) enhances the
scalability of the coupled system, (2) allows grouping of central
processors (CPs) whose Time-Of-Day (TOD) clocks must run synchronized
with arbitrary tolerance limits, (3) permits regrouping of TOD clocks
on the fly without any hardware change, (4) handles TOD clock
failures gracefully and quickly, and (5) allows synchronization with
an external timer.

      It is assumed that CPs in a coupled system may be split into
several clusters.  The CPs within each cluster must be synchronized
with one another and may have different tolerance limits, which
define the bound on the difference between a clock reading and those
of other clocks.  It is also assumed that appropriate means exists to
stop and restart each TOD clock at any time.  Each logical time
instant at which the TOD clocks must synchronize is referred to here
as a sync point.

      To achieve TOD synchronization, all TOD clocks in a cluster
attempt to synchronize with one another every d time units.  The
value of d depends on the clock drift rate and the tolerance within
which all TOD clocks must run.  Also assumed is standard hardware
means at each TOD clock to either increase the clock frequency or
decrease it in very small but fixed steps (e.g., 10's or 100's of
cycles per second).

The figure shows the general structure of a coupled system considered
here.  It consists of n central processors, named CP0, CP1,...,
CPn-1, each with its own TOD clock denoted by TOD0, TOD1,..., TODn-1,
respectively.  A fast and dedicated interconnect is provided for
communication of control information related to the synchronization
of the TOD clocks.  For the dedicated use of a CP cluster, four
specific locations in a fast memory, named "P", "C", "T", and "N",
are provided and shared by all CPs in that cluster.  In each of these
locations, except "T", the bit position it is associated with CPi.
The bit vector in "P" denotes the CPs belonging to that cluster, and
that in "C" denotes the TOD clocks that have arrived at the latest
sync point.  Location "T" contains the reading of the clock at the
next sync point, and "N" contains the bit vector indicating the CPs
that are waiting to join or leave the cluster at the next sync point.

      Since the contents of "P" are changed rarely, it is assumed
that a copy is kept at each TOD and that every time "P" is changed,
so are these copies.  After all TODs reach a sync point, the value of
"T" is incremented by d to contain the value of the next sync point.
Thi...