|
Boost : |
From: Jeremy Maitin-Shepard (jbms_at_[hidden])
Date: 2004-01-29 04:06:55
"Hurd, Matthew" <hurdm_at_[hidden]> writes:
>> On Behalf Of Sean Kelly
>> Subject: Re: [boost] Re: Re: Boost.Thread : IO multiplexing
>>
>> IOCP works for both file and socket operations. Perhaps not a poll
>> method but I'm not much interested in the low-end solutions anyway.
> Small point. Please don't knock the pollster ;-)
> Polling trades CPU for latency gain. Polling is a high end solution for
> low latency requirements, which covers a lot of my issues (not the
> psychological ones though ;-)). Not so good for high throughput
> systems, but it can be. A combined approach, poll for a while you can
> then wait for an interrupt ( a bit like spin-locks ), can be especially
> beneficial for supercomputer oriented frameworks as plenty of research
> shows.
While poll(2), like select(2), is indeed rather inefficient on many
platforms, other polling mechanisms, such as epoll, kqueue, and
/dev/poll can scale quite well. On Windows platforms, I think it is
clear that asynchronous I/O is almost always more efficient than
polling, and I believe Sean Kelly, in recommending against polling, was
referring exclusively to Windows platforms.
> [snip]
-- Jeremy Maitin-Shepard
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk