Patent ID: 7240230

Claim:
A distributed global clock for clusters of computers having a plurality of processing nodes, the distributed global clock comprising: a plurality of pulse generator modules that are interconnected forming a hierarchical structure with a single said pulse generator module at the top of said hierarchical structure; this said single pulse generator module generating clock pulses that are sent down through said hierarchical structure; a plurality of local time counter modules, one for each node of the cluster; each said local time counter module containing a counter that is incremented by the pulses sent by said single pulse generator module at the top of said hierarchical structure; a plurality of interconnecting cables for interconnecting said local time counter modules to said pulse generator modules, and these said pulse generator modules among themselves forming said hierarchical structure; the lengths of said interconnecting cables varying within limits that guarantee that a difference in propagation time of signals coming from said single pulse generator module at the top of said hierarchical structure and reaching any pair of said local time counter modules does not exceed a cycle time of the pulses generated by said single pulse generator module at the top of said hierarchical structure; and a means for any processing node to provide a reset signal to its said local time counter module for simultaneous initialization of all said local time counter modules of the distributed global clock; once provided, said reset signal is sent up through said hierarchical structure of said pulse generator modules, reaches said single pulse generator module at the top of said hierarchical structure, and is sent back down through said hierarchical structure of said pulse generator modules reaching all said local time counter modules simultaneously; on arrival from said pulse generator modules, said reset signal initializes the counters of all said local time counter modules simultaneously and, after such initialization, the pulses generated by said single pulse generator module at the top of said hierarchical structure increment synchronously the counters of all said local time counter modules of the distributed global clock.