Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uflorida!uakari.primate.wisc.edu!ames!sgi!vjs@rhyolite.wpd.sgi.com From: vjs@rhyolite.wpd.sgi.com (Vernon Schryver) Newsgroups: comp.sys.sgi Subject: Re: NTP Message-ID: <42894@sgi.sgi.com> Date: 12 Oct 89 17:52:08 GMT References: <141@ndl.UUCP> <89Oct12.112610edt.3212@neat.cs.toronto.edu> Sender: vjs@rhyolite.wpd.sgi.com Organization: Silicon Graphics, Inc., Mountain View, CA Lines: 45 Given the microsecond resolution in the IRIX adjtime(2) and the sub-second resolution in gettimeofday(2), NTP should be an easy port. Other issues such as signals should be trivial, particularly in view of the similarities between SVR3 "reliable" and BSD signals. NTP does wonders for synchronizing clocks. However, it requires each host to be individually configured. That can be a pain in large networks. Broadcast, election schemes such as that used by timed(1m) are much easier to administer, although they cannot hope for the microsecond accuracy achieved by NTP. Given the general sloppiness of UNIX time and process scheduling, fractional second accuracy for things like NFS and make(1) is usually necessary and sufficent. Better accuracy is generally an academic exercise, albeit one which I personally find a lot of fun. (Before flaming, usec time can be useful for things like network performance research and development). If I had a bunch of IRIS's near one or more NTP true-tickers, I would nominate one IRIS as a timemaster, use timeslave(1m) to synchronize the IRIS timemaster to the nearest NTP ticker, and timed(1m) to synchronize the rest of the IRIS's to the timemaster. The thousands of IRIS's in SGI's internal network are synchronized in a similar fashion. One machine listens to a WWV receiver with timeslave(1m). A second machine follows the first with `timeslave -H first` and uses `timed -M -F itself` to be the corporate timemaster. All other machines use `timed -M -G timelords`. The machines in the "timelords" YP netgroup are IP gateways between networks (i.e. routers). The netgroup permits the semi-automatic, centrally adminstrated construction of a hierachy of time keepers. I think the -G argument for timed was not present until 3.2, but the same effect, except for the central administration, is available with -F. When I checked a few minutes ago, the SGI network appears to be synchronized to about 30 milliseconds. Much better values are possible in IRIX 3.3 where the system clock can be trimmed using the values suggested by timeslave(1m) and timed(1m) in /usr/adm/SYSLOG. Timedc(1m) is a useful tool for measuring differences in time of day. Vernon Schryver Silicon Graphics vjs@sgi.com