Tuesday, 1 September 2009

Stock Trading Delays Cost Institutions Millions

By Lance Jepsen

Computer programmers have created an inexpensive solution for diagnosing delays in data center networks as short as a hundred millionth of a second. These very short delays measured in millionths of a second can cause multi-million dollar losses for investment banks running automatic stock trading systems.

Purdue and the University of California computer science departments teamed up to work on the problem. They created a very small algorithm that requires no additional hardware to run.

This small programming code can detect delays as short as a millionth of a second in a router. The code will also detect packet loss as small and rare as one packet loss in a million. Every router in a data center can run this small code.

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

Big brokerage houses will be very interested in this technology. If an institutional investor has a stock trading algorithm that reacts to incoming market data just 100 microseconds earlier than the competition, it can buy millions of shares and push the price of a stock higher before the competition has time to react.

Online automated exchanges like the American Stock Exchange use custom designed hardware boxes that are very expensive. These boxes are put on routers and key points in a data center network. These external hardware boxes are too expensive to put on every router within a data center network making it difficult to trouble shoot and find a problem router. By the time the problem is detected and fixed, it will cost the company anywhere from 2 to 4 million dollars because of delayed buy and sell orders.

This computer programming code will allow router vendors to add loss tracking on every router at no additional cost. This will completely eliminate the need for specialized external router monitoring devices.

The way router performance is monitored now is by expensive external hardware that tracks when a packet enters the router and when it exists the router and then takes the difference of those times.

Instead of summing the arrival and departure times of all packets traveling through a router, the computer programmers new system randomly splits incoming packets into groups and then adds up arrival and departure times of each of the groups separately. As long as the number of losses is smaller than the number of groups, at least one group will give a good estimate.

Calculating the difference of the groups arrival and departure times and then dividing by the total number of messages gives a very accurate estimate of the average delay of a given router. This approach requires so little computer programming code that it really is about the same code as a simple counter.

A data center network that has this programming code built in to every router will be able to quickly pinpoint a faulty router that is adding an extra millionth of a second delay or that is losing one packet in ten million.

About the Author:

No comments: