[net.unix-wizards] "slewing" the system clock

wales@UCLA-LOCUS.ARPA (07/02/84)

From:            Rich Wales <wales@UCLA-LOCUS.ARPA>

Here's an idea (not a new one, I don't think):

How about a way to reset a UNIX system's idea of the time of day by
"slewing" the clock (i.e., speeding up or slowing down until the system
clock is correct)?

I think this could be done on the VAX, for example, by loading the NICR
(Next Interval Count Register) with a nonstandard value, then restoring
the original value later on.

Doing this would seem to be less traumatic to running processes than
simply changing the clock in one big quantum leap.  Particularly so if
the clock needs to be reset backwards (which, in addition to its effect
on running processes, could also mess up incremental dumps).

I would still want to keep the current "stime" system call interface
intact, for use when the time is "way off" and needs to be set correctly
"right now".

Has anyone out there done this, or seriously considered doing it?  Are
there any other operating systems which do this kind of thing?

-- Rich

dpm@LBL-CSAM.ARPA (07/03/84)

From:  (Dave Martin [stug])dpm@LBL-CSAM.ARPA

Take a look at the paper "TEMPO -- A Network Time Controller for a Distributed
Berkley *IX SYstem" by Riccardo Gusella and Stefano Zatti.  It was published
in the Summer 1984 USENIX Conference proceedings which were, amazingly
enough, available before the conference.  Proceedings are available from

USENIX Association
P.O. Box 7
El Cerrito, CA  94530

for $25 + $5 shipping.

The paper discusses techniques for synchronizing a network of *IX systems
which should be of interest to all would-be clock tweakers out there.

dpm

louie@cvl.UUCP (07/14/84)

<for all you do, this one's for you>

I don't know of a UN*X that does this, but the fuzzball software for PDP11
systems (a RT11 emulator with extensive TCP/IP network development and
debugging tools) does this.  Co-operating fuzzball systems exchange "hello"
message packets with each other, which among other things, provide time
synchonization.  Dave Mills, the author of the fuzzball software, could tell
you all about it.  I believe that there is an ARPANET RFC around somewhere
that describes the algorithms invovled.  The general idea is that if the
host is within a couple of minutes of the correct time, there is a slewing
of the clock, but when the host first comes up, the clock is immediately
reset.  We've got a zoo of about 5 of fuzzballs and other systems that do
this, and its nice not to have to worry about setting the time of your
system everytime you boot it.

Dave Mills' arpanet address is <mills@dcn1> if you'd like to contact him.
If you don't have arpanet access, I can forward a message to him manually.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Louis A. Mamakos - Computer Science Center (Systems Staff) - Univ. of Maryland
Internet: louie@cvl.ARPA     uucp: ...!{seismo,ihnp4,allegra}!rlgvax!cvl!louie