Top of Page

Clock Control  Clock Control

Domain Time gives you extensive control over how corrections are applied to the system clock.

These advanced settings are provided to address special clock-correction requirements, poorly-behaving system clocks, and for fine-tuning for extreme clock accuracy. In most cases, you will not need to make changes here.


CAUTION: The default settings on this page are usually correct for most applications. Only make changes if you are sure you need them and you fully understand the effects of the change. Incorrect settings WILL adversely affect your clock accuracy or even prevent clock corrections entirely.

 

Clock Corrections vs. Alignments

Domain Time can correct the clock either by "stepping" (immediately changing the time) or "slewing" (changing the time slowly). Stepping and slewing only operate on variances of 1 millisecond or more.

    If slewing is enabled, variances of less than 1 millisecond are "aligned," which are very small slewed clock adjustments. Sub-millisecond alignments are NOT considered corrections, and will not show as corrections in some displays and reports, such as drift records, Audit Server reports, etc. Variances of less than 1 millisecond will be reported as zero milliseconds, except in the log files, drift graphs, or Manager's displays.

    If your machine is stepped, the log file will say "Local clock stepped" (followed by details on which direction, by how much, and the protocol used to obtain the time.

    If your machine is slewed, the log file will say "Local clock slewed" (followed by the same details as for stepping).

    If your machine is aligned, the log file will say "Local clock aligned" (followed by the same details as for stepping or slewing).

    Alignments happen automatically as long as slewing is enabled. The only important thing to remember about alignments is that they are not reported as clock corrections.

 

 Clock Corrections 

Slew the clock if possible, otherwise step it
Only slew the clock, never step it
Only step the clock, never slew it

The Clock Corrections dialog selects whether corrections are made by slewing, stepping, or a combination of both.

    Slew the clock if possible, otherwise step it
    When this radio button is selected, Domain Time will step corrections too large to slew (or if slewing in that direction is disabled on the Slewing Options dialog page, see below), and will also step the very first correction after rebooting. This is the default option and highly recommended.

      The button brings up a dialog that lets you specify the direction of slew and the maximum amount of slewing that is permitted.

       Slewing Options 

      Slew either direction
      Slew backward only (when the clock is ahead of the correct time)
      Slew forward only (when the clock is behind the correct time)
      Maximum amount to slew:     
        Mins Secs
      MS

      By default, Domain Time will slew both forward and backward to correct the clock, provided the correction being applied is within the set limit for slewing. The default limit is 30,000 milliseconds (30 seconds), but you may change this to anywhere in the range of 1 through 3,600,000 (1 millisecond through 1 hour). You may disable forward slewing, backward slewing, or both. Slewing large corrections can take an extended amount of time, so be careful if you modify this setting. If slews take a long time to complete, the clock can continue to drift significantly during the slew, making it very difficult to achieve accurate corrections.

    Only slew the clock, never step it
    In v4.x, you could change the default stepping behavior by modifying the "Never Step Clock" registry option. However, in v4.x, "Never Step" really meant "Do not step except on first boot or when triggered by an administrator," which was a bit ambiguous.

      In v5.x, this setting is now available on the Control Panel applet. If it is enabled, Domain Time really will never step the clock. The slew limits and slew direction settings are not overridden by sync triggers, the control panel applet, or reboot detection. As a result, if you have this option selected, you will probably have to set the clock manually after every boot to get the time within the slew limit range to begin correcting the clock.


      IMPORTANT: If this setting is enabled and the clock variance is ever outside the slew limit, the clock will never be corrected; a log entry indicating this condition will be made instead. Therefore, use care when choosing this option.

    Only step the clock, never slew it
    To provide greater control of the stepping process, v5.x introduces the dialog page which allows you to select the conditions under which stepping is allowed.

      Stepping Options Dialog
      Stepping Options Dialog   [Click for larger size]

      The settings on this dialog correspond to the new "Allow Stepping" registry setting. "Allow Stepping" is a bitmask of the selected options. If your v4.x machine had "Never Step" specified in the registry, the value will be translated to an "Allow Stepping" value of zero when upgrading to v5.x. In all cases, stepping will only be applied if slewing is disabled or if the variance is outside the slewing limit (see above).

 

Correction Reduction and Advanced Clock Control
In addition to correcting the time during a time check, Domain Time can use highly-sophisticated clock control methods to ensure the clock on your machine runs more accurately, even between time corrections. This section shows whether these processes are enabled, as well as some statistics about the current clock management parameters.

     Correction Reduction 

    Adjust this machine's overall clock rate to minimize future corrections


    This setting determines whether Domain Time will manage the rate of the system clock between time corrections. In nearly all cases, you will want to leave this checkbox checked.


      IMPORTANT: When unchecked, Windows will operate as if there is no time service controlling the clock between time corrections and the system clock will therefore run at whatever rate was last adjusted to (see the description of Phase Adjustment below). This may cause the clock to drift severely between corrections. More critically, because Windows thinks no process is managing the clock, it will periodically (usually ~ once an hour), hard-set the system clock to match the CMOS hardware clock on the motherboard, causing jumps in the system time. The CMOS clock is notoriously unreliable and thus the resulting time jumps may be very large.

      The stability of the system clock on Windows is a result of complex and difficult-to-predict interactions of hardware and software timers, operating system processes, and running applications on each machine. Domain Time's Correction Reduction functions are extremely good at taking all these items into account; however, some machine's clocks are difficult to discipline automatically, and the default automatic algorithms can sometimes appear to make things worse.

      If your machine gets progressively less accurate over time, please carefully investigate the options on the Advanced Clock Control dialog (see below) before turning off Correction Reduction entirely. It may be that resetting the timings to defaults, locking the clock rate, adjusting the Interphase settings, and/or changing the Timer Resolution settings will improve the accuracy dramatically on an errant system. Uncheck Correction Reduction only if you have a compelling reason to do so.

      Advanced Clock Control
      The button will bring up the Advanced Clock Control dialog.

         Accelerated Clock Training 

        Machines will self-train over time, but may take upwards of a week at normal checking intervals to discover the best rate. If the machine's clock is consistently fast or slow, you may trigger advanced training to speed up the process.


        Machines running Domain Time II automatically train themselves over time to better match the speed of their sources. If a particular machine is consistently slow, for example, it will gradually speed up in order to reduce the frequency and magnitude of corrections. If it is consistently fast, it will gradually slow down. See the "Phase Adjustment" section below for a description of how this is done.

          Self-training may take several days to several weeks to reach equilibrium across all the machines on your network since each machine has to collect data from its own time synchronizations, determine what type of adjustment to attempt, and then re-sample to determine if the adjustment was correct. In most cases, the self-training process will hone in on the best clock rate for each machine, and very few training changes will occur thereafter.

          However, it may sometimes be desirable to take a shortcut to speed up the training process. The button initiates a special accelerated clock training sequence that causes an extended series of rapid clock synchronizations that allows the system to estimate what the correct clock rate is in a relatively short period of time.

          Accelerated clock training is not as accurate as the automatic self-training over time, however it can get the machine close to the correct clock rate so that final self-training can fine-tune the rate more quickly. On machines with highly variable load where self-training cannot reliably determine a correct rate, accelerated training can be used to determine a decent clock rate value to use as a starting point to determine a locked rate (see below).

          Recommendations:

          • Use accelerated training on your master time server when you first deploy Domain Time II on your network. When the master is fully trained, then you can use accelerated training on each slave.
          • Then, use accelerated training on your Independent Servers.
          • Allow other machines to automatically train their clocks without accelerated training if possible.
          • Do not use accelerated training on clients before their servers have finished either self-training or accelerated training, since this will result in inaccurate training of the client.

         Multimedia Timer Resolution 

        Set multimedia timer to the maximum resolution for this machine (default checked)
        Set OS timer to the maximum resolution for this machine (default unchecked)

          In most cases, having these boxes checked will increase the accuracy of the system clock. However, they are global settings for all applications on the machine, and other applications may raise or lower the resolution unexpectedly. Also, changes to the OS timer in particular may have unintended consequences to other applications or system functions, so the default for that setting is unchecked.

          If you find that your system's clock accuracy changes when certain applications are run (such as multimedia applications, Java applets, etc.) you may want to try disabling these settings, reset the clock rate settings on this page to the defaults (click the button, and then use the Accelerated Clock Training function (described above) to re-train the software while your application is active.

         Phase Adjustment 

        Default phase adjustment:  156001
        Phase adjustment:   (integral rate)   Phase Locked
        Interphase adjustment:   (+-ms/minute)   Interphase Locked  Continuously variable (PTP)
        Interphase period:   seconds   Change rate limiter enabled:   %
        Interphase significance threshold:   (average delta in hectonanoseconds)
        Interphase reliability threshold:   (minimum ms/minute change allowed)

        These settings display (and set) the current clock rate settings on the machine.

          In most cases, you will not need to adjust these settings as Domain Time will usually do an excellent job of finding the optimum tuning values. However, you may be able to acheive higher accuracy/clock stability by adjusting these settings.

          Default Phase Adjustment: displays the original clock tick rate calculated by the OS for the hardware of this machine. Windows expects that this rate will equal one second per second. In reality, it almost never does. The actual number of ticks necessary to run at exactly one second per second on this machine is usually some value greater or less than the default.

          Phase adjustment: 
          Domain Time attempts to automatically determine the optimum tick rate setting and will adjust this value in small increments over time. The current tick rate setting in use is displayed in the Phase adjustment: field.

            Checking the Phase Locked box will lock the clock at the current rate. This should be used with great care as it prevents any further automatic clock training. Use this setting if automatic clock training results in incorrect phase adjustments. For example, auto-training on some systems may result in the phase adjustment continually incrementing, causing the clock to run ever faster (or slower). Locking the rate will prevent the rate from incrementing.

            Locking the phase rate can also be useful if auto-training results in the clock consistently running slightly slower or faster than the correct time. You can change the phase rate and lock it so that corrections are slightly behind the actual time (so that corrections are always speeding up the clock slightly) Then, use the Interphase settings described below to fine-tune the corrections the rest of the way.


            IMPORTANT: On versions of Windows other than Vista, 2008, 2008/R2, and Win7, the tick rate can reliably be set to the actual resolution shown (i.e. changing the tick rate from 156250 to 156251 will change the clock rate by an exact number of microseconds per second). However, with Vista, 2008, 2008/R2, and Win7, Microsoft made underlying changes to how Windows handles the clock timers, resulting in a significant reduction in the granularity of this setting. In effect, on those operating systems a change of at least 16 ticks must occur before a change in clock rate actually happens on those systems.

            In the example above, changing 156250 to 156251 will not have any effect. You must change the rate to 156266 (156250 + 16) before the clock rate actually changes. The next rate change will occur at 156282 (156250 + 32), etc.

            In most cases, this decrease in granularity will result in a significant loss of accuracy unless you allow Domain Time to compensate for it properly using the Interphase adjustment setting below.

            As of Windows 2012/Windows 8, Microsoft appears to have addressed the granularity issue so that single digit changes to the tick value again respond as expected.


          The Interphase adjustment: settings allows for fine-tuning the clock rate when the correct time falls somewhere between the resolution of the tick rates set in the Phase Adjustment setting above. As described above, this is much more likely to be necessary on newer versions of Windows, since the granularity of phase adjustment is larger than on older versions. This value is the automatic clock correction value applied every minute (at the rate selected by the Interphase period setting below) to provide highly precise clock adjustment (and compensate for underlying timer errors/corrections on newer versions of Windows).

            These corrections are usually made automatically, but if your system is unable to achieve the desired level of accuracy, you can manually set this value and lock it using the Interphase Locked checkbox. Use this value for extreme fine tuning after getting the clock as accurate as possible first if you are using NTP or DT2 protocols to synchronize time.

            If you are using the IEEE 1588-2008 (PTP) protocol to synchronize time, it is usually better to allow Domain Time to continuously adjust the Interphase settings automatically to achieve significantly more accurate and smoother clock corrections. This function is enabled by checking the Continuously variable (PTP) checkbox. If you are using PTP and this function is enabled, the Interphase adjustment/Interphase period settings are ignored, even if locked. Note that if PTP sync is lost, these settings resume effect if the machine falls back to using another time protocol like NTP or DT2.

          The Interphase period:  seconds selection determines how often per minute Domain Time applies a fraction of the Interphase adjustment when attempting to exactly match this clock's phase to a time source.

            For example, a setting of 15 seconds will apply 1/4 of the Interphase setting every 15 seconds. A setting of 20 will apply 1/3 of the Interphase value every 20 seconds, etc.

            Due to the complex nature of the underlying timers, there is usually a "sweet spot" for this setting that results in maximum accuracy, but it can only be discovered by trial and error. It is probably not necessary to adjust this value unless you have first fine-tuned your accuracy as much as possible with all of the other settings.

        Change rate limiter enabled:   % controls how quickly the software makes changes to the Interphase settings based on the collected time samples. Setting this value too high may result in overly-large Interphase adjustments; too low of a setting may result in unnecessarily-small adjustments. Either condition can affect how long it takes to converge on accurate timings for the machine.

        Interphase significance threshold: 
        Interphase reliability threshold: 

        These settings fine-tune the criteria the automatic Interphase adjustment algorithm uses to calculate the Interphase rate. You should not change these values without advice from Technical Support.

 

Next Proceed to the Import/Export page
Back Back to the Advanced page

Domain Time II Software distributed by Microsemi, Inc.
Documentation copyright © 1995-2017 Greyware Automation Products, Inc.
All Rights Reserved
All Trademarks mentioned are the properties of their respective owners.