Sunday, August 30, 2009

Tracking Stock Trading Network Delays

By Lance Jepsen

A cheap solution has been discovered by computer programmers for detecting millionth of a second delays in routers in data center networks. Automatic stock trading systems with even a millionth of a second delay can cost over a million dollars.

The work was presented on August 20th, 2009 at SIGCOMM. The computer programming method was created by a joint task collaboration between the University of California and Purdue University computer programmers.

This new programming method enables data centers to diagnose delays as short as millionths of a second in routers. The programming method also will detect packet loss as infrequent as one in a million at every router in a data center's network.

The programming code is called the Lossy Difference Aggregator. It requires no new hardware and has no performance penalty on the router.

Online brokers houses and stock trading platforms will love this new technology. The reason is that if you can get into a trade faster than everyone else, their buy orders will push up your position. A delay of even 100 microseconds over an incoming stock data feed can cause your buy and sell orders to be behind that of competing brokerage houses.

Exchanges such as the London Stock Exchange use specially designed external hardware boxes to track delays at various key points in the data center network. But these external hardware systems are too large and too expensive to be added to every router in a data center network running an automated stock trading system. This makes it difficult for the network managers to identify and locate problematic routers before they cost the company large amounts of money.

This approach will allow router vendors to add fine scale delay and loss tracking at every router for little if any cost. This will obsolete expensive external network monitoring boxes at every router.

The way a router's performance is measured now is that an external hardware device tracks when a packet arrives and when it leaves and then takes the difference of those times.

This new computer programming code works almost the same way but instead of taking the arrival and departure times of every packet, it splits the incoming packets into groups and then calculates the arrival and departure times of each group. As long as the number of groups is greater than the number of losses, at least one group will give a good estimate.

Subtracting these two sums (from the groups that have no loss) and dividing by the number of messages provides an estimate of the average delay with very little overhead. In fact, it really is just a series of lightweight counters.

A data center that has thousands of routers all running this new programming code in each router will be able to detect problem routers very quickly. In tests, a router that is adding a millionth of a second delay was detected instantly. The code even detected a router that was losing one packet in every hundred million. - 23309

About the Author:

No comments:

Post a Comment