I use my desktop (4 core i7) as a scientific workstation where I run large numerical models for days to weeks. Taking the minimal time is important.
I upgraded from 11.3 to 12.2 and used a benchmark program to test the run times. The results were:
All benchmarks tests which ran on 11.3 have the same run times;ie, they are consistent.
All benchmarks tests which ran on 12.2 have variable run times which can be up to
twice those on 11.3. When first booting 12.2, the run times are the same as
on 11.3. As soon as a browser is opened or any other utilities are run, the
benchmark run times increase up to twice what they were before. This does not
depend on where the programs were compiled. The machine is always lightly loaded
(12% cpu, 10% memory).
Ideally, the models should take full use of the hardware and have minimal run times.
There is something internal to 12.2 which does not allow this. Is this some configuration
problem? Or is it the new preemptive task scheduler? Does anyone have any suggestions
on how to fix this?
I know openSUSE 12.x has the kernel-desktop option in use by default. Did
11.x have the same? This kernel is designed to help with responsiveness
in the GUI so that may be what is taking away from your other process. If
so, try swapping to the ‘kernel-default’ kernel instead. You can have
both installed, I believe, and then boot back and forth for testing.
> 1. All benchmarks tests which ran on 11.3 have the same run times;ie,
> they are consistent.
> 2. All benchmarks tests which ran on 12.2 have variable run times which
> can be up to twice those on 11.3. When first booting 12.2, the run times
> are the same as on 11.3. As soon as a browser is opened or any other
> utilities are run,
> the benchmark run times increase up to twice what they were before. This
> does not depend on where the programs were compiled. The machine is
> always lightly loaded (12% cpu, 10% memory).
>
> Ideally, the models should take full use of the hardware and have
> minimal run times.
> There is something internal to 12.2 which does not allow this. Is this
> some configuration problem? Or is it the new preemptive task scheduler?
> Does anyone have any suggestions on how to fix this?
There was another discussion here about some changes in one of the
primary maths libraries that IIRC increased the accuracy of calculations
but with a performance penalty. I’m pretty sure it was in this forum
about a month go - have a look and see if the info in that thread is
helpful.
On 06/12/2013 08:14 PM, Jim Henderson wrote:
> There was another discussion here about some changes in one of the
> primary maths libraries that IIRC increased the accuracy of calculations
> but with a performance penalty. I’m pretty sure it was in this forum
> about a month go - have a look and see if the info in that thread is
> helpful.
>
> Jim
> On 06/12/2013 08:14 PM, Jim Henderson wrote:
>> There was another discussion here about some changes in one of the
>> primary maths libraries that IIRC increased the accuracy of
>> calculations but with a performance penalty. I’m pretty sure it was in
>> this forum about a month go - have a look and see if the info in that
>> thread is helpful.
>>
>> Jim
>
>
> Specifically:
>
> “Executable running slower on opensuse 12.3”
>
> http://forums.opensuse.org/showthread.php?t=484988
>
> Good luck.
I tried switching to default kernel but the problem persists. I saw the tread mentioned but this is probably not a math library problem because the run times are not consistent. There are 4 executables compiled with 2 fortran compilers on the 2 os (12.2 and 11.3). All are run in the same directory with the only difference being the os version. I tried to eliminate as many variables as possible. All executables have the same behaviour. On 12.2 the kernel is
Linux sleipnir 3.4.42-2.28-desktop #1 SMP PREEMPT Mon Apr 29 09:18:32 UTC 2013 (a7a14eb) x86_64 x86_64 x86_64 GNU/Linux
and I switched to
Linux sleipnir 3.4.42-2.28-default #1 SMP Mon Apr 29 09:18:32 UTC 2013 (a7a14eb) x86_64 x86_64 x86_64 GNU/Linux
On 11.3 it is
Linux Sleipnir 2.6.34.10-0.6-desktop #1 SMP PREEMPT 2011-12-13 18:27:38 +0100 x86_64 x86_64 x86_64 GNU/Linux
From the version numbers, all the kernels seem to have the same scheduler so this is probably not the problem. I noticed that although the run times are variable under 12.2, there is a fast and slow mode (1.9 times slower). I can visually see the program changing speed from the display output. So I looked at power management. Under 11.3, there is a performance setting which I have already chosen. Under 12.2, there is nothing equivalent so I chose ‘pc on AC power’. This did not solve the problem either.
I used top, vmstat, and system monitor to see what was going on during the calculations. They show nothing unusual- the system is lightly loaded with the job using 100% of one core.
I am not sure what to do next.
Report a bug in bugzilla and see what the developers can suggest.
But I’m still thinking it’s probably the same issue as in the other
thread - you refer to calculations being done in your code, and the other
issue had to do with certain types of math being done.
The “only variable” is not the OS version. That particular variable
implies a ton of different libraries, compile options, etc, etc, etc.
It’s also possible (and something you might check) if the compiled code
is taking more than one core on 11.3, there might be a change in the
compiler options with the different compiler versions to get it to run on
more than one core in 12.2.
All the executables run on one core and have the same compiler options. But as suggested, the libraries are different although I am not sure of what happens when running the 11.3 exe on 12.2. If it were a math or library error, I wouldn’t expect that the run times would vary into a slow and fast mode. I would expect them to do the same thing for a given exe. Nor is it apparent whether there is something in the system slowing the execution or whether the clock freq is being changed somehow. A mystery…
> All the executables run on one core and have the same compiler options.
> But as suggested, the libraries are different although I am not sure of
> what happens when running the 11.3 exe on 12.2. If it were a math or
> library error, I wouldn’t expect that the run times would vary into a
> slow and fast mode. I would expect them to do the same thing for a given
> exe. Nor is it apparent whether there is something in the system slowing
> the execution or whether the clock freq is being changed somehow. A
> mystery…
The kernels are significantly different between those two releases. The
libraries are dynamically linked (typically), so the libraries are
different as well.
It’s probably a combination of power saving settings, other kernel
parameters, and library differences. With as much as is different
between 11.3 and 12.2, it’s probably not any one thing that’s causing it,
it’s probably a combination of things.