anyone can help? weird Linux concurrency problem in math calculation



Hi,


I ran into a really weird concurrency problem in Linux box. In a
nutshell, I have a standalone console program that does intensive math
calculation. The program has just one thread. I run one instance of the
program, it takes 19.5 seconds to finish. I run two concurrent
instances on a two-cpu Linux server, I'd expect that they'd take about
the same time, but to my surprise, they took 31 seconds to finish. So
running two concurrent instances slows down each one even two cpu's are
fully loaded.

More information is listed in the following after a lot of
investigations.

1. top confirms that two cpu's are all busy when two concurrent
processes. cpu usage is about 99%-100%
2. other existing jobs take negligible cpu times, below 2%
3. no shortage of memory, so no memory swaping
4. top confirms that there is little system or io activities during the
time of program.
5. the same program has no such concurrency problem on NT, nor on
Solaris


Has anyone seen this before? Is there something I can investigate
further?

Best regards,

wsTechie

.



Relevant Pages

  • Re: [help] 1 cpu to rule them all
    ... peter wrote: ... With Linux, no. ... One OS for N concurrent, independent, discrete, ... converted the workplace to Linux desktops. ...
    (microsoft.public.windowsxp.hardware)
  • Re: [help] 1 cpu to rule them all
    ... peter wrote: ... With Linux, no. ... One OS for N concurrent, independent, discrete, ... converted the workplace to Linux desktops. ...
    (comp.os.linux.hardware)
  • Re: Re: f_offset
    ... take a look at the POSIX onlinepubs, the articles seem to mention the ... "The behavior of multiple concurrent reads on the same pipe, ... Linux in this respect is not Unix. ...
    (freebsd-arch)
  • Re: Visual Studio and CVS
    ... CVS is a Concurrent Versions System, like Visual Sourcesafe but using Unix ... or Linux. ...
    (microsoft.public.vb.general.discussion)