Re: cost (cycles + cache) of setup and use of IPC mechanisms
Zenaan Harkness <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <[email protected]> |
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