Binding Job To CPU

Binding Job To CPU

Post by Mike Jorda » Sat, 10 Jul 1999 04:00:00



We have a F-50 with 4 processors.  Unfortunately ARCView, ARCEdit, ARC,
etc., do not support multi-processors yet.  I've been told that you can
bind a job to a paticular cpu so that the main processor is left doing
it's normal work.  I've looked through the RS/6000 and AIX books that I
have but none of them have anything about binding or running an RS/6000
with multi-processors.

Is this possible and if so, how would it be done?  Is there an info page
somewhere that talks about it?  It sounds neat to say you have a computer
with 4 processors, but if only one of them gets used, it's sure a waste.

Thanks for any help.

Mike

--
-------------------  
Prineville, Oregon (Central Oregon)
Bouvier des Flandres - Carting, Herding & Clicker Training
The Mocassin Telegraph - Cherokee Genealogy
WWW:  http://www.europa.com/~mjordan

 
 
 

Binding Job To CPU

Post by Norman Levi » Sun, 11 Jul 1999 04:00:00


I don't think you can do it thru a command.  Check the system calls.
--
Norman Levin
vm/dynAmIX inc.

 
 
 

Binding Job To CPU

Post by Kevin R. Ge » Mon, 12 Jul 1999 04:00:00


Look at the man page for the "bindprocessor" command.

However, I imagine that you can just let the kernel perform its own
scheduling and balance the processes onto a single processor in such a
way that the performance isn't unnecessarily hindered, which we
fallible humans can do by messing with bindprocessor.

In other words, the applications aren't designed to support multiple
processors.  Fine.  So, they'll be scheduled to run on one processor,
and I don't think the application cares if that processor is proc0,
proc1, proc2, or proc3.  I've written some threaded code before and I
can't see a problem with just allowing the processes to go ahead and
run.  However, if you must bind them, use "bindprocessor".

Kevin



Quote:> We have a F-50 with 4 processors.  Unfortunately ARCView, ARCEdit,
ARC,
> etc., do not support multi-processors yet.  I've been told that you
can
> bind a job to a paticular cpu so that the main processor is left doing
> it's normal work.  I've looked through the RS/6000 and AIX books that
I
> have but none of them have anything about binding or running an
RS/6000
> with multi-processors.

> Is this possible and if so, how would it be done?  Is there an info
page
> somewhere that talks about it?  It sounds neat to say you have a
computer
> with 4 processors, but if only one of them gets used, it's sure a
waste.

> Thanks for any help.

> Mike

> --
> -------------------
> Prineville, Oregon (Central Oregon)
> Bouvier des Flandres - Carting, Herding & Clicker Training
> The Mocassin Telegraph - Cherokee Genealogy
> WWW:  http://www.europa.com/~mjordan

--
Kevin R. Gee
MS Student, University of Texas at Arlington, Arlington, TX
Senior UNIX Administrator, Origin Technology in Business, Arlington, TX

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

 
 
 

Binding Job To CPU

Post by Mike Jorda » Mon, 12 Jul 1999 04:00:00



: Look at the man page for the "bindprocessor" command.

: However, I imagine that you can just let the kernel perform its own
: scheduling and balance the processes onto a single processor in such a
: way that the performance isn't unnecessarily hindered, which we
: fallible humans can do by messing with bindprocessor.

That's the other thing that was mentioned along with being able to bind a
processor... it has it's own inheritant problems.  

What we have is a group of GIS people working on map images, which
sometimes eat up a lot of processor time.  When it was mentioned binding a
process intensive job to a specific processor I thought this might be a
good way to utilize the 4 processors we have on our F-50 and keep lower
priority jobs moving along.

: In other words, the applications aren't designed to support multiple
: processors.  Fine.  So, they'll be scheduled to run on one processor,
: and I don't think the application cares if that processor is proc0,
: proc1, proc2, or proc3.  I've written some threaded code before and I
: can't see a problem with just allowing the processes to go ahead and
: run.  However, if you must bind them, use "bindprocessor".

Thanks for the info Kevin.  I'd like to give it a try, but may find that I
don't gain anything or may even lose ground.  At least I can play a bit as
the F-50 isn't a full production machine yet.

Thanks

Mike

--
-------------------  
Prineville, Oregon (Central Oregon)
Bouvier des Flandres - Carting, Herding & Clicker Training
The Mocassin Telegraph - Cherokee Genealogy
WWW:  http://www.europa.com/~mjordan

 
 
 

Binding Job To CPU

Post by FunIn » Fri, 23 Jul 1999 04:00:00


Mike,

Having seen some of the replies to your message, you have the right idea....It
sounds as if you're better off letting AIX determine the cpu scheduling for
processes....

You may find, depending on the application, that you can benefit from using
bindprocessor against a server-type process, but I suspect you will achieve
better results without messing with mother (IBM) nature.

Also, you make reference to the "Main" processor.  There is no main processor
on any RS/6000, there are processors on the RS/6000, it may boot off of
processor 0, but once the system is up and running, it could care less about
which process is running on what processor....

I understand that VAX'es use their processor 0 as a "main" processor, but the
concept is quite different on RS/6000..

Hope that helps.
-Dan

>Subject: Binding Job To CPU

>Date: Sat, 10 July 1999 02:25 AM EDT

>We have a F-50 with 4 processors.  Unfortunately ARCView, ARCEdit, ARC,
>etc., do not support multi-processors yet.  I've been told that you can
>bind a job to a paticular cpu so that the main processor is left doing
>it's normal work.  I've looked through the RS/6000 and AIX books that I
>have but none of them have anything about binding or running an RS/6000
>with multi-processors.

>Is this possible and if so, how would it be done?  Is there an info page
>somewhere that talks about it?  It sounds neat to say you have a computer
>with 4 processors, but if only one of them gets used, it's sure a waste.

>Thanks for any help.

>Mike

>--
>-------------------  
>Prineville, Oregon (Central Oregon)
>Bouvier des Flandres - Carting, Herding & Clicker Training
>The Mocassin Telegraph - Cherokee Genealogy
>WWW:  http://www.europa.com/~mjordan

 
 
 

Binding Job To CPU

Post by Mike Jorda » Sun, 25 Jul 1999 04:00:00


: Mike,

: Having seen some of the replies to your message, you have the right idea....It
: sounds as if you're better off letting AIX determine the cpu scheduling for
: processes....

I've come to that conclussion as well. Someday if I have time to play
(which probably won't happen <grin>) I might do a few tests.

: Also, you make reference to the "Main" processor.  There is no main processor
: on any RS/6000, there are processors on the RS/6000, it may boot off of
: processor 0, but once the system is up and running, it could care less about
: which process is running on what processor....

What I think of as the "main" processor is the one that is being used,
with the others sitting idle.

Our GIS group has been working off the F-50 for a week now and are really
amazed at the speed increase they are seeing. Of course before they were
running off of a IBM 250 or 580 depending on where they started their ARC
program from.

Thanks for the comments Dan.

Mike

--
-------------------  
Prineville, Oregon (Central Oregon)
Bouvier des Flandres - Carting, Herding & Clicker Training
The Mocassin Telegraph - Cherokee Genealogy
WWW:  http://www.europa.com/~mjordan

 
 
 

1. SUMMARY : Limiting CPU Bound Jobs

Subject: SUMMARY : Limiting CPU Bound Jobs
Newsgroups: comp.unix.admin

Summary:
Keywords:

Earlier I posted that I was looking for a way (unstated : A Simple
Way) to enforce automatically that each user was allowed to run
at most 1 CPU bound job at a time without at the same time affecting
his other programs.

The one which I probably will try is this (suggested by Sherwood Botsford

Get a batch facility (Some Waterloo batch system was suggested) and
kill any job accumulating more than a certain amount of CPU Time
that is NOT on the batch queue.

Some other suggestions :


We do something like this, but our code ("prod", for "Process
Daemon"), is still buggy and not ready for distribution.  Instead of
limiting each person to one CPU intensive job, we give each person an
equal share of the CPU by nicing the processes differently.  One
person might have 3 jobs each using 5% of the CPU each, and another
might have one job using 15%.


There's a product called "Share" that gives Unix a fair job scheduler.
It's an Australian product, originally written at Sydney Uni, I believe.
It lets you assign a "share" of the machine to each user.  When I
was at Sydney Uni doing Computer Science, they used it to restrict
undergraduates use of the machine.  We had a limit on processes, time
used, etc.  It worked really well.


the commercial release.

Thanks everyone!

jin meng

2. Matrox Mistique?!?

3. Performance of CPU bound job

4. Why MBONE is dead?

5. I/O bound vs CPU bound

6. iptables and interface state

7. Binding Oracle to two CPU's in a four CPU Sun Solaris 8 system........

8. How do you set up Xfree86 for Fixed Frequency Monitors

9. Jobs, Jobs, Jobs And More Jobs!!!