I am less worried about bandwith than latency. Granted, these 10G cards are also low latency. I am using Mellanox Infiniband for my own software stack currently, but not in an optimal way, i.e., IPoIB, not verbs. Do you have first hand experience with Novasparks? I would be interested in hearing the details.
Interesting. Do you know of a good learning card? I was also thinking of getting Impulse-C? I have also considered going the National Instruments route...?
What's your experience level? FPGA design takes some pretty serious education and experience to get started, specifically you have to understand the nitty gritty of hardware/software interaction. You also have to understand the embedded nature of S/W program execution as well as the basic & advanced concepts of synchronous logic design (upper level EE/CS cirriculum). Generally, people in the FPGA design biz have several years of electronics design experience as well as graduate degrees in Electrical/Computer Engineering/Comp. Sci. - and that's before most companies will even allow them to start doing a serious FPGA design.... real world experience is paramount as the design problems get very hard very quickly. I'm not trying to intimidate you or toot my own horn (I've been designing FPGA's for over a decade and have worked through a lot of challenging problems), if you want to go down this route you're going to need to put in some serious effort and spend some decent money. That said, I can't say enough about starting with Altera, mainly because they have the best tutorials and support for a beginner. If you can code in MatLab there are also options (MatLab to HDL translations)... but, I would advise against using translation tools in general (C -> HDL or Matlab to HDL). You're going to get trapped by the "lost in translation" effect. In general you'll gain the most performance and debugging abilty by building custom function blocks directly in HDL. I can recommend an Altera Development Kit if you outline what you're trying to do more specifically (PM me with details). There are a ton of options.
I've had early access to both. They're both "along the right lines" for the right application. Really depends on what needs doing, and how it fits in with the rest of the system. Impulse-C is a catastrophe outside of very strictly defined usage. As bad an idea as it generally is to turn software guys loose on hardware design, it is actually even worse to turn them loose with something like Impulse-C.
I really see no reason why a single trader should need FPGA for his/her trading,unless all world exchanges (futures,options,forx,OTC derivatives....) are connected at the same time to elaborate a trading system on times and sales data, or to backtest a strategy based on all tick data available on every exchange. Or should I guess that new systems have become so excellent at wasting computer resources, that a modern PC has problems receiving CME data and routing an order?
Gotach, thanks. I will be ready to take this step soon and at that point I will contact you with more questions. Thanks for your generosity!
Looks like Altera is trying to make it easier to program these things: http://www.embedded.com/electronics...s-previewed-via-Altera-s-early-access-program