From: Mike K. <mkr...@se...> - 2001-03-07 19:08:26
|
On Wed, Mar 07, 2001 at 10:56:48AM -0800, John Hawkes wrote: > Let me note that I've done substantial benchmarking of MQ (Jan 29 > version) vs baseline 2.4.1 using the "reflex" benchmark, as modified by > the patches I submitted a few days ago, on a 1-to-32p mips64 NUMA > system. I have some interesting scalability graphs -- in Excel. I need > to figure out how to export those Excel graphs to jpg's. > > Anyway, the bottom line is that the MQ scheduler scales much, much > better than the baseline scheduler. "How much better?" is complicated, > since it greatly depends upon the workload. Using "reflex" to drive the > system in a worst-case perverse manner (minimal usermode compute time, > then followed by a context switch), an MQ kernel continues to improve > (at least marginally) for most intense workloads up to about 8 (more or > less) cpus (generally at 4x to 6x a single-cpu performance), and > deteriorates to about 2x a single-cpu performance at 32p. But for the > same workloads the baseline scheduler sees 2x at best for 2p, and > generally deteriorates from there to about 1x (or even 0.8x) a > single-cpu performance at 32p. > > John Hawkes > ha...@en... It might be interesting to try out Hubertus's 'cpu sets/load balancing' patch. We know that MQ will break down at high CPU counts. How high? We don't know. One reason for the break down is the necessity to 'peek' at the runqueues of all cpus in the system. I believe Hubertus's patch eliminates this scan of ALL cpu runqueues in schedule(). -- Mike Kravetz mkr...@se... IBM Linux Technology Center |