Manuel M T Chakravarty wrote:
Dave Bayer:
In that paper, they routinely benchmark N-1 cores on an N core Linux box, because of a noticeable falloff using the last core, which can do more harm than good. I had confirmed this on my four core Linux box, but was puzzled that my two core MacBook showed no such falloff. Hey, two cores isn't representative of many cores, cache issues yada yada, so I waited.
[..]
Compared to 2 cores, using 3, 4 cores on an equivalent four core box running OS X gives speedups of

    1.45x, 1.9x

As another data point, in our work on Data Parallel Haskell, we ran benchmarks on an 8-core Xserve (OS X) and an 8-core Sun T2 (Solaris). On both machines, we had no problem using all 8 cores.

I suspect some scheduling weirdness in Linux, at least in the kernel we're using here (2.6.25). Traces appeared to show that one of our threads was being descheduled for a few ms, and this can be particularly severe in GHC since our stop-the-world GC needs frequent synchronisations. One advantage of moving to processor-independent GCs would be that we could degrade more gracefully if the CPUs are contended, or the OS scheduler just decides to use a core for something else for a while.

Cheers,
        Simon
_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to