FPGA technology into the ultra low latency trading.
Anyone out there successfully implemented Field-programmable gate array (FPGA) technology in Stock Trading for Ultra low latency connectivity and high-frequency trading (HFT) solutions?? We would like you to share PROS and CONS of implementing FPGA and configuring it with special programming languages known as Hardware Description Languages (HDL). What is good resource to read and learn more about this technology as well as learning about programming the chips. How to integrate these chip with our existing trading system and more…
Your input (experience sharing) working with FPGA is highly appreciated!
I too a have a strong interest in FPGA and based on some of the metrics see this as a game changer with HFT and options trading. Anyone have any insight into FPGA? if you find anything please pass along the info and I will surely do the same for you…
I did find couple of websites but they all provide generic information on FPGA. I am looking to hear something from someone who really has experience working in this field and can share his/her views on it. Bob, I do have couple of friends in UK working on FPGA technology and GPU supercomputing technologies in order to extract full high performance computing power for ultra low latency, high-frequency trading (HFT) solutions. Because of confidential Non-Disclosure Agreement they are not in position of openly discussing what they are experimenting.
Please visit below page for generic information on FPGA and GPU supercomputing technologies
HFT Technologies LLC main products are an Ultra Low Latency Price Feed Handler and our FIX Gateway available, both are available for Linux and Windows. We are in our final beta testing at two sites with our FPGS supported version (Linux Only). We expect the Hardware accelerated version to be available to the public in a (2) few weeks, if you are interested in becoming a beta site please contact me quickly as we are limiting the number of beta sites. Our Software and Hardware versions of the ULLPFH & FG use a common API, so if you start out with the software versions you will not have to update your code when it comes time for hardware acceleration. The software version of the Price Feed Handler is running on average 20-30usec depending on your hardware specs and networking technologies, the FPGA version is under 10usec average (I can’t say exactly until testing is complete). Both versions will allow you to take your current software and adapt it to our infrastructure, it is our experience that most firms have algos working with a our software in just a few days.
The ULLPFH & FG are available for CME, CBOT, NYMEX/COMEX, (Now) Bm&fBOVESPA (awaiting certification late Aug/2011).
Pending ICE, Btec and Cantor/ESpeed (4th quarter 2011).
We also have our FX Gateways available for EBS, Reuters, Currenex, HotSpot, CME, FXall, Integral and various Bank feeds. All ECNs available through our co-located solution. This is a very quick and inexpensive way to connect to the entire FX market. All ECNs are presented through a common API and all data is normalized, this allows you access to the entire FX market quickly an efficiently. HFT Technologies supplies all the connectivity, gateways, servers and do all the system maintenence, you pay one monthly price.
We have been thinking about building a algo tool kit to sit on top of our infrastructure pieces but most firms seem comfortable handling the algo development themselves. I can always have one of my programers work with you on a custom solution.
If you are interested in the ULLPFH & FG for CME, CBOT, NYMEX/COMEX, I can set you up on a 30 day free trial. It will give your team the chance to see how easy it is to work with our API and be able to test the performance.
To date every firm that has done a Proof-of-Concept has accepted the software and is using it in production. If your firm is interested in a 30 day Proof-of-Concept and you have production applications or are just starting development, contact us and we can get you connected in a week or two.
On another note, our network design team and co-location specialist are testing some of the fastest switches and servers on the market. The current switches we are testing are much faster that what is currently on the market (I can’t tell you more without a NDA).
Edge Financial Technologies offer ultra low latency price feed and order routing software to various exchanges.
Our software price feed handler is under 20 microseconds.
Our software order routing server is under 10 microseconds.
We offer kernel bypass technology with Solarflare network cards to further reduce end to end latency within trading systems.
Our systems have been in production for 14+ months. see details at www.getadit.com
We have ways to make software based solutions run faster than FPGA or hardware based systems. Most FPGAs have processors that are much slower than 3.6 GHz Intel processors, and therefore cannot process at the same speeds as a CPU.
There are a lot of misconceptions in the market about FPGA based solutions. Most people have not fully utilized the latency offered by optimized software based solutions.
I encourage you to not look at just raw latency numbers when choosing a system, but also consider scalability, robustness, ease of creating and deploying trading strategies, and other factors that affect your trading.
I’m happy to answer specific questions about FPGA versus software based solutions.
My background includes real-time embedded softare but most of my experience is in designing, architecting and management in semiconductors, including a lot of FPGA experience.
There is a lot more to FPGAs than just comparing the slower speed you would get from a processor embedded in an FPGA to the speed of an Intel or AMD processor. FPGAs allow you to craft logic solutions for parts of your system which will benefit from optimized hardware and significant parallization which, even at a lower clock speed, can significantly outperform SW solutions on CPUs. I think one of the most important things, in trading systems, as in other types of systems, is a well-considered architecture that makes wise decisions about what parts of a system to place in FPGA logic vs in software on a CPU (or in SW on a CPU in the FPGA). System architects with experience spanning software and hardware can be invaluable here.
When it comes to performance improvement, your milage will vary depending on many things. I think another key thing to keep in mind is that FPGAs are not like processors at all, even though there is a language to program them that looks a little like software. Setting out to do an FPGA project with little logic design experience on your team and little support from third parties would likely have poor results or big challenges, even if you aim to utilize something like a C to HDL compiler. I suspect this is why some folks in this space are developing the opinion that going the FPGA route is challenging or does not yield improvements. I would recommend working closely with experienced semiconductor or FPGA design professionals, whether through a vendor, contractor or direct employees. It could make a large difference in the performance improvement you see using FPGAs for acceleration.
Before deciding or planning on inclusion of FPGAs in your system, consulting with some FPGA knowledgable people with good system level experience would probably be a good move to help with expectations, planning and direction.
A company called Xtreme Data has FPGA technology. My company has been using Xtreme’s technology for almost a year. Its fast and technically sound. And in case anybody is wondering, I do not work for them.
FPGAs are extremely relevant for ULL trading. But probably not in isolation. The parallelism that can be built using FPGAs far surpasses what can be achieved in a processor – but only for certain things. The ultimate solution is a real-time paramatrizable FPGA engine running the quick reponse algo and steered by software running in a host server. Sub 1us and better response times should be possible, depending on the algo.Xtremedata have a good intro to how FPGAs can be used for ULL trading:http://www.xtremedata.com/images/webinar/AccelerationAcademy_Session_6_2010_Final.pdf
I am investigating FPGA structures for ultra low latency trading. My approach is to develop a set of HDL components for FPGAs to work as building blocks for ULL trading solutions.I havent been going at this for long and am only do it part time. At the moment, I am developing components for solutions involvingFPGA processing of FIX messages, and in particular are working on a quick response logic (QRL) engine that can analyse an incoming FIX message and make a response based on certain criteria. I am aiming at <100ns response time. My test bench is FIX 5.0 over UDP over 1Gb ethernet. I do not have market connectivity, so all my testing is local.
I already have the ability to respond to a favourable price tick in under 50ns, but my solution is not fully-baked yet, and while certain optimisations can still be performed the response time is likely to increase as complexity is added.Dont forget that over 1Gb, a 200 byte FIX message will take 1.6us to transmit (160ns at 10Gb).
The strategy I am following is to process the incoming FIX message in real time as it comes off the wire so that if desired, a response can be made almost immediately.There is direct application in areas such as smart order routing, arbitrage exploitation, and risk management – but I need to know more about these areas and would benefit from collaboration with someone who knows about the relevant algos.
If you want to look more at what I’m doing, please visit http://fixqrl.pbworks.com which describes my first project – the FIX QRL engine. – you will need to request access once you visit the site.
NOTE I now post my TRADING ALERTS into my personal FACEBOOK ACCOUNT and TWITTER. Don't worry as I don't post stupid cat videos or what I eat!