Re: Linux Multi-CPU performance
- From: Tommy Reynolds <Tommy.Reynolds@xxxxxxxxxxxxx>
- Date: Mon, 30 Jan 2006 10:51:45 -0600
On Mon, 30 Jan 2006 14:29:03 +0200, Scott Hazelhurst wrote:
> We've developed an SMP version of a program we had previously
> successfully parallelised on a cluster. The results were very
> disappointing with no obvious reasons for such poor performance.
An SMP-aware application? Exactly what have you done to make the
application an SMP version?
Unless you are setting the CPU affinity for a process, I don't understand
this at all.
> After some experimentation we have started to wonder if it's not on OS
> bug. I wrote small programs that use almost no memory, no I/O and are
> completely compute bound.
Newer process schedulers in the kernel take great pains with CPU hogs,
such as granting them longer and longer time slices at lesser and lesser
priority.
The kernel also is reluctant to migrate a process from CPU to CPU because
of the cache reload penalties. This is tunable, YMMV.
But, there may be more appropriate process schedulers from which to
choose. Please look into these. Process priorities can make differences,
too.
> Experiment 2: On a 4-CPU machine
Are you really sure you have a 4 CPU machine? Four separate CPU's and not
two hyperthreaded chips? Hyperthreading does not two CPU's make. Two
hyperthreaded chips are more like 2.5-3 CPU's, not four.
> Is it worth pushing to upgrade the kernel?
Nah, not until you know what you are measuring. By default, you get
interactive-friendly behavior but you are not interested in that and it
seems as if you haven't explored how to customize Linux's default
policies. Google is your friend.
HTH
.
- Follow-Ups:
- Re: Linux Multi-CPU performance
- From: John-Paul Stewart
- Re: Linux Multi-CPU performance
- Prev by Date: Hi..Challenging problem and doubt
- Next by Date: Re: "...error while loading shared libraries: libg2c.so.0"
- Previous by thread: Re: Linux Multi-CPU performance
- Next by thread: Re: Linux Multi-CPU performance
- Index(es):
Relevant Pages
|