PublicNTP

Menu

PNTP Open Architecture Stratum One Part 3: Technical Overview

April 22, 2019

Satellite Terminal
Motherboard
Satellite System
Satellite Terminal Motherboard Satellite System

April 22, 2019

J. Brad Woodfin

In our previous two articles, PublicNTP introduced our open architecture stratum one solution, and then explained the rationale for why we embarked on the project in the first place.

In this third entry in the series, we get into the technical decisions we made, and the decision points we encountered along the way to the current iteration.

Form Factor

    Going with a standard 19 inch/482.6mm width, 1.75 inch/44.5mm high (1U) rackmount form factor was a no-brainer. We are going to install these servers in commercial datacenters and it’s easier and cheaper to buy equipment that fits in a standard datacenter equipment rack.

Server chassis

    We looked at both Dell PowerEdge and HP Enterprise (HPE) rackmount servers.

    Based on our board members’ collective positive personal experiences working with Dell servers, the competitive price point, and availability of spare parts, we chose the Dell PowerEdge R240 chassis.

    The R240 is a single socket 1U rackmount server with 2x PCIe Gen 3.0 slots, with the ability to hold up to 64GB of memory, and has configurations with price points starting below 600 USD.

Server hardware configuration

  • CPU: as all modern NTP daemons are single-threaded, there is no advantage for a large number of CPU cores. We purchased the two-core/four-thread Intel Pentium G5500 at 3.80 GHz with 4MB of cache.
  • Memory: Dedicated NTP servers require very little memory. We stayed at the chassis minimum of a single 8GB 2666MT/s DDR4 ECC DIMM
  • Storage: NTP servers are very light on storage requirements, including capacity, latency, and IO operations per second. A pair of 1TB 7200 RPM SATA drives in a RAID-1 configuration is entirely sufficient for our needs
  • Network card: NTP requires very little bandwidth (roughly 200 bytes per request/response pair), so the onboard 1Gbps NIC is sufficient
  • Power cord: this is very dependent upon what country the server is being installed in, so it varies wildly
  • The above configuration was able to be delivered to us with free shipping for under 700 USD.

PCI Express GPS Receiver

    We considered offerings from:

    PublicNTP settled on the Meinberg GPS180PEX PCI Express card as our GPS receiver (purchased through our partners at JTime!, the exclusive distributor for Meinberg in the US).

    So far, the Meinberg solution has been a perfect match for our needs, primarily due to the following factors:

    • Competitive price point
    • Well-known, highly-respected brand (Meinberg has a very strong reputation)
    • Three year warranty standard, extendable to ten years
    • Extension can be purchased at any point, during ordering or later down the road
    • Excellent technical support, including lifetime software support
    • Manufacturer-provided and -supported driver support for Linux, including out-of-the-box support for the NTP reference implementation (which we run)
    • Meinberg-produced and -supported active (amplified) GPS antenna included
    • Optional Surge voltage suppressor
    • Excellent documentation, particularly the user manual
    • Supports long runs from card to antenna
      • Can do 300 meters with RG58 and 700 meters with RG213 without any additional amplification needed

    The order we placed with JTime!’s Marc Street had an invoice price, including shipping, of 1,970 USD.

Operating System

NTP Server Software

    PublicNTP currently runs the Network Time Protocol Reference Implementation (more commonly known as “ntpd”) from the Network Time Foundation on our servers.

    We have started internal testing with NTP server software from other vendors, including the NTPsec project, but these efforts aren’t yet mature enough to roll out to our production servers.

UTC Synchronization

    We configured NTPd to synchronize to UTC using both the shared memory (SHM) driver and the Pulse-Per-Second (“PPS”) clock discipline using pin one of the serial output of the Meinberg GPS receiver.

    The shared memory driver allows the server to synchronize within about ~70 microseconds (0.000070 seconds) of Coordinated Universal Time (UTC).

    Supplementing the shared memory driver with the PPS clock discipline allows the server to get within ~10 microseconds (0.000010 seconds) of UTC.

PublicNTP takes pride in both the work we’ve put in to this list of resources and that we are here to share it for everyone with an interest in our purpose. We hope this provides a roadmap of costs and hardware for your own time server needs. Stay tuned for our next article where we’ll be taking a deep dive into our step-by-step process.

PublicNTP Consent Manager

Like many companies, PublicNTP uses cookies and other technologies, some of which are essential to make our website work. Others help us improve services and the user experience or to advertise. In using our site, you consent to the use of these cookies and other technologies. Learn more about cookies and other technologies we use.