Analogue of Windows I/O completion ports on Linux?

From: Krzys Ostrowski (krzys_at_cs.cornell.edu)
Date: 09/24/05


Date: Fri, 23 Sep 2005 20:57:30 -0400

Hi,

I'm looking for advice on how I can port to Linux a high-perf Windows app
using I/O completion ports for network communication. The model I'm looking
for is multiple UDP sockets attached to a single port that I can wait on
with timeout. This allows me to limit to a single thread polling on the
completion port, managing its own timer and scheduling, and processing
events sequentially. Is there some way to achieve this without hacking in
the kernel? Any recent or planned kernel additions or extensions that
somebody would be aware of?

I'm well aware of the option to get asynchronous notifications but neither
that nor any multithreaded solution are not what I'm looking for. My
experiments show that at least in Windows platform, these are inferior in
terms of performance to the single-threaded model with polling, scheduling
represents pure overhead in scenarios like mine, where I just want to send
and receive UDP at very high rates.

Thanks,
Krzys



Relevant Pages

  • Analogue of Windows I/O completion ports on Linux?
    ... I'm looking for advice on how I can port to Linux a high-perf Windows app ... using I/O completion ports for network communication. ... Any recent or planned kernel additions or extensions that ... terms of performance to the single-threaded model with polling, scheduling ...
    (comp.os.linux.development.system)
  • Analogue of Windows I/O completion ports on Linux?
    ... I'm looking for advice on how I can port to Linux a high-perf Windows app ... using I/O completion ports for network communication. ... Any recent or planned kernel additions or extensions that ... terms of performance to the single-threaded model with polling, scheduling ...
    (comp.os.linux.development.apps)