Skip to content
This repository


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
100644 46 lines (34 sloc) 1.489 kb
31250be0 »
2010-11-09 Initial commit
1 NanoMQ
2 ======
4 NanoMQ is a ultra low latency messaging kernel. It enables messaging
5 between processes in much the same way as POSIX message queues but at
6 sub-microsecond latencies. NanoMQ uses efficient wait-free ring
7 buffers arranged in a complete graph. Each node can send messages to
8 any other node, receiving nodes needs to exclusively own a CPU core or
9 HyperThread. The ultra low latency can thus be achieved by avoiding
10 context switches.
12 Building
13 --------
6f108263 »
2010-11-15 Add some unit tests
15 Just run make. Requires recent GCC. Tests require Google Test.
31250be0 »
2010-11-09 Initial commit
17 Performance
18 -----------
20 On my Intel(R) Core(TM)2 Duo CPU T7500 @ 2.20GHz I get an average RTT
21 of 250 ns and a throughput of 13M msg/s for a two node setup with 100
22 byte messages. It will be interesting to see measurements on multi CPU
23 systems and the latency depending on which cache the cores share.
25 Use case
26 --------
28 In high frequency trading (HFT) systems you want to separate feed
29 handlers and order management systems (OMS) from strategy code in
30 order to increase fault tolerancy and support live deployment of bug
31 fixes or new strategies. NanoMQ allows you to separate these parts of
32 a trading system into separate processes while keeping communication
33 latencies to a fraction of a microsecond.
35 Resources
36 ---------
38 Git repository:
40 Copying
41 -------
43 Free use of this software is granted under the terms of the GNU
44 General Public License (GPL). For details see the file `COPYING`
45 included with the NanoMQ distribution.
Something went wrong with that request. Please try again.