What kind of computer hardware, in additional to the 'conventional' fare, is actually used in trading? And what languages is it typically programmed in? I'm interested in ASICs, FPGAs, that sort of thing.
$\begingroup$ Are you asking about What programming languages are most commonly used in quantitative finance? Or are you asking about what kind of programming languages are used for FPGAs? $\endgroup$– chrisaycockAug 23, 2011 at 20:23
$\begingroup$ From my understanding Dmitri asks what kind of hardware is used in professional trading apart from commodity servers/workstations. $\endgroup$– Karol J. PiczakAug 23, 2011 at 20:33
$\begingroup$ Karol is right: I'm interested in hardware, and - where appropriate - the languages used to program it. $\endgroup$– Dmitri NesterukAug 23, 2011 at 20:43
3$\begingroup$ You'll find this presentation interesting: ra.ziti.uni-heidelberg.de/coeht/pages/events/20110208/… $\endgroup$– wburzynsAug 24, 2011 at 10:37
- Exegy's ticker plant uses FPGAs and InfiniBand.
- Redline Trading's ticker plant is packaged as a PCI card and uses the IBM Cell Processor.
- SolarFlare makes a line of 1G/10G nics that are heavily used because they also ship an alternate POSIX-compatible socket API that bypasses the kernel and uses DMA for reduced latency.
There are surely usages of FPGAs and ASICs for option pricing, real-time risk, etc. These aren't nearly as prevalent as the above examples.
The very good description of specialized hardware in finance can be found at Cisco.com - Algo Speed High Frequency Trading Solution section.
Their High-Performance Trading Architecture (pdf) poster is just great to find out used hardware for different purposes and there are also some presentations, white papers and videos about Cisco's solutions for financial markets on this website.
$\begingroup$ That is one surreal diagram :) probably takes a day just to figure out what the constituent parts are. $\endgroup$ Aug 24, 2011 at 11:50
The only real use of this type of hardware in trading that I've seen is the recent spate of FPGA-based risk engines and feed handlers. See this article for some pointers; googling for some obvious keywords will provide more.
Given the very small deployment volumes, it seems unlikely that anyone would be looking at ASICs for this.
There is a very small minority of people using nvidia GPGPUs which can be programmed with the CUDA libraries. This sort of specialist hardware can be very effective at solving certain problems - mostly where you have very little I/O.
More generally, if you are interested in how people are using GPGPUs, then I recommend taking a look at this question on StackOverflow.
$\begingroup$ There's also the widely adopted standard OpenCL, Microsoft's DirectCompute, and even Intel's ArBB VM. CUDA is hardly the only game in town. $\endgroup$ Aug 23, 2011 at 23:32
$\begingroup$ Isn't CUDA the game that most people play though? (I mean, apart from BitCoin miners, password crackers, etc., because they must favor ATI) $\endgroup$ Aug 24, 2011 at 11:48
$\begingroup$ I almost never hear hiring managers ask for OpenCL, CUDA seems to have won this round of the game in finance $\endgroup$ Aug 18, 2013 at 16:16