On Wed, Sep 19, 2001 at 02:51:11AM -0700, Brian Pane wrote:
> I think it's reasonable to assume that Solaris will make smart decisions
> about LWP locality.  If you want to validate this assumption empirically,
> though, I think it's possible to get a snapshot of what CPU is running
> each LWP, via Solaris-specific ioctls on the corresponding /proc file.
> (I know this was possible in 5.6; it's probably still supported in 5.8.)

Yeah, I was purposely not playing with any CPU monitoring tools while
it was running as I didn't want to disturb the results.  I may run the
tests again tonight (or this weekend if I can't get to it tonight -
I'm moving tomorrow) and watch it with the /usr/proc/bin/p* files - I 
won't be paying attention to the rps this time, but the CPU performance.

> This issue, by the way, makes me favor letting the OS figure out the
> thread concurrency for itself: assuming that the number of child processes
> is greater than or equal to the number of CPUs, it might be more effective
> to have a small number of LWPs per process, with a large number of threads
> per LWP for cache locality purposes.

++1.  =-)

> >- Justin mentioned that he observed much higher load on the worker tests
> >  compared to the prefork tests. Something on the order of ~8 for the
> >  worker case, and ~3-4 for prefork was discussed. Can someone explain
> >  to us why this might be happening? It obviously didn't impact
> >  performance negatively, since the worker performed slightly better.
> >
> 
> I'm surprised about this result.  In Ian's tests comparing worker and
> prefork on an 8-CPU Solaris box, the load average was about the same
> for both MPMs.  Justin, do you remember how the usr+sys CPU utilization
> for worker compared to that of prefork in your test?

Actually, I think the CPU utilization was less with worker, but the
load was much higher.  I have no clue how that is.  When I run it 
again, I'll keep an eye out for these values.  -- justin

Reply via email to