run a job on both processors of a bi-processor xeon

run a job on both processors of a bi-processor xeon

Post by rober » Thu, 20 Jan 2005 00:06:53



Hi everybody,
I want to run a job on both processors of a bi-processor xeon
(2x1.7Go).
when I simply run the job like this:
prompt>./myjob
it runs only on one processor of 1.7Ghz. This takes a long time untill
the job is done!
Is there any simple bash command to do so ? or do I need an additional
parallelisation software like PVM, OpenMP or MPI ?
thanx
 
 
 

run a job on both processors of a bi-processor xeon

Post by Ed Koa » Thu, 20 Jan 2005 00:25:02



> Hi everybody,
> I want to run a job on both processors of a bi-processor xeon
> (2x1.7Go).
> when I simply run the job like this:
> prompt>./myjob
> it runs only on one processor of 1.7Ghz. This takes a long time untill
> the job is done!
> Is there any simple bash command to do so ? or do I need an additional
> parallelisation software like PVM, OpenMP or MPI ?

Right, it uses 1 cpu. That's the way smp does it.

If you want your soft to behave differently, you have to parallelise it
somehow to share its load on both cpus. That means you'll have to
rewrite your code.

 
 
 

run a job on both processors of a bi-processor xeon

Post by Jule » Thu, 20 Jan 2005 01:12:14




>> Hi everybody,
>> I want to run a job on both processors of a bi-processor xeon
>> (2x1.7Go).
>> when I simply run the job like this:
>> prompt>./myjob
>> it runs only on one processor of 1.7Ghz. This takes a long time untill
>> the job is done!
>> Is there any simple bash command to do so ? or do I need an additional
>> parallelisation software like PVM, OpenMP or MPI ?
> Right, it uses 1 cpu. That's the way smp does it.

> If you want your soft to behave differently, you have to parallelise it
> somehow to share its load on both cpus. That means you'll have to
> rewrite your code.

Is there a way yet of running a command on a specific CPU in Linux? (as
'runon' did on SGI hardware). I believe that a while back it wasn't there
but was being thought about, not sure if it's availabe yet though.
 
 
 

run a job on both processors of a bi-processor xeon

Post by Ed Koa » Thu, 20 Jan 2005 01:24:08



>>Right, it uses 1 cpu. That's the way smp does it.

>>If you want your soft to behave differently, you have to parallelise it
>>somehow to share its load on both cpus. That means you'll have to
>>rewrite your code.

> Is there a way yet of running a command on a specific CPU in Linux? (as
> 'runon' did on SGI hardware). I believe that a while back it wasn't there
> but was being thought about, not sure if it's availabe yet though.

I don't understand your question. SMP means symmetric, i.e. all cpus are
equal, and the os loads automatically the processor when your program
starts.
So it doesn't matter on "which cpu" your software runs.
You are referring maybe to a different hardware than smp. I'm not sure
it is considered anymore nowadays.
 
 
 

run a job on both processors of a bi-processor xeon

Post by ray » Thu, 20 Jan 2005 01:33:43



> Hi everybody,
> I want to run a job on both processors of a bi-processor xeon
> (2x1.7Go).
> when I simply run the job like this:
> prompt>./myjob
> it runs only on one processor of 1.7Ghz. This takes a long time untill
> the job is done!
> Is there any simple bash command to do so ? or do I need an additional
> parallelisation software like PVM, OpenMP or MPI ?
> thanx

Basically, you have to rewrite your software so that it uses parallel
threads of execution. OpenMP and MPI simply allow you to make a parallel
computer out of several individual computers. Unfortunately, software has
not yet reached the point of 'automatic parallelism', and is not likely to
do so in the near future.
 
 
 

run a job on both processors of a bi-processor xeon

Post by Juha Laih » Thu, 20 Jan 2005 04:05:57




>>>Right, it uses 1 cpu. That's the way smp does it.

>>>If you want your soft to behave differently, you have to parallelise it
>>>somehow to share its load on both cpus. That means you'll have to
>>>rewrite your code.

>> Is there a way yet of running a command on a specific CPU in Linux? (as
>> 'runon' did on SGI hardware). I believe that a while back it wasn't there
>> but was being thought about, not sure if it's availabe yet though.

>I don't understand your question. SMP means symmetric, i.e. all cpus are
>equal, and the os loads automatically the processor when your program
>starts.
>So it doesn't matter on "which cpu" your software runs.
>You are referring maybe to a different hardware than smp. I'm not sure
>it is considered anymore nowadays.

Actually CPU affinity may matter -- and I don't know whether it's possible
yet to bina a process to a single CPU.

Where CPU affinity matters are tasks where the CPU processes such data set
that conveniently fits into the CPU cache. As long as the cache is not
clobbered by another application, and especially as long as the process
is not shifted to another CPU, the process will get the full benefit of
the cache. If, however, the process is continuously bounced between different
CPUs, the system must all the time store and load the working set between
the CPUs and the main memory (unless there is some faster transfer method
directly between CPU caches, but I think in Intel hardware there isn't).

I've seen this happen in practice on HP PA-RISC hardware (though I forget
which application was the culprit); we had recently upgraded from
a single-processor machine to a dual-processor system (with higher CPU
clock rate than with the previous single-CPU), and the application slowed
down. While investigating, I paid attention to the huge number of CPU
switches accumulated for this application, and as an experiment bound
it to just one CPU, and the processing speeded up pretty much as could
be expected from the clock rate differences. This application wasn't
multi-threaded, so the main process couldn't use both the CPUs, but
at least now we had one CPU for the main process alone, and another for
the not so CPU-hungry auxiliary processes; all in all a significant
speedup. Later on, HP released a kernel patch (so the OS here was HP-UX)
which changed the CPU scheduling so that processes had by default
a tighter binding to the previous CPU on whih they'd been running.
The problem apparently was that the OS was trying to make the
overall load equal for the two CPUs, and as we only had load for perhaps
1.2 CPUs, the OS ended up switching the executing CPU for the "hungry"
process on each context switch.
--
Wolf  a.k.a.  Juha Laiho     Espoo, Finland

         PS(+) PE Y+ PGP(+) t- 5 !X R !tv b+ !DI D G e+ h---- r+++ y++++
"...cancel my subscription to the resurrection!" (Jim Morrison)

 
 
 

run a job on both processors of a bi-processor xeon

Post by calogero_robe.. » Thu, 20 Jan 2005 16:46:24


Hi,
--How can I investigate which CPU is loaded with a given process?
-- what is  a culprit ? would it do in my case ?
--Actually my software is already paralellised with PVM, can I select
which CPU to run my process on or is it just for remote host stations?
 
 
 

run a job on both processors of a bi-processor xeon

Post by Chris Col » Thu, 20 Jan 2005 19:16:25



> Hi,
> --How can I investigate which CPU is loaded with a given process?

top

Quote:> -- what is  a culprit ? would it do in my case ?

The 'culprit' in Juha's post was the software that he was working with.

Quote:> --Actually my software is already paralellised with PVM, can I select
> which CPU to run my process on or is it just for remote host stations?

No. PVM won't automatically parallellise your software. You need to
re-write your code to take advantage of muliple threads/cpus. PVM just
allows your parallelised software to run across several machines.
 
 
 

run a job on both processors of a bi-processor xeon

Post by calogero_robe.. » Thu, 20 Jan 2005 19:27:03


thanx Chris.
 
 
 

run a job on both processors of a bi-processor xeon

Post by Jose Maria Lopez Hernande » Fri, 21 Jan 2005 01:39:28




>> Hi everybody,
>> I want to run a job on both processors of a bi-processor xeon
>> (2x1.7Go).
>> when I simply run the job like this:
>> prompt>./myjob
>> it runs only on one processor of 1.7Ghz. This takes a long time untill
>> the job is done!
>> Is there any simple bash command to do so ? or do I need an additional
>> parallelisation software like PVM, OpenMP or MPI ?

> Right, it uses 1 cpu. That's the way smp does it.

> If you want your soft to behave differently, you have to parallelise it
> somehow to share its load on both cpus. That means you'll have to
> rewrite your code.

Yes, or he can make it multithreaded or use multiple childs for
different purposes or something similar.

--

Jose Maria Lopez Hernandez
Director Tecnico de bgSEC

bgSEC Seguridad y Consultoria de Sistemas Informaticos
http://www.bgsec.com
ESPA?A

The only people for me are the mad ones -- the ones who are mad to live,
mad to talk, mad to be saved, desirous of everything at the same time,
the ones who never yawn or say a commonplace thing, but burn, burn, burn
like fabulous yellow Roman candles.
                 -- Jack Kerouac, "On the Road"

 
 
 

run a job on both processors of a bi-processor xeon

Post by Ed Koa » Fri, 21 Jan 2005 05:21:44



> Is there a way yet of running a command on a specific CPU in Linux? (as
> 'runon' did on SGI hardware). I believe that a while back it wasn't there
> but was being thought about, not sure if it's availabe yet though.

Actually, googling around sgi offers such software for free for linux.
But it's stuck at 2003, afaik. And it needs to patch the kernel.
 
 
 

run a job on both processors of a bi-processor xeon

Post by Bill Hodge » Fri, 21 Jan 2005 09:29:52



> Hi,
> --How can I investigate which CPU is loaded with a given process?
> -- what is  a culprit ? would it do in my case ?
> --Actually my software is already paralellised with PVM, can I select
> which CPU to run my process on or is it just for remote host stations?

Om a dual G5 YDL 2.6.9 we run a shell which sets processor affinity and
spawns our processes accross the processors.
 
 
 

1. run a job on both processors of a bi-processor xeon

Hi everybody,
I want to run a job on both processors of a bi-processor xeon
(2x1.7Go).
when I simply run the job like this:
prompt>./myjob
it runs only on one processor of 1.7Ghz. This takes a long time untill
the job is done!
Is there any simple bash command to do so ? or do I need an additional
parallelisation software like PVM, OpenMP or MPI ?
thanx

2. Multipath routing weird problem

3. Maximum priority on a 44P 270 bi-processor

4. how?

5. problem on openserver 5.05 wilth telnet access en bi-processor server

6. SNMP on Wireless Access Point Linksys WRT54G

7. Kernel Panic on a bi-processor

8. Bsd file system reference

9. Q:Is there a linux on P-Pro 200 Bi-processor Box?

10. Help required to run application on a single processor on a multi processor machine

11. restricting a process/job to run on a specific processor..

12. Q: 1 processor vs. 2 processors