MetaWatch is a powerful application designed for Metamako's high-performance hardware which simplifies network data capture, monitoring and analytics. It combines several components of a traditional network monitoring solution into one device:
- Tap Aggregation
- Precise Time Synchronisation
- Deep Buffering
- Nanosecond-precision Timestamping
By default, MetaWatch uses a high quality on-board crystal oscillator, however given MetaWatch's ability to timestamp with nanosecond resolution, for some use cases, this may not offer the desired level of accuracy. The K-Series Metamako devices can be ordered, or upgraded, with a clock module option designed to improve MetaWatch's accuracy. This clock module option comes in two flavours: an oven-controlled crystal oscillator (OCXO Clock Module) and a rubidium oscillator (Atomic Clock Module). Both offer significantly more stability than the on-board oscillator, allowing them to be synchronised more closely to an external reference clock.
Metamako recently performed in-house tests to quantify the difference that oscillator stability has on short-term timestamp deviations when disciplined from a stable reference.
Clock module comparison - Method & Results
Three K-Series MetaApp 32 devices running MetaWatch 0.6.1 were used to simultaneously timestamp the same stream of incoming Ethernet packets. Each device was fed PPS from a TimeTech 10535 pulse distribution unit, with output port-to-port jitter of <20 ps, connected to our SRS FS725 rubidium frequency standard with PPS output jitter of <10 ps. The Ethernet stream was fanned out via a MetaConnect 96 Layer 1 switch. One of the MetaApp 32 devices contained the Atomic Clock Module whilst another contained the OCXO Clock Module. Across the three devices, MetaWatch was configured to use the Atomic Clock Module, the OCXO Clock Module and the on-board crystal oscillator respectively.
The timestamped streams were then aggregated and captured to disk for analysis. This analysis involved comparing the timestamps applied by each device and measuring any differences between the timestamps applied by MetaWatch using the different oscillators. To capture as much timestamp granularity as possible, a ~5 second 10GbE line-rate stream of 64-byte frames, comprising over 70 million packets was used. The test was repeated for a total of four times.
1. On-board Crystal Oscillator compared to the OCXO Clock Module
The following histograms show the distribution of the timestamp difference, in nanoseconds, between the same packets timestamped using the on-board crystal oscillator and the OCXO Clock Module:
Across all four test runs, all timestamps derived from the on-board crystal oscillator and the OCXO Clock Module were within -4/+15 ns of each other.
The histogram for Run 2 has a much wider distribution than the other three runs. When broken down by second, as shown below, the extended width of the histogram is due to the relative difference between the on-board crystal and the OCXO changing over multiple seconds rather than excessive oscillator instability N. B. the oscillator phase and frequency are adjusted by MetaWatch based upon the PPS pulse so corrections occur every second.
Though the on-board crystal offers good stability over fractions of a second, over longer timeframes (seconds), it wanders relative to the PPS reference.
2. OCXO Clock Module compared to the Atomic Clock Module
The following charts show the distribution of the timestamp difference, in nanoseconds, between the same packets timestamped using the OCXO Clock Module and the Atomic Clock Module:
Across all four test runs, all timestamps derived from the different clock modules were within ±4 ns of each other and 82.5% were within ±1 ns of each other.
It must be noted that this test is actually measuring not just the stability of of the clock modules but also the ability of two MetaWatch instances to synchronise to a PPS source; any synchronisation error from either device will be reflected in the delta between timestamps.
These results bear comparison to the NTE2 test in the STAC-TS report for MetaWatch that was run in 2017. This test specifically measured the accuracy of MetaWatch's timestamps to its PPS source. The STAC-TS.NTE2 results, tested on MetaWatch 0.5.2, were 100% of values within -3/+2 ns of the PPS reference. Substantial improvements have subsequently been made to MetaWatch's timestamp accuracy in the current version. The histogram distribution of these results being only marginally wider than the STAC-TS.NTE2 result demonstrates not only the short-term stability of the OCXO Clock Module but the improved timestamp accuracy of MetaWatch.
Clock module options - which one is right for you?
As illustrated above, the fundamental benefits of the OCXO and Atomic Clock Modules are improved short-term stability. Based upon the results of our testing, individual timestamps relative to each other obtained from capturing market data for multiple hours could vary by ±15 ns on the same device with the potential for ±30 ns across multiple devices, all using the on-board crystal oscillator. The same capture using the OCXO or Atomic Clock Modules would reduce that to just ±4 ns across multiple devices. Another point to keep in mind is that Metamako continues to improve the accuracy of MetaWatch's timestamping as we release new versions so we expect the timestamp error to keep being reduced. It will, however, always be limited by the stability of the oscillator used. With the OCXO and Atomic Clock Modules under PPS discipline, Metamako's eventual goal is to achieve true nanosecond accuracy across multiple devices.
Though both, the OCXO and the Atomic Clock Modules, exhibit the same short-term stability, they exhibit rather different longer term stabilities. This is simply a function of the way that the different types of oscillators keep time. OCXO's will generally drift by no more that 100 us to 1 ms after running for 24 hours whereas rubidium atomic clocks are significantly more stable, generally only drifting single-digit microseconds in 24 hours. Choosing the Atomic over the OCXO Clock Module therefore makes sense if there is a chance that MetaWatch will need to free-run for extended periods of time while remaining as accurate as possible.
We have put the following flowchart together, to help in potential clock module selection:
White Paper: A brief Guide to Timestamping & Time Synchronisation