gridgain / gridgain-old

268 stars 85 forks source link

Internal FIX / FAST Protocol Engine #59

Open sirinath opened 10 years ago

sirinath commented 10 years ago

This feature request may sound controversial (but wso2 bundles a fix engine in their products). Is it possible to have a build in FIX / FAST Protocol Engine in GG.

Also provide protocol extensions to major international brokers and venues. Please include Interactive Brokers also as this is one major API trading venue for small size traders and firms.

Following have wide exchange coverage: https://github.com/valotrading/stirling https://github.com/libtrading/libtrading/wiki/Exchange-Coverage

Some others: https://github.com/penberg/falcon http://fix8.org/

Ideally it is good that you do not some of the exiting and re implement it as it might have better integration performance in GG.

Some additional reference projects: https://github.com/jvirtanen/parity https://github.com/jvirtanen/nassau

dsetrakyan commented 10 years ago

Adding FIX client support is not a bad idea. We may be adding it in future.

sirinath commented 10 years ago

Great. Hopefully this happens sooner than later.

Is it possible to tag a target version tag to enhancements so we know when to expect it.

sirinath commented 10 years ago

To make things complete to have back office messaging you could add SWIFT to the mix. Shall I open a new ticker for this or will this suffice?

dsetrakyan commented 10 years ago

This should suffice.

I should also mention that for financials GridGain already has good computational support. Take a look at MonteCarlo simulations example shipped with GridGain.

sirinath commented 10 years ago

OK. Will have a look.

When is it that you can expect FIX / FAST support in GG natively (with broker / venue specific extension support)?

sirinath commented 10 years ago

Also having FIX / FAST is less useful if you cannot prevent GC pauses / gitter as messages do not arrive at our convenience as have to respond ASAP.

dsetrakyan commented 10 years ago

We have customers using GG at the core of trading systems, where long GC pauses and gitter are unacceptable. These are latency-oriented use cases.

In these cases, you should almost entirely switch to offheap and configure heap with about ~1GB of RAM. Also, you should make sure that you are not using more threads than you have cores on the caller side. Such architecture will bring gitter to a negligible minimum and will satisfy sub-microsecond SLAs.

Do you have a specific project you are working on that needs this architecture?

sirinath commented 10 years ago

We have something in the pipeline but not immediate but will start within the next 6 months after finishing some other things we are working on.

sirinath commented 10 years ago

Ideally if the FIX / FAST support is there by this time it would be a great boon to us.

sirinath commented 10 years ago

Perhaps you can put exchange / broker specific protocols also to the mix also.