Re: HPL Benchmark performance degradation of kernel 2.6.24.3 vs 2.6.23.14
From: Roger Heflin
Date: Sun Mar 02 2008 - 15:07:38 EST
Eric Dumazet wrote:
Allan Menezes a écrit :
Hi,
I have a five node intel Q6600 quad core cluster and I benchmarked
it with open source open mpi software using fc8 and it's supplied
kernels recompiled and that of kernel.org with kernel 2.6.23.14 and
2.6.24.3.
With GotoBlas v 1.24 and open mpi beta both cases (v 1.3a) for kernels
2.6.23.14 with web100 i get 158GFlops.
But when i recompile with web100 for kernel 2.6.24 / without web100
and having 6gig DDR2800MHz ram on each node i get only 28GFLOPS AND
22GFLOPS for 5 nodes whereas with or without web 100 for kernel
2.6.23.14 i get 156-8 GfLOPS. wITH OR WITHOUT web 100 i get for kernel
2.6.24.3 22- 28 Gflops for 5 nodes.!
Why is there a performance drop in kernel 2.6.24.3 All else hardware
is the same!
For inter node communication i use three pci express gig eth cards ( 2
intel and one syskonnect ) per node and using nptcp of netpipe their
performance of intel and syskonnect cards in both kernels measured
point to point is 880MBPS approx for all three cards with measured
using netpipe for tcp with kernel 2.6.24.3 and 2.6.23.14 . I am also
using three switches gigabit with high bisection b/w for these eth
cards (copper) with 3 different subnets
Yet I am getting a substantial performance drop keeping the hardware
and openmpi and hpl and gotoblas same. Can some one help me figure out
why?
Please find attached my kernel's .config
Hi Allan
Your setup is quite complex, so you should give more information if you
want some help here.
Is this benchmark stressing disk IO, task scheduler, network stack,
memory, swap... hard to tell in fact.
Examining your .config, I would point out CONFIG_SLUB_DEBUG=y
You really should disable this expensive option.
(and possibly use CONFIG_SLAB instead of CONFIG_SLUB)
You probably should try to use oprofile tool, because its results are
probably a good way to give hints about bad configuration, or kernel
regressions.
opcontrol --vmfile=/boot/vmlinux-2.6.24.3 --start
<benchmarking>
opreport -l /boot/vmlinux-2.6.24.3
I am not the original reporter, to get good numbers HPL tests cpu and mostly
networking speed (if more than one machine is being used), if local it
test whichever interprocess communication is being used.
It is floating point with communications to sync the different processes
together.
Generally if it is abnormally slow, you either have a errant process
on a machine, a problem with one machine, or a problem with networking
latency, or possibly a problem with some other latency.
I have never seen the scheduler make a big difference (unless the scheduler is
really really broken), and it if configured for speed it does little or no swap
(but I have seem machines that were tuned to page out early cause slight slow
downs in the numbers when things should have nicely fit in memory), and it does
little or no disk IO in the timed speed calculation areas.
It is pretty much all network latency and floating point speed.
Roger
Roger
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/