This paper describes an FPGA based implementation of a real time compression algorithm used in transactions between financial institutions such as exchanges and trading houses. FIX is a protocol that has gained widespread popularity for exchanging financial information such as stock prices and purchases over the Internet. If a financial trader can speed up the processing of these protocols, he can make significant financial profits by buying or selling stocks when there is a lot of variability in the share prices. Our methodology tries to recognize and exploit streaming characteristics of the software design in order to implement a pipelined parallel processing system in reconfigurable hardware. It introduces the concept of caches to keep stream pipelines filled more often. The system implemented on a Xilinx Virtex5 LX110T FPGA shows a 17x speedup in throughput over a software implementation running on a dual core Intel Pentium workstation. These techniques are being developed as part of commercial compiler project to automatically translate software binaries to streaming RTL VHDL systems.
[1]
Joseph M. Lancaster,et al.
Visions for application development on hybrid computing systems
,
2008,
Parallel Comput..
[2]
Patrick Crowley,et al.
Auto-pipe and the X language: a pipeline design tool and description language
,
2006,
Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.
[3]
Jung Ho Ahn,et al.
Merrimac: Supercomputing with Streams
,
2003,
ACM/IEEE SC 2003 Conference (SC'03).
[4]
Michael A. Schuette,et al.
The Reconfigurable Streaming Vector Processor (RSVPTM)
,
2003,
MICRO.
[5]
Sek M. Chai,et al.
FPGA implementation of a license plate recognition SoC using automatically generated streaming accelerators
,
2006,
Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.
[6]
Henry Hoffmann,et al.
StreamIt: A Compiler for Streaming Applications ⁄
,
2002
.
[7]
Michael Wolfe,et al.
High performance compilers for parallel computing
,
1995
.