ntplogtemp: Record nvme temperatures on Asahi
[ntpsec.git] / docs / poll.adoc
blobb4d25b7fbbfe5e6bcbf0946e82ac83e13b3d00bf
1 = Poll Process
2 include::include-html.ad[]
4 The poll process sends NTP packets at intervals determined by the clock
5 discipline algorithm. The process is designed to provide a sufficient
6 update rate to maximize accuracy while minimizing network overhead. The
7 process is designed to operate over a poll exponent range between 3 (8
8 s) and 17 (36 hr). The minimum and maximum poll exponent within this
9 range can be set using the +minpoll+ and +maxpoll+ options of the
10 link:confopt.html#options[+server+] command, with default 6 (64 s) and 10
11 (1024 s), respectively.
13 The poll interval is managed by a heuristic algorithm developed over
14 several years of experimentation. It depends on an exponentially
15 weighted average of clock offset differences, called _clock jitter_, and
16 a jiggle counter, which is initially set to zero. When a clock update is
17 received and the offset exceeds the clock jitter by a factor of 4, the
18 jiggle counter is increased by the poll exponent; otherwise, it is
19 decreased by twice the poll exponent. If the jiggle counter is greater
20 than an arbitrary threshold of 30, it is reset to 0 and the poll
21 exponent is increased by 1. If the jiggle counter is less than -30, it
22 is set to 0 and the poll exponent decreased by 1. In effect, the
23 algorithm has a relatively slow reaction to good news, but a relatively
24 fast reaction to bad news.
26 As an option of the link:confopt.html#options[+server+] command, instead
27 of a single packet, the poll process can send a burst of several packets
28 at 2-s intervals. This is designed to reduce the time to synchronize the
29 clock at initial startup (+iburst+) and/or to reduce the phase noise at
30 the longer poll intervals (+burst+). The +iburst+ option is effective
31 only when the server is unreachable, while the +burst+ option is
32 effective only when the server is reachable. The two options are
33 independent of each other and both can be enabled at the same time.
35 For the +iburst+ option the number of packets in the burst is six, which
36 is the number normally needed to synchronize the clock; for the +burst+
37 option, the number of packets in the burst is determined by the
38 difference between the current poll exponent and the minimum poll
39 exponent as a power of 2. For instance, with the default minimum poll
40 exponent of 6 (64 s), only one packet is sent for every poll, while the
41 full number of eight packets is sent at poll exponents of 9 (512 s) or
42 more. This insures that the average headway will never exceed the
43 minimum headway.
45 The burst options can result in increased load on the network if not
46 carefully designed. Both options are affected by the provisions
47 described on the link:rate.html[Rate Management and the Kiss-o'-Death
48 Packet] page. In addition, when +iburst+ or +burst+ are enabled, the
49 first packet of the burst is sent, but the remaining packets sent only
50 when the reply to the fist packet is received. If no reply has been
51 received after a timeout set by the +minpoll+ option, the first packet
52 is sent again. This means that, even if a server is unreachable, the
53 network load is no more than at the minimum poll interval.
55 To further reduce the network load when a server is unreachable, an
56 unreach timer is incremented by 1 at each poll interval, but is set to 0
57 as each packet is received. If the timer exceeds the _unreach threshold_
58 set at 10, the poll exponent is incremented by 1 and the unreach timer
59 set to 0. This continues until the poll exponent reaches the maximum set
60 by the +maxpoll+ option.
62 '''''
64 include::includes/footer.adoc[]