5

There seems to a quite a few grid computing frameworks out there, but which ones are actually being used to any great extent by the investment banks for purposes of low latency distributing calculation? I'd be interested to hear answers covering both windows,Linux and cross platform. Also, what RPC mechanisms seem to be favoured most?

I've heard that for reason of low latency and speed, the calculations themselves are quite often written in C++/C as calculations running on VMs are several orders of magnitude slower than native code. Does this seem to be a common scenario in practice? e.g distributed .NET grid framework running calculations written in native c++/c?

Rich
  • 4,572
  • 3
  • 25
  • 31
  • 2
    What makes you think any of them use .NET? iirc every publicised attempt to get .NET into financial systems has been an epic failure. http://blogs.computerworld.com/london_stock_exchange_to_abandon_failed_windows_platform – Chris Becke May 15 '10 at 12:14
  • Was really just an example of a technological split between framework and calculations, not based on anything I've come across. – Rich May 15 '10 at 15:34
  • 3
    finance systems = super secret ;) I suspect there is also a large amount of NIH syndrome. – James May 30 '10 at 11:24
  • @Autopopulate ... what's NIH syndrome? – Rich Jun 09 '10 at 17:04
  • Ok, got it ...http://en.wikipedia.org/wiki/NIH_syndrome – Rich Jun 09 '10 at 17:05

4 Answers4

2

low latency distributing calculation

'Low latency' and 'distributed' are mutually exclusive :)

But saying that, it depends how low you mean by 'low latency'. If you are talking about High Frequency Trading (HFT), then any implementations are going to be using the fastest networking code they can get their hands on - most likely custom TCP/IP stacks (e.g. OpenOnload, native infiniband etc). The network is always going to be the slowest part of your code, so you need to keep the networking to a minimum.

If you are talking 'fast' but not HFT-fast (like pricing exotic options / structured products), then you can pretty much use anything you like. I've worked on systems that used anything from .Net/RPC, JMS (ActiveMQ), TCP/IP sockets, etc. It's more about the flexibility and ease at which you can define and send data, rather than the raw speed of networking.

steve cook
  • 3,116
  • 3
  • 30
  • 51
2

Some directions (actually used in some corporate investment banks) :

  • Home made solutions involving PC
    farms (traders queue their
    computation requests)
  • GPU

since computationally intensive fiancial operations (eg. Monte Carlo pricing) are usually heavily parallelizable.

Alexandre C.
  • 55,948
  • 11
  • 128
  • 197
0

The G-WAN server is starting to get ground in this area. It mixes the speed (and footprint) of ANSI C with (fully-compliant ANSI C) scripts (allowing real-time editing/updating without stopping the server).

Full JSON RPC is expected by the end of this year, in the same spirit of efficiency. With it you will be able to implement distributed computing.

This is crazy to see what they managed to put in 200 KB (server + script engine + many features like charts, compression, crypto, etc.).

Michel
  • 1
  • 1
0

Check www.zircomp.com zNet C++ framework is used in few electronic trading systems. It is cross platform, multi- and distributed-core programming framework, based on data driven architecture, specifically tuned for high performance using native OS, with intuitive API that uniformly supports data and task parallelism.