MIRAGE: A Model for
Latency in Communication
Joseph Dean Touch
A Dissertation
in
Computer and
Information Science
Presented to the
Faculties of the University of Pennsylvania in Partial Fulfillment
of the
Requirements for the Degree of Doctor of Philosophy.
1992
David J. Farber
Supervisor of Dissertation
Mitchell P. Marcus
Graduate Group Chair
COPYRIGHT
Joseph Dean Touch
1992
To my parents, Ralph B. and Filomena Touch, for whom education is always first.
This work is supported by the Information Science and Technology Office of the Defense Advanced Research Projects Agency, under contract NAG-2-639, and by an AT&T Graduate Research Fellowship, grant #111349.
There are also many people who contributed to the development of this dissertation, and without whose help it would not have been possible.
My classmates at the University of Pennsylvania Department of Computer and Information Science provided active debates encouraged these ideas. Members of the Distributed Systems Lab, including John Shaffer, Anand Iyengar, Ming-Chit (Ivan) Tam, Brendan Traw, Jonathan Smith, and Amarnath Mukherjee discussed and debated these ideas. Daniel Kulp (Univ. Penn. Materials Science) provided fertile discussions on the physics analogs which provided the basis of Mirage (Appendix B). Other sections were directly helped by Jon Freeman (Appendix C), Christine Nakatani (Appendix G), Amarnath Mukherjee (branching-stream model equations, Chapter 2), Richard Gerber (communicability and SmythÕs PowerDomains, Chapter 3), Phil Christie (Univ. Delaware) (violation of the Liouville theorem, Appendix D), and Stuart Frieberg (Univ. Wisconsin - Madison) (isopotency of Chapter 2).
This text was edited through the advice of many students and colleagues, including Diana DÕAngelo, Ted Faber (Univ. Wisconsin - Madison), Brendan Traw, John Shaffer, and Nick Short, Jr. who provided extensive feedback. I owe Nick more than a few beers.
I also want to acknowledge a few of my mentors, most notably my first computer science teacher, John Mero, who was the first to introduce me to computers, and who was the first to give me the opportunity to study them at my own pace. I also would thank my undergraduate advisor Dr. Jack Beidler, who gave me the resources and opportunities to discover this science. Also, my first employer T. Russell Hsing, who is responsible for introducing me to this research, and my Ph.D. advisor, indirectly.
I also thank my dissertation committee members, for their participation, advice, and comments: David Sincoskie (Bell Communications Research), Ravi Sethi (AT&T Bell Labs), Jonathan Smith (Univ. Penn.), and the chair, Mitch Marcus (Univ. Penn.).
I want to thank my Ph.D. advisor, David Farber, for introducing me to the questions this dissertation investigates, for giving me the unique opportunity to investigate a new area of research on my own, and who supported this research to DARPA for a grant.
I also want to thank my friends for ÔmoralÕ support, including the DoctorÕs Club members Samuel Kulp D.V.M. (& Ph.D. 1993), Daniel Kulp (Ph.D. 1992), Scott Miller M.D., David Bradin (Esq., 1994), and Stuart Miller. I thank my friends Janice Luteran, Paula Luteran, Susan Alexander, Fran Weiss, and Nick Short, Jr., especially for contributing to the financial development of telephone companies everywhere. I also thank Kenneth M. Rubinstein, my first professional colleague (cartooning, 1974), and my oldest friend.
Finally, I want to thank my family, whose help and support made this work, and all other I may do, possible. My parents Ralph B. and Filomena Touch (yeah, yeah, 10%, I know), my brother Ralph F. Touch, Esq., my sister Suzanne M. Touch (M.D. 1993), and my grandparents ÔNonniÕ and ÔPopÕ Cianfrani, and ÔNonniÕ and ÔNonnoÕ Touch. My father helped edit this dissertation, which was prepared on a Mac IIsi provided by Nonni Cianfrani (more jimmies, Nonni!).

MIRAGE: A Model for
Latency in Communication
Author: Joseph Dean Touch
Supervisor: David J. Farber
Mirage is an abstract model
for the design and analysis of high speed wide area network (WAN) protocols. It
examines the effects of latency on communication, and indicates that information
separation is the distinguishing
characteristic of gigabit WANs. Existing protocols will exhibit performance
failures due to an inability to accommodate imprecision in the remote state.
The name Mirage denotes
the difficulty with latent communication, namely nodes never really ÒseeÓ each
other precisely; rather, they work with (and around) the mirages which high speed and fixed latency conjure before
them.
This dissertation describes
the Mirage abstract model as an extended finite state machine that accommodates
imprecision through the use of multiple simultaneous states and state space
volume transformations. We introduce guarded messages, to accommodate nondeterministic data streams, and communicability, the upper bound on communication, given fixed
latency and state predictability. Mirage demonstrates how excess bandwidth can
be used to accommodate latency, and shows the bounds on latency constrained
communication. Supplemental discussions includes consider Mirage as an
extension of ShannonÕs communication theory, and compare it to physics analogs.
Mirage was applied to the
Network Time Protocol (NTP), to demonstrate its use and exemplify its abstract
components. We show the equivalence between variation in state space
imprecision and variation in transmission latency. Several ÔoptionalÕ
components of the NTP specification are shown to be required, and layering is
violated in permitting sender anticipation.
To show the modelÕs
advantages, Mirage was applied to processor - memory interaction as a protocol,
calling the result m‑Net
(MicroNet). Using anticipation, we develop a novel interface which achieves a
hit rate equivalent to that of a 50K byte cache, using 400 bytes of storage. m‑Net complements conventional cache techniques,
especially where communication latency is the limiting factor in code
execution, and where excess communication bandwidth is available. Dynamic
traces measured the latency accommodation possible by the various
implementation versions.
Chapter 1 – Introduction................................................................ 1
1.1. Background.......................................................................................................... 2
1.2. What is a protocol?............................................................................................... 5
1.2.1. Communication as state concurrence.......................................................... 7
1.3. The need for a new model..................................................................................... 7
1.4. What has changed?............................................................................................... 9
1.4.1. Change in the use of memory..................................................................... 14
1.5. Model goals.......................................................................................................... 15
1.6. Preview................................................................................................................. 15
Chapter 2 – The Mirage model........................................................ 17
2.1. Assumptions......................................................................................................... 18
2.1.1. Initial description of channel utilization...................................................... 18
2.1.1.1. Phases........................................................................................... 19
2.1.1.2. Channel utilization: linear case...................................................... 20
2.1.1.3. Channel utilization: sender-based anticipation............................... 21
2.1.1.3.1. An example for illustration- the turtle........................... 21
2.1.1.3.2. Branching streams utilization....................................... 22
2.1.2. Conclusions of the branching model.......................................................... 27
2.1.3. Some reality checks.................................................................................... 27
2.1.4. Some common sense.................................................................................. 29
2.2. The Mirage model................................................................................................. 30
2.2.1. More definitions......................................................................................... 31
2.2.2. A description of the model......................................................................... 32
2.2.2.1. Time.............................................................................................. 34
2.2.2.2. Receive......................................................................................... 35
2.2.2.3. Transmit........................................................................................ 35
2.2.3. Implications of the model........................................................................... 36
2.2.3.1. Lag and stability............................................................................ 36
2.2.3.2. Communicability........................................................................... 37
2.2.3.3. Guarded messages........................................................................ 39
2.2.3.4. Isopotent sets................................................................................ 40
2.3. Discussion............................................................................................................ 41
2.3.1. A channel with imprecision........................................................................ 41
2.3.2. Looking into the structure of the stream..................................................... 42
2.3.3. Implementations......................................................................................... 43
2.3.3.1. Projections.................................................................................... 43
2.3.3.2. Granularity.................................................................................... 44
2.4. Insights................................................................................................................. 45
2.4.1. Kinds of information.................................................................................. 45
2.4.2. Error and latency as conjugates.................................................................. 45
2.4.3. Entropy...................................................................................................... 46
2.4.4. Constraints................................................................................................. 46
2.4.5. Contrasts & comparisons........................................................................... 46
Chapter 3 – Prior Work.................................................................. 48
3.1. Prior models of communication............................................................................ 49
3.1.1. The models................................................................................................. 49
3.1.1.1. ShannonÕs model of communication............................................. 50
3.1.1.2. Communicating finite state machines............................................ 51
3.1.1.3. Petri Nets...................................................................................... 51
3.1.1.4. Estelle / LOTOS........................................................................... 51
3.1.2. Partitioning the state space......................................................................... 51
3.1.2.1. Partitions....................................................................................... 52
3.1.2.2. Factoring....................................................................................... 52
3.1.2.3. Projections / imaging.................................................................... 53
3.1.2.4. Powerdomains.............................................................................. 53
3.2. Protocol optimizations.......................................................................................... 53
3.2.1. Universal Receiver Protocol....................................................................... 54
3.2.2. VMTP........................................................................................................ 55
3.2.3. XTP........................................................................................................... 55
3.2.4. TCP............................................................................................................ 56
3.2.5. NetBlt......................................................................................................... 56
3.2.6. ÔCross Product ProtocolsÕ.......................................................................... 57
3.2.7. Delta-t........................................................................................................ 58
3.2.8. Virtual Clock.............................................................................................. 58
3.2.9. SNR (leaky bucket).................................................................................... 59
3.2.10. TP++........................................................................................................ 60
3.3. Communicability................................................................................................... 61
3.3.1. Cybernetics and control theory................................................................... 61
3.3.2. Time........................................................................................................... 62
3.3.2.1. Real time systems......................................................................... 63
3.3.2.2. Aging variables............................................................................. 63
3.3.2.3. Timers........................................................................................... 63
3.3.3. Constraints................................................................................................. 64
3.4. Anticipation.......................................................................................................... 64
3.4.1. Operating systems...................................................................................... 65
3.4.1.1. Concurrent execution.................................................................... 65
3.4.1.2. Time Warp.................................................................................... 66
3.4.2. Congestion control..................................................................................... 66
3.4.2.1. Anticipatory congestion control.................................................... 66
3.4.2.2. Timer-based congestion control.................................................... 67
3.4.2.3. Feedback congestion control......................................................... 67
3.4.2.4. Combination control..................................................................... 68
3.4.3. Other forms of anticipation........................................................................ 68
3.4.3.1. Client / server extensions.............................................................. 68
3.4.3.2. Recent protocol discussions.......................................................... 69
3.5. Physics analogs.................................................................................................... 70
3.5.1. Truth Maintenance Systems....................................................................... 70
3.5.2. Physics in protocols................................................................................... 70
Chapter 4 – A Mirage of NTP......................................................... 72
4.1. An overview of NTP............................................................................................ 73
4.1.1. How NTP reads a clock............................................................................. 75
4.1.2. NTP background........................................................................................ 77
4.2. Casting NTP into Mirage...................................................................................... 78
4.3. Resolution of domain differences......................................................................... 79
4.3.1. Analysis of delay and offset measurements............................................... 82
4.4. Description of NTP in Mirage.............................................................................. 88
4.4.1. State space.................................................................................................. 89
4.4.2. Transformations......................................................................................... 90
4.4.2.1. Time.............................................................................................. 90
4.4.2.2. Send.............................................................................................. 92
4.4.2.3. Receive......................................................................................... 93
4.4.3. Partitioning of the state space..................................................................... 96
4.4.4. NTP degenerates to a clock pulse............................................................... 97
4.4.5. Constraints................................................................................................. 98
4.5. Observations......................................................................................................... 98
4.5.1. Gains.......................................................................................................... 99
4.5.2. Prior work.................................................................................................. 100
4.5.3. Conclusions............................................................................................... 101
Chapter 5 – m-Net........................................................................... 102
5.1. Preface to Chapters 5 and 6.................................................................................. 102
5.2. Introduction.......................................................................................................... 104
5.2.1. The Domain - the processor / memory interface......................................... 106
5.2.2. Description of current architectures............................................................ 106
5.2.3. Effect of latency on existing architectures.................................................. 111
5.3. m‑Net.................................................................................................................... 114
5.3.1. Time transformations................................................................................. 115
5.3.2. Receive transformations............................................................................. 116
5.3.3. Send transformations................................................................................. 116
5.3.4. Guarded messages..................................................................................... 118
5.3.5. Partitioning the state space (stability)......................................................... 119
5.3.6. Isopotent sets............................................................................................. 119
5.4. m‑Net - Design...................................................................................................... 120
5.4.1. The Code Pump......................................................................................... 120
5.4.2. The Filter Cache......................................................................................... 121
5.4.3. Degrees of design...................................................................................... 122
5.5. Elaboration of degrees of design........................................................................... 125
5.5.1. No opcodes anticipated (Null implementation)........................................... 126
5.5.2. Unit Linear opcodes anticipated................................................................. 127
5.5.3. Linear opcodes anticipated......................................................................... 129
5.5.4. Recursion and Linear anticipation.............................................................. 130
5.5.5. Branching and Linear anticipation.............................................................. 131
5.5.6. Combining Recursion and Branching anticipation..................................... 135
5.5.6.1. The TreeStack............................................................................... 136
5.5.6.2. The Total implementation of m‑Net............................................... 137
5.6. Implications.......................................................................................................... 141
5.7. Conclusions.......................................................................................................... 147
Chapter 6 – m-Net under a m-Scope................................................. 148
6.1. Performance gains................................................................................................ 150
6.2. On the feasibility of implementations as architectures........................................... 157
6.3. Observations......................................................................................................... 166
6.3.1. Kinds of instructions.................................................................................. 166
6.3.1.1. Regular opcodes (OTHER) and JUMPs...................................... 166
6.3.1.2. BRANCHES................................................................................ 167
6.3.1.3. INDIRECT................................................................................... 167
6.3.1.4. CALL and RETURN.................................................................... 168
6.3.2. Other observations..................................................................................... 169
6.4. Relation to prior work........................................................................................... 169
6.4.1. Instruction Issue Logic (Code Pumping)................................................... 170
6.4.1.1. Fairchild F8.................................................................................. 170
6.4.1.2. Distributed Logic Instruction Issue............................................... 172
6.4.1.3. The Sustained Performance Architecture...................................... 174
6.4.2. Cache issues............................................................................................... 176
6.4.2.1. Prediction/prefetching................................................................... 176
6.4.2.2. Wide lines..................................................................................... 177
6.4.2.3. Software....................................................................................... 177
6.4.2.4. Prefetching vs. cacheing............................................................... 178
6.4.2.5. Prefetch v.s pre-reply.................................................................... 179
6.4.2.6. Guarded messages........................................................................ 179
6.4.3. Other related architectures.......................................................................... 180
6.4.3.1. IBM Stretch (7030) - one of the first prefetch.............................. 180
6.4.3.2. IBM 360/91 - dual prefetch.......................................................... 181
6.4.3.3. Rope multiple prefetch.................................................................. 182
6.4.3.4. Access / execute architectures....................................................... 183
6.4.3.5. IBM RS/6000............................................................................... 184
6.4.4. Remote Evaluation..................................................................................... 184
6.4.5. Multiple alternates...................................................................................... 185
6.5. Conclusions.......................................................................................................... 185
6.5.1. Notes for designers.................................................................................... 186
6.5.2. Notes for researchers................................................................................. 187
6.5.2.1. Memory management................................................................... 187
6.5.2.2. Opcode anticipation AmdahlÕs Law.............................................. 188
6.5.2.3. FlynnÕs taxonomy......................................................................... 188
Chapter 7 – Conclusions.................................................................. 190
7.1. Review.................................................................................................................. 190
7.1.1. New questions........................................................................................... 191
7.1.2. The model.................................................................................................. 191
7.1.3. Existing protocols...................................................................................... 192
7.1.4. New protocols............................................................................................ 192
7.2. Evaluation............................................................................................................. 193
7.2.1. And the answer is...................................................................................... 193
7.2.2. Is Mirage useful?....................................................................................... 195
7.3. Future Directions.................................................................................................. 195
7.3.1. Abstract studies.......................................................................................... 195
7.3.2. Protocol studies (analysis)......................................................................... 196
7.3.3. Implementation studies (design)................................................................. 196
Chapter 8 – Bibliography................................................................ 197
Appendix A – Mirage & Shannon................................................... 207
A.1. The channel.......................................................................................................... 207
A.2. State transformations........................................................................................... 208
A.3. Levels of communication..................................................................................... 209
A.3.1. Extensions for time................................................................................... 210
A.3.2. Time vs. error............................................................................................ 211
A.4. Observations........................................................................................................ 212
Appendix B – Mirage & Physics...................................................... 213
B.1. Origins of the analogy.......................................................................................... 213
B.1.1. Field interaction as communication............................................................ 214
B.1.1.1. Four physical forces..................................................................... 215
B.1.1.2. Communication forces................................................................. 215
B.1.2. Further references...................................................................................... 215
B.2. Existing analogies from physics........................................................................... 216
B.2.1. Entropy...................................................................................................... 216
B.2.2. Uncertainty................................................................................................ 217
B.2.3. Hamiltonian function................................................................................. 217
B.3. Quantum analogies............................................................................................... 218
B.3.1. State sets / multiple worlds........................................................................ 218
B.3.2. State set collapse........................................................................................ 219
B.3.3. Virtual pairs............................................................................................... 220
B.3.4. Feynman path integrals.............................................................................. 220
B.4. Observations from the analogy............................................................................ 221
B.4.1. Error and latency as conjugates................................................................. 221
B.4.2. Stability..................................................................................................... 221
Appendix C – Upper Bound............................................................ 224
Appendix D – The Liouville Theorem.............................................. 226
Appendix E – Mirage in Set Notation.............................................. 228
E.1. Definitions............................................................................................................ 228
E.2. Time Transform.................................................................................................... 229
E.3. Receive Transform............................................................................................... 231
E.4. Send Transform.................................................................................................... 232
E.5. Observations........................................................................................................ 232
Appendix F – Mirage & Petri Nets.................................................. 233
F.1. Petri Net Analogs................................................................................................. 233
F.1.1 Communication channel.............................................................................. 236
F.1.1.1 Basic block.................................................................................... 237
F.1.1.2 Virtual tokens................................................................................ 238
F.1.2 Equivalences to Mirage transformations..................................................... 240
F.1.2.1 Time.............................................................................................. 240
F.1.2.2 Send.............................................................................................. 241
F.1.2.3 Receive.......................................................................................... 242
F.2. Capacity in a PN................................................................................................... 242
Appendix G – The TreeStack.......................................................... 244
G.1. Components......................................................................................................... 244
G.2. Operations........................................................................................................... 245
G.2.1. Push.......................................................................................................... 245
G.2.2. Pop............................................................................................................ 246
G.2.3. Branch....................................................................................................... 246
G.2.4. Select subtree............................................................................................ 247
G.2.5. Equivalence transforms - Twinning and UnTwinning.............................. 248
G.2.6. Canonical forms........................................................................................ 248
G.2.6.1. Twinned TreeStack...................................................................... 249
G.2.6.2. UnTwinned TreeStack................................................................. 249
G.2.7. The Graft transform.................................................................................. 250
Appendix H – m‑Scope Methods...................................................... 254
H.1. Existing Tools...................................................................................................... 254
H.2. The method.......................................................................................................... 257
H.3. Observations........................................................................................................ 259
H.4. AWK scripts and C-language code listings......................................................... 260
H.4.1. MSCOPE.h - C-language ÔincludeÕ file.................................................... 260
H.4.2. INSERT_SYMBOLS - AWK, inserts signals in SPARC assembler....... 260
H.4.3. INSERT_OPCODES - AWK, signals become SPARC assembler.......... 264
H.4.4. MSCOPE.c code - output desired statistics............................................... 265
H.4.5. STATIC_COUNT - get static SPARC opcode distributions.................... 267
Chapter 1 – Introduction................................................................ 1
Table 1.1: Network size and speed equivalences.............................................................. 12
Table 1.2: Network and node characteristics.................................................................... 14
Chapter 2 – The Mirage model........................................................ 17
Chapter 3 – Prior Work.................................................................. 48
Chapter 4 – A Mirage of NTP......................................................... 72
Table 4.1: NTP versions and components........................................................................ 78
Table 4.2: Mirage interpretation of the state variables of NTP......................................... 89
Chapter 5 – m-Net........................................................................... 102
Table 5.1: Opcode time transformations........................................................................... 117
Table 5.2: Degrees of implementation, and the implications of each................................ 123
Table 5.3: Null Filter send actions.................................................................................... 126
Table 5.4: Null Filter receive actions................................................................................ 126
Table 5.5: Null Converger actions.................................................................................... 127
Table 5.6: Null Diverger actions...................................................................................... 127
Table 5.7: Unit Linear Filter send actions......................................................................... 128
Table 5.8: Unit Linear Diverger actions........................................................................... 128
Table 5.9: Linear Filter send actions................................................................................. 129
Table 5.10: Linear Diverger actions................................................................................. 130
Table 5.11: Recursion Filter send actions......................................................................... 130
Table 5.12: Recursion Diverger actions........................................................................... 131
Table 5.13: Branching Filter send actions........................................................................ 133
Table 5.14: Branching Filter receive actions..................................................................... 133
Table 5.15: Branching Converger actions........................................................................ 134
Table 5.16: Branching Diverger actions........................................................................... 134
Table 5.17: Total Filter send actions................................................................................. 138
Table 5.18: Total Filter receive actions (same as Branching filter)................................... 139
Table 5.19: Total Converger actions................................................................................. 139
Table 5.20: Total Diverger actions................................................................................... 140
Table 5.21: CPI (EXEC) values of common CISC and RISC CPUs............................... 146
Chapter 6 – m-Net under a m-Scope................................................. 148
Table 6.1: Approximate dynamic opcode distribution...................................................... 152
Table 6.2: Approximate speedup in various degrees of implementation........................... 153
Table 6.3: m‑Net implementations and cache equivalents (no branch assumption)........... 154
Table 6.4: m‑Net implementations & cache equivalents (equiprobable branching)........... 155
Table 6.5: Adjusted dynamic opcode distributions (approx. a cache miss stream)........... 155
Table 6.6: Performance increases where latency dominates design parameters................ 156
Table 6.7: Mean and median limb lengths for m‑Nets implementing branching............... 162
Chapter 7 – Conclusions.................................................................. 190
Chapter 8 – Bibliography................................................................ 197
Appendix A – Mirage & Shannon................................................... 207
Table A.1: WeaverÕs 3 levels of communication.............................................................. 210
Table A.2: MirageÕs 2 levels of latency............................................................................ 212
Appendix B – Mirage & Physics...................................................... 213
Table B.1: Physics analogs of protocol components........................................................ 214
Appendix C – Upper Bound............................................................ 224
Appendix D – The Liouville Theorem.............................................. 226
Appendix E – Mirage in Set Notation.............................................. 228
Appendix F – Mirage & Petri Nets.................................................. 233
Appendix G – The TreeStack.......................................................... 244
Appendix H – m‑Scope Methods...................................................... 254
Chapter 1 – Introduction................................................................ 1
Figure 1.1: Network rate.................................................................................................. 9
Figure 1.2: Increased rate as bit foreshortening................................................................ 10
Figure 1.3: Figure 1.1, as it appears to the bits in transit.................................................. 10
Figure 1.4: Network size and speed equivalences............................................................ 12
Figure 1.5: Node buffer size (memory) vs. information separation (bit -latency)............. 13
Chapter 2 – The Mirage model........................................................ 17
Figure 2.1: Kinds of protocol lookahead / branching....................................................... 19
Figure 2.2: Utilization as latency increases (linear lookahead)......................................... 20
Figure 2.3: Tree levels...................................................................................................... 24
Figure 2.4: Utilization of branching lookahead (P=5, D=2, L=4)................................... 25
Figure 2.5: Channel utilization (relative to lnear) (P=5,D=2,L=4)................................... 26
Figure 2.6: Utilization vs. branch arm length (geometric)................................................ 28
Figure 2.7: Utilization vs. branch degree (geometric)....................................................... 28
Figure 2.8: Mirage communication channel..................................................................... 31
Figure 2.9: ShannonÕs model........................................................................................... 33
Figure 2.10: Visualization of state space volume transformations.................................... 34
Figure 2.11: Control space evolution............................................................................... 37
Figure 2.12: Entire space affected by unguarded message............................................... 40
Figure 2.13: Guarded messages affecting partitions only................................................. 40
Figure 2.14: Bit foreshortening and its effect on lookahead / utilization........................... 42
Figure 2.15: Bit foreshortening and branching effecting utilization................................. 43
Chapter 3 – Prior Work.................................................................. 48
Chapter 4 – A Mirage of NTP......................................................... 72
Figure 4.1: NTP message format..................................................................................... 74
Figure 4.2: NTP message exchange................................................................................. 75
Figure 4.3: Exchange slid forward (maximum offset)...................................................... 77
Figure 4.4: Exchange slid backward (minimum offset).................................................... 77
Figure 4.5: Unidirectional delay as a Poisson pdf............................................................ 80
Figure 4.6: Bidirectional delay is the convolution of unidirectional delays....................... 80
Figure 4.7: Measured offset is unidirectional delay convolved with its reverse............... 80
Figure 4.8: Bidirectional delay as Erlangian (N=2).......................................................... 81
Figure 4.9: Measured offset as pseudo-Gaussian............................................................ 81
Figure 4.10: Probability vs. [delay, offset] pairs, density plot.......................................... 81
Figure 4.11: Tuesday offset values (off-peak)................................................................. 82
Figure 4.12: Friday offset values (peak).......................................................................... 82
Figure 4.13: Tuesday delay values (off-peak).................................................................. 83
Figure 4.14: Friday delay values (peak)........................................................................... 83
Figure 4.15: Delay v.s offset, time-repetition density (off-peak)...................................... 84
Figure 4.16: Delay vs. offset, time-repetition density (peak)............................................ 84
Figure 4.17: Delay vs. offset vs. probability, time-series (off-peak)................................ 85
Figure 4.18: Fixed (black) and variable (gray) delay in message exchange...................... 86
Figure 4.19: Exchange maximum offset, variable delay................................................... 86
Figure 4.20: Exchange minimum offset, variable delay.................................................... 86
Figure 4.21: Delay vs. offset, entire ensemble (all strata)................................................. 87
Figure 4.22: Stratum 1 ensemble...................................................................................... 88
Figure 4.23: Stratum 2 ensemble...................................................................................... 88
Figure 4.24: Stratum 3 ensemble...................................................................................... 88
Figure 4.25: Stratum 4 ensemble...................................................................................... 88
Figure 4.26: Clock value is a function of time.................................................................. 91
Figure 4.27: Clock interval as fixed expansion centered on time function........................ 91
Figure 4.28: Transformation of a perception due to a sent NTP message........................ 92
Figure 4.29: Transformation of a perception due to a received NTP message.................. 94
Figure 4.30: Receive transformation, accommodating transit time effects.........