cost (cycles + cache) of setup and use of IPC mechanisms

Zenaan Harkness zen at freedbms.net
Mon Sep 17 14:31:25 CEST 2018


On Sat, Sep 15, 2018 at 02:08:53PM +1000, Zenaan Harkness wrote:
> Establishing any IPC communication channel has setup costs and per
> message or per "message batch" usage costs:
> 
>  (CPU cycles + context switches) / channel setup
> 
>  (CPU cycles + context switches) / msg[-batch]
> 
> Further, as recent Linux kernel network stack work has discovered,
> cache effects strongly proscribe batch processing rather than per-msg
> (or per packet) processing (seems obvious, I guess "in hindsight") to
> make 10G and above network links work well:
> 
>   Batch processing of network packets
>   https://lwn.net/Articles/763056/
> 
> and see also:
> 
>   User-space networking with Snabb
>   https://lwn.net/Articles/713918/
> 
> 
> Is there a paper quantifying and comparing various IPC mechanism
> costs?
> 
> Specifically and separately, is there a paper quantifying the setup
> and use costs of shared memory IPC (possibly in comparison with
> any other IPC mechanism)?


For reference, some reading and performance data re "user library"
level IPC - mostly Java:
http://psy-lob-saw.blogspot.com/p/lock-free-queues.html





More information about the l4-hackers mailing list