Re: Separating processes per CPU in a SMP system

Dominik Kubla (dominik.kubla@uni-mainz.de)
Fri, 19 Feb 1999 15:39:37 +0100


On Fri, Feb 19, 1999 at 01:21:42PM +0100, Ingo Molnar wrote:
> On Fri, 19 Feb 1999, Alexandre Hautequest wrote:
>
> > Is there some manner to i separate proccesses between processors? Like, if
> > i have a machine with 4 processors, for example, and i want that httpd uses
> > just processor 0, and sendmail just processor 1, and orasrv uses processors
> > 2 and 3, and maybe they can be changed, with an entry at cron's or somewhat
> > like this.
>
> the kernel dynamically decides which CPU should run what process. The
> kernel has much better knowledge about caching issues, working set,
> scheduling frequency, interrupt traffic, etc. Other than hard-RT purposes,
> i doubt it could be desirable to explicitly bind processes to CPUs.

But being able to define processor sets is useful none the less especially
for large systems. That's why HP/Convex, IBM, SGI and others have
implemented it in their MPP systems.

Think of the following scenario: you have a 16 CPU system with let's say 4
GiB of RAM (no longer utopic with Linux!). You want to give people the
possibility to compile and test on the system without restrictions, but for
those with working applications you want to give them the most out of the
system.

Typically you would do something like the following:

System complex: CPU 0 to CPU 1 512 MeB RAM interactive users
Small Complex: CPU 2 to CPU 3 512 MeB RAM batch users
Medium Complex: CPU 4 to CPU 7 1 GiB RAM batch users
Large Complex: CPU 8 to CPU 15 2 GiB RAM batch users

Even on small systems (2 or 4 CPU Intel boxes) it might be desirable:

Think of a departmental server where batch jobs need to be developed and
later run for production purposes. In that case you would want to reserve 1
or more processors for the production batches, something you can not do
with a simple batch system (even if you use such monsters like NQS or DQS).

Yours,
Dominik Kubla

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/