Re: [Lse-tech] [PATCH] cpusets - big numa cpu and memory placement

Martin J. Bligh
2004-08-05T20:59:41Z

> Cpusets extend the usefulness of, the existing placement support that
> was added to Linux 2.6 kernels: sched_setaffinity() for CPU placement,
> and mbind and set_mempolicy for memory placement. On smaller or
> dedicated use systems, the existing calls are often sufficient.
>
> On larger NUMA systems, running more than one, performance critical,
> job, it is necessary to be able to manage jobs in their entirety.
> This includes providing a job with exclusive CPU and memory that no
> other job can use, and being able to list all tasks currently in a
> cpuset.

I'm not sure I understand the rationale behind this ... perhaps you could
explain it further. We already have mechanisms to bind a process to
particular CPUs or node's memory.

To provide exclusivity seems valuable ... ie to stop the default
allocations using node X's memory, or CPU Y, and potentially even to
migrate existing users off that.

But that'd seem to be a whole lot simpler than this patch ... what else
are we gaining from CPU sets? The patch is massive, so hard to see exactly
what you're doing ... is the point to add back virtualized memory and
CPU numbering sets specific to each process or group of them, a la
cpumemsets thing you were posting a year or two ago?

M.