Time Synchronization and Distribution is a business critical issue but it is easy to become bogged down in arcane technology/marketing controversies. One of those controversies is over the choice between low level network protocols used to deliver time to application server computers. The most widely used time synchronization protocol in the enterprise is called the Network Time Protocol (NTP) and there is a newer protocol called IEEE 1588 Precision Time Protocol. For most financial trading firms however, the critical questions are not down in the weeds of networks protocols, but in the level of business process: how accurate and reliable time synchronization will be for trading applications and how much alternative solutions cost to implement and to maintain. TimeKeeper time synchronization technology - hardware appliances, software clients, and software servers - is all protocol agnostic and can operate both protocols concurrently so that our customers can make decisions based on business logic instead of on technology details.
Customers and network equipment providers often express surprise (or, sadly, skepticism) when we say that we can provide the same deep sub-microsecond accuracy for NTP that we provide for PTP but it should not be all that surprising. From a network packet technology point of view the two protocols are similar and some of the same hardware support that helps improve PTP performance is also available for NTP. Each protocol has its advantages and disadvantages that manifest differently depending on user requirements and network architecture. In practice, we find that the most demanding high precision trading systems benefit from being able to use both protocols to back up and complement each other.
The perception that NTP is an inferior protocol is due to wide use of equipment that implements NTP badly. Network clocks that run NTP on 30 year old free software designed for keeping desktop PCs synchronized to within seconds, executing on an underpowered Linux embedded computers with network adapters chosen for lowest cost will usually have terrible NTP performance. The poor performance is a result of the quality of the implementation and is not intrinsic to the protocol.
TimeKeeper uses sophisticated algorithmic methods, smoothing and filtering technology, and a highly optimized code base to implement both protocols and our own methods for fault tolerance and error detection. We do not rely on any legacy code for either the server side (which sends out time) or the client side (which consumes time from a time server). TimeKeeper software will use hardware timestamping on both protocols if possible. TimeKeeper GrandMaster appliances use exceptionally precise hardware timestamping for both protocols at 10 Gigabits per second or 1 Gigabit per second. Even using TimeKeeper on just one end of a NTP stream will greatly improve time accuracy (and reliability). Using TimeKeeper on both ends, for example, using a TimeKeeper GPS GrandMaster as server and TimeKeeper Client software on the client computer will dramatically improve performance. Sub-microsecond precision is quite practical (and no tuning or configuration wizardry is needed). And TimeKeeper MultiSource Client software can be setup to consume multiple time sources, some PTP and some NTP.
Because TimeKeeper is protocol agnostic, network managers can radically upgrade time synchronization without major labor and capital expenditures. PTP prefers to be used in a multicast environment – it was designed for simple networks consisting of a single shared Ethernet. NTP was designed for long haul networks. An existing time distribution network based on NTP can be upgraded transparently by adding TimeKeeper client and server software and GrandMasters as needed or even incrementally. PTP can be turned on and off for parts of the network as business logic dictates. Clients can be configured to get a PTP feed from a local PTP GrandMaster source and to also consume an NTP feed from an existing source. Existing NTP Network clocks can even be connected to TimeKeeper servers and converted into high quality PTP/NTP servers. TimeKeeper adapts to the architecture of the existing network and to the demands of business process, it does not disrupt existing networks. TimeKeeper is designed to assist management who are focused on issues such as what level of accuracy, record keeping, and fault tolerance their trading systems need, rather than on low level technology details.
First published on yodaiken.com