Quant development: C++ BOOST ASIO library for low latency communication…
I recently came across boost asio, based on IOCP on Windows and Epoll on Linux. Has any one heard of using boost asio or IOCP/Epoll for low latency communication ?
Depends what you mean about low-latency communications.
There is unbreakable rule – most frameworks cannot achieve latency comparing to native code, so if you need extreme low latency values – there is no alternatives to native code development.
Also, on my opinion, Windows isn’t best environment for the realtime systems. Regarding frameworks, I’d like ZeroMQ, this FW is actively developes, and has a relatively good performance results – around 10us RT with IPC, and 30-50us on the sockets level.
They also show tests on Infiniband, resiult is about 10us between machines. ZeroMQ also simple and flexible for application-level programmer.
Comparing with, draft and uncomplete open source nanomq project shown in IPC messaging storm environment average latencies results around 100-300 nanosecond RT.
Regarding Boost – this a very good set of libraries, but on latency-sensitive points, they don’t hold first places.
I believe IOCP help in application design to help manage the several concurrent connections effectively. You can manage things with lesser number of threads, hence less context switching of CPU. As a result of that you can minimize the time you will loose in context switching, but at the same time IOCP doesn’t gurantee realtime delivery of packets over network
As I’d mention above, everybody FW has it’s own place, Boost is good set as libraries, but possibilities offered by those libraries, aren’t for professional latency requirements on a top of edge.
They can be used, on my opinions, with application, oriented to 10s and 100s of microseconds.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!