The twist here is a low-latency kernel, which is the mainline kernel with
real-time patch set with additional aggressive settings. The platform is
Ubuntu 10.10 (Maverick) with kernels pulled from 11.04 development PPA, the
compiler is GCC 4.4.5 which is widely reported to be slower than previous
versions.

http://jackschnippes.freeunix.net/index.php/2010/11/04/lowlatency-kernel-and-realtime-kernel-for-ubuntu-10-10-maverick

Attached are heat maps showing the following:

[image: glLRZ.png] <http://imgur.com/BlHPi.png>
*http://imgur.com/1X3tY.png*
*
*
Y-axis is latency in microseconds, X-axis is time in seconds.  Chart records
test of 10,000 packets-per-second send out and received, a total of 20,000
datagrams-per-second.  The left hand side shows Linux 2.6.36 with normal
scheduling (SCHED_OTHER) with a tight grouping around 200us; the right hand
side shows Linux 2.6.26 with real-time scheduling (SCHED_FIFO) with tighter
grouping at 200us but larger spread of outliers.

[image: BlHPi.png]
*http://imgur.com/bJJ7V.png*

Normal scheduler shows a tight grouping at 250us with minor spread of
outliers; real time scheduling shows grouping at a better latency of 200us
but higher spread of outliers.

[image: l1wUr.png]
*http://imgur.com/OPGY2.png*

Normal scheduler shows grouping at 250us with spread from 200us-1ms;  real
time scheduling shows spread of grouping 200-250us with outliers to 1ms.

[image: 0OyI7.png]
*http://imgur.com/AG6cZ.png*

Normal scheduler shows grouping 200-600us with outliers spread to 2ms; real
time scheduling shows grouping 250-300us with outliers spread to 1.5ms with
a strange gap from 1.0-1.3ms.

[image: ws9uH.png]
*http://imgur.com/0ba1I.png*

The test program is written to busy wait, or delay, for time periods less
than 2ms in duration.  This ensures timely response to short timers such as
created by the rate limiter.  This graph shows the side effects of busy
waiting and the choice of scheduler with a very high rate limit.


TODO:  Show timing with rate limiter at low setting.

-- 
Steve-o
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to