On Tue, Nov 20, 2012 at 5:55 PM, Ralph Castain <r...@open-mpi.org> wrote:
> Hi folks
>
> We have a case where we are running two parallel threads, each looping on 
> their own event base (we have the libevent thread support enabled). Even 
> though the two bases are running in separate threads, however, we see an 
> impact on response time - i.e., if we run only one thread, events in that 
> event base are serviced faster than when the other thread is in operation, 
> even if no events in that thread are active.
>
> Just to be clear, the two cases are:
>
> Case 1
> A single event base is created, and a single event loop is running. Two file 
> descriptors are being monitored by separate events - when one file descriptor 
> has data, that event is "activated" to handle the data. Data is only arriving 
> at one file descriptor, so the other one is "quiet".
>
> Case 2
> Two event bases are created, each being looped by an independent thread. Each 
> base is monitoring a different file descriptor. Only one file descriptor (for 
> the same base as above) is receiving data - the other base/thread is blocked 
> in select. We see a measurable increase in the time it takes for the "active" 
> event to be serviced when compared to Case 1 - the difference is roughly 20%.
>
> Is this cross-interaction expected? Any suggestions on how we might better 
> separate the two channels?

Mysterious!

It's sure not expected that there would be that much of a drop-off.
I'd try to look harder to diagnose what's going on.  Stuff to look at
would include:

 * What OS is this?  You mentioned "select" which makes me think
Windows, but you didn't actually say.
 * Can you trace system calls in the thread that is supposed to be
idle?  Have you verified that it's really sleeping on select, or is
that an inference?  (It's a reasonable inference, mind you, but when
debugging, we shouldn't trust any inferences without checking.)
 * Can you profile the code, and find out which piece exactly is
taking longer here?

-- 
Nick
***********************************************************************
To unsubscribe, send an e-mail to majord...@freehaven.net with
unsubscribe libevent-users    in the body.

Reply via email to