Author :
Morris, Gareth W. ; Thomas, David B. ; Luk, Wayne
Abstract :
Modern financial exchanges provide updates to their members on the changing status of the market place, by providing streams of messages about events, called a market data feed. Markets are growing busier, and the data-rates of these feeds are already in the gigabit range, from which customers must extract and process messages with sub-millisecond latency.This paper presents an FPGA accelerated approach to market data feed processing, using an FPGA connected directly to the network to parse, optionally decompress, and filter the feed, and then to push the decoded messages directly into the memory of a general purpose processor. Such a solution offers flexibility, as the FPGA can be reconfigured for new data feed formats, and high throughput with low latency by eliminating the operating system´s network stack.This approach is demonstrated using the Celoxica AMDC board, which accepts a pair of redundant data feeds over two gigabit Ethernet ports, parses and filters the data, then pushes relevant messages directly into system memory over the PCIe bus. Tests with an ORPA FAST data feed redistribution system show that the AMDC is able to process up to 3.5 M messages per second, 12 times the current real-world rate, while the complete system rebroadcasts at least 99% of packets with a latency of less than 26 us. The hardware portion of the design has a constant latency, irrespective of throughput, of 4 us.
Keywords :
field programmable gate arrays; financial data processing; local area networks; peripheral interfaces; Celoxica AMDC board; Ethernet ports; FPGA; PCIe bus; decoded messages; financial exchanges; hardware portion; market data feed processing; market place; redundant data feeds; Acceleration; Data mining; Decoding; Delay; Ethernet networks; Feeds; Field programmable gate arrays; Filters; System testing; Throughput; FPGA; finance; market-data; networks; trading;