Bart Smaalders wrote:
> ...
> * Buffers are pre-posted, so with a proper implementation &
>    hardware, copies may be avoided.  Even if copies are required,
>    they can be done by other cpus/threads/io dma engines.  This
>    means that even single threaded apps should see a significant
>    reduction in UDP latency on MP hardware.
> * Seamless threading is possible w/o any user locking required
>    to manage pending IO lists; the event port mechanism provides a
>    user-specified pointer to accompany each IO operation.
> * Other pending IO operations (disk, poll(2), listen, accept, etc)
>    can be handled in the event loop, since event_ports are designed
>    to unify dispatching paradigm.
>
> Supporting asynchronous IO on sockets also admits significant
> performance wins on the transmit side, since zero copy is easily done.
>
> The downsides w/ asynchronous I/O is that some thought needs to be
> given to transmit/receive buffer management, and that it may
> represent a new programming pattern for networking developers.
>   

I've always considered sockets to support asynchronous I/O through
non-blocking I/O and using occassionally with signals.

How is what you're proposing any different from what already exists?

Is there a technical doc/spec somewhere that outlines what the advantages
of this model are vs other techniques?

Darren

_______________________________________________
networking-discuss mailing list
networking-discuss@opensolaris.org

Reply via email to