For retailers, December is clearly the busiest month of the year, a time when the load on IT systems mounts day after day until the last climactic day before Christmas. No matter if the selling gets done online or off, this is the month a retailer will see its systems put to the test.
In the financial markets, though, every month is December, and every day a potential Christmas Eve. Systems must be constantly ready to cope with large surges in trading activity.
Just ask Gresham Computing, a London-based software firm that provides what are called transaction control systems. Investment banks use these to reconcile and match trades, a process that can take as long as three days between the moment of a trade's execution and the actual exchange of cash or stock between buyer and seller. During that time, as many as 60 different IT systems may participate in the transaction, a complexity that opens the door to a variety of potential problems.
"Trades can go wrong for many reasons," Gresham's Neil Vernon, development director, tells me. "A bank may not always be able to determine where things have gone wrong," and when it does lose track, the situation can lend itself to fraud.
Gresham's Clareti Transaction Control system tracks the progress of each transaction, collecting confirmation and other messages from all of the systems that are involved and joining them together to "provide a complete and consolidated view" of all the activity. Given that banks may easily execute 4 million, 5 million, or even 8 million trades per hour, even if only 40 IT systems are involved the total number of messages to be collected every hour can add up to well over 300 million.
The highly secretive Amazon.com doesn't give out figures about how many transactions it handles on busy days, but I doubt very much it approaches 300 million per hour. Such a rate would require everyone in the US to make a purchase. On the other hand, Internet Retailer reports that on the morning of Black Friday, Akamai Technologies' content delivery network was helping to deliver webpages at a rate of 7.5 million views per minute.
Gresham's code, of course, is not actually transacting business, it's just tracking a multi-flow work process from beginning to end, matching disparate pieces of data and applying a good number of business rules along the way.
Now, the company reports that in benchmark tests, its code has shown itself able to process transactions at a rate of 500,000 per second, or 1.8 billion per hour. And surprisingly, this blazing speed does not require acres of servers to accomplish. Instead, Vernon tells me, only a trio of Intel Xeon E7 processor chips were involved, along with 192GB of main memory.
And it is keeping data entirely in that memory, of course, that does the trick. Gresham's code, written in Java, takes advantage of an in-memory data grid, or "elastic application platform," supplied by a company called GigaSpaces. That platform's job is to help multiple processors share data and automatically balance changing workloads across them, all in a way that makes possible linear scalability.
Vernon says the 500,000 tps is, in fact, "well in excess of what customers need," but being able to quote such a figure will certainly help the company compete in its marketplace. Many trading houses actually reconcile trades with overnight batch processes, but Gresham is out to make possible real-time processing, which in this context refers to fall behind no more than 30 minutes.
Gresham ran its benchmark tests using a test data set of 150 million transactions. The work was done at Intel's fasterLABS, located in Reading, UK, where the chip giant works a good deal with companies in the financial services industry. Intel's interest, Vernon says, is partly to show how the evolution of its processors, especially in the area of managing multiple processing threads (each Xeon chip can have as many as 16 cores), can help programmers achieve new levels of performance.
Ultimately, I imagine, Intel sees still more potential demand for such high-speed processing beyond the financial services arena. The Internet of Things, for instance, with millions of machines wired with sensors, will produce huge volumes of data that will need real-time handling.
While no SSDs were involved, Vernon tells me that that storage technology would make his trading code run 20 percent to 30 percent faster than with HDD. For now, though, Gresham has more than enough performance to show customers.