From: Peter Williams <pwil3058@bigpond.net.au>
To: Hubertus Franke <frankeh@watson.ibm.com>
Cc: dipankar@in.ibm.com, Paul Jackson <pj@sgi.com>,
Andrew Morton <akpm@osdl.org>,
ckrm-tech@lists.sourceforge.net, efocht@hpce.nec.com,
mbligh@aracnet.com, lse-tech@lists.sourceforge.net,
hch@infradead.org, steiner@sgi.com, jbarnes@sgi.com,
sylvain.jeaugey@bull.net, djh@sgi.com,
linux-kernel@vger.kernel.org, colpatch@us.ibm.com,
Simon.Derr@bull.net, ak@suse.de, sivanich@sgi.com
Subject: Re: [Lse-tech] [PATCH] cpusets - big numa cpu and memory placement
Date: Sun, 03 Oct 2004 09:21:29 +1000 [thread overview]
Message-ID: <415F37F9.6060002@bigpond.net.au> (raw)
In-Reply-To: <415ED3E3.6050008@watson.ibm.com>
Hubertus Franke wrote:
>
> OK, let me respond to this (again...) from the perspective of cpus.
> This should to some extend also cover Andrew's request as well as
> Paul's earlier message.
>
> I see cpumem sets to be orthogonal to CKRM cpu share allocations.
> AGAIN.
> I see cpumem sets to be orthogonal to CKRM cpu share allocations.
>
> In its essense, "cpumem sets" is a hierarchical mechanism of sucessively
> tighter constraints on the affinity mask of tasks.
>
> The O(1) scheduler today does not know about cpumem sets. It operates
> on the level of affinity masks to adhere to the constraints specified
> based on cpu masks.
This is where I see the need for "CPU sets". I.e. as a
replacement/modification to the CPU affinity mechanism basically adding
an extra level of abstraction to make it easier to use for implementing
the type of isolation that people seem to want. I say this because,
strictly speaking and as you imply, the current affinity mechanism is
sufficient to provide that isolation BUT it would be a huge pain to
implement.
The way I see it you just replace the task's affinity mask with a
pointer to its "CPU set" which contains the affinity mask shared by
tasks belonging to that set (and this is used by try_to_wake_up() and
the load balancing mechanism to do their stuff instead of the per task
affinity mask). Then when you want to do something like take a CPU away
from one group of tasks and give it to another group of tasks it's just
a matter of changing the affinity masks in the sets instead of visiting
every one of the tasks individually and changing their masks. There
should be no need to explicitly move tasks off the "lost" CPU after such
a change as it should/could be done next time that they go through
try_to_wake_up() and/or finish a time slice. Moving a task from one CPU
set to another would be a similar process to the current change of
affinity mask.
There would, of course, need to be some restriction on the movement of
CPUs from one set to another so that you don't end up with an empty set
with live tasks, etc.
A possible problem is that there may be users whose use of the current
affinity mechanism would be broken by such a change. A compile time
choice between the current mechanism and a set based mechanism would be
a possible solution. Of course, this proposed modification wouldn't
make any sense with less than 3 CPUs.
PS Once CPU sets were implemented like this, configurable CPU schedulers
(such as (blatant plug :-)) ZAPHOD) could have "per CPU set"
configurations, CKRM could do its (CPU management stuff) stuff within a
CPU set, etc.
>
> The CKRM cpu scheduler also adheres to affinity mask constraints and
> frankly does not care how they are set.
>
> So I do not see what at the scheduler level the problem will be.
> If you want system isolation you deploy cpumem sets. If you want overall
> share enforcement you choose ckrm classes.
> In addition you can use both with the understanding that cpumem sets can
> and will not be violated even if that means that shares are not maintained.
>
> Since you want orthogonality, cpumem sets could be implemented as a
> different "classtype". They would not belong to the taskclass and thus
> are independent from what we consider the task class.
>
>
>
> The tricky stuff comes in from the fact that CKRM assumes a system wide
> definition of a class and a system wide "calculation" of shares.
Doesn't sound insurmountable or particularly tricky :-).
Peter
--
Peter Williams pwil3058@bigpond.net.au
"Learning, n. The kind of ignorance distinguishing the studious."
-- Ambrose Bierce
next prev parent reply other threads:[~2004-10-02 23:21 UTC|newest]
Thread overview: 233+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-05 10:08 [PATCH] new bitmap list format (for cpusets) Paul Jackson
2004-08-05 10:10 ` [PATCH] cpusets - big numa cpu and memory placement Paul Jackson
2004-08-05 20:55 ` [Lse-tech] " Martin J. Bligh
2004-08-06 2:05 ` Paul Jackson
2004-08-06 3:24 ` Martin J. Bligh
2004-08-06 8:31 ` Paul Jackson
2004-08-06 15:30 ` Erich Focht
2004-08-06 15:35 ` Martin J. Bligh
2004-08-06 15:48 ` Hubertus Franke
2004-08-07 6:30 ` Paul Jackson
2004-08-07 6:45 ` Paul Jackson
2004-08-06 15:49 ` Hubertus Franke
2004-08-06 15:52 ` Hubertus Franke
2004-08-06 15:55 ` Erich Focht
2004-08-07 6:10 ` Paul Jackson
2004-08-07 15:22 ` Erich Focht
2004-08-07 18:59 ` Paul Jackson
2004-08-08 3:17 ` Paul Jackson
2004-08-08 14:50 ` Martin J. Bligh
2004-08-11 0:43 ` Paul Jackson
2004-08-11 9:40 ` Erich Focht
2004-08-11 14:49 ` Martin J. Bligh
2004-08-11 17:50 ` Paul Jackson
2004-08-11 21:12 ` Shailabh Nagar
2004-08-12 7:15 ` Paul Jackson
2004-08-12 12:58 ` Jack Steiner
2004-08-12 14:50 ` Martin J. Bligh
2004-08-11 15:12 ` Shailabh Nagar
2004-08-08 20:22 ` Shailabh Nagar
2004-08-09 15:57 ` Hubertus Franke
2004-08-10 11:31 ` [ckrm-tech] " Paul Jackson
2004-08-10 22:38 ` Shailabh Nagar
2004-08-11 10:42 ` Erich Focht
2004-08-11 14:56 ` Shailabh Nagar
2004-08-14 8:51 ` Paul Jackson
2004-08-08 19:58 ` Shailabh Nagar
2004-10-01 23:41 ` Andrew Morton
2004-10-02 6:06 ` Paul Jackson
2004-10-02 14:55 ` Dipankar Sarma
2004-10-02 16:14 ` Hubertus Franke
2004-10-02 18:04 ` Paul Jackson
2004-10-02 23:21 ` Peter Williams [this message]
2004-10-02 23:44 ` Hubertus Franke
2004-10-03 0:00 ` Peter Williams
2004-10-03 3:44 ` Paul Jackson
2004-10-05 3:13 ` [ckrm-tech] " Matthew Helsley
2004-10-05 8:30 ` Hubertus Franke
2004-10-05 14:20 ` Paul Jackson
2004-10-03 2:59 ` Paul Jackson
2004-10-03 3:19 ` Paul Jackson
2004-10-03 3:53 ` Peter Williams
2004-10-03 4:47 ` Paul Jackson
2004-10-03 5:12 ` Peter Williams
2004-10-03 5:39 ` Paul Jackson
2004-10-03 4:02 ` Paul Jackson
2004-10-03 3:39 ` Paul Jackson
2004-10-03 14:36 ` Martin J. Bligh
2004-10-03 15:39 ` Paul Jackson
2004-10-03 23:53 ` Martin J. Bligh
2004-10-04 0:02 ` Martin J. Bligh
2004-10-04 0:53 ` Paul Jackson
2004-10-04 3:56 ` Martin J. Bligh
2004-10-04 4:24 ` Paul Jackson
2004-10-04 15:03 ` Martin J. Bligh
2004-10-04 15:53 ` [ckrm-tech] " Paul Jackson
2004-10-04 18:17 ` Martin J. Bligh
2004-10-04 20:25 ` Paul Jackson
2004-10-04 22:15 ` Martin J. Bligh
2004-10-05 9:17 ` Paul Jackson
2004-10-05 10:01 ` Paul Jackson
2004-10-05 22:24 ` Matthew Dobson
2004-10-05 9:26 ` Simon Derr
2004-10-05 9:58 ` Paul Jackson
2004-10-05 19:34 ` Martin J. Bligh
2004-10-06 0:28 ` Paul Jackson
2004-10-06 1:16 ` Martin J. Bligh
2004-10-06 2:08 ` Paul Jackson
2004-10-06 22:59 ` Matthew Dobson
2004-10-06 23:23 ` Peter Williams
2004-10-07 0:16 ` Rick Lindsley
2004-10-07 18:27 ` Paul Jackson
2004-10-07 8:51 ` Paul Jackson
2004-10-07 10:53 ` Rick Lindsley
2004-10-07 14:41 ` Martin J. Bligh
[not found] ` <20041007072842.2bafc320.pj@sgi.com>
2004-10-07 19:05 ` Rick Lindsley
2004-10-10 2:15 ` [ckrm-tech] " Paul Jackson
2004-10-11 22:06 ` Matthew Dobson
2004-10-11 22:58 ` Paul Jackson
2004-10-12 21:22 ` Matthew Dobson
2004-10-12 8:50 ` Simon Derr
2004-10-12 21:25 ` Matthew Dobson
2004-10-10 2:28 ` Paul Jackson
2004-10-09 0:06 ` Matthew Dobson
[not found] ` <4165A31E.4070905@watson.ibm.com>
2004-10-08 13:14 ` Paul Jackson
2004-10-08 15:42 ` Hubertus Franke
2004-10-08 18:23 ` Paul Jackson
2004-10-09 1:00 ` Matthew Dobson
2004-10-09 20:08 ` [Lse-tech] " Paul Jackson
2004-10-11 22:16 ` Matthew Dobson
2004-10-11 22:42 ` Paul Jackson
2004-10-10 0:05 ` Paul Jackson
2004-10-11 22:18 ` Matthew Dobson
2004-10-11 22:39 ` Paul Jackson
2004-10-09 0:51 ` Matthew Dobson
2004-10-10 0:50 ` [Lse-tech] " Paul Jackson
2004-10-10 0:59 ` Paul Jackson
2004-10-09 0:22 ` Matthew Dobson
2004-10-12 22:24 ` [Lse-tech] " Hanna Linder
2004-10-13 20:56 ` Matthew Dobson
2004-10-07 12:47 ` [Lse-tech] " Simon Derr
2004-10-07 14:49 ` Martin J. Bligh
2004-10-07 17:54 ` Paul Jackson
2004-10-07 18:13 ` Martin J. Bligh
2004-10-08 9:23 ` Erich Focht
2004-10-08 9:50 ` Andrew Morton
2004-10-08 10:40 ` Erich Focht
2004-10-08 14:26 ` Martin J. Bligh
2004-10-08 9:53 ` Nick Piggin
2004-10-08 11:40 ` Erich Focht
2004-10-08 14:24 ` Martin J. Bligh
2004-10-08 22:37 ` Erich Focht
2004-10-14 10:35 ` Eric W. Biederman
2004-10-14 11:22 ` Erich Focht
2004-10-14 11:23 ` Paul Jackson
2004-10-14 19:39 ` Paul Jackson
2004-10-14 22:38 ` Hubertus Franke
2004-10-15 1:26 ` Paul Jackson
2004-10-07 18:25 ` Andrew Morton
2004-10-07 19:52 ` Paul Jackson
2004-10-07 21:04 ` [ckrm-tech] " Matthew Helsley
2004-10-10 3:22 ` Paul Jackson
2004-10-07 19:16 ` Rick Lindsley
2004-10-10 2:35 ` Paul Jackson
2004-10-10 5:12 ` [ckrm-tech] " Paul Jackson
2004-10-08 23:48 ` Matthew Dobson
2004-10-09 0:18 ` Nick Piggin
2004-10-11 23:00 ` Matthew Dobson
2004-10-11 23:09 ` Nick Piggin
2004-10-05 22:33 ` Matthew Dobson
2004-10-06 3:01 ` Paul Jackson
2004-10-06 23:12 ` Matthew Dobson
2004-10-07 8:59 ` [ckrm-tech] " Paul Jackson
2004-10-04 0:45 ` Paul Jackson
2004-10-04 11:44 ` Rick Lindsley
2004-10-04 22:46 ` [ckrm-tech] " Paul Jackson
2004-10-05 22:19 ` Matthew Dobson
2004-10-06 2:39 ` Paul Jackson
2004-10-06 23:21 ` Matthew Dobson
2004-10-07 9:41 ` [ckrm-tech] " Paul Jackson
2004-10-06 2:47 ` Paul Jackson
2004-10-06 9:43 ` Simon Derr
2004-10-06 13:27 ` Paul Jackson
2004-10-06 21:55 ` Peter Williams
2004-10-06 22:49 ` Paul Jackson
2004-10-06 8:02 ` Simon Derr
2005-02-07 23:59 ` Matthew Dobson
2005-02-08 0:20 ` Andrew Morton
2005-02-08 0:34 ` Paul Jackson
2005-02-08 9:54 ` Dinakar Guniguntala
2005-02-08 9:49 ` Nick Piggin
2005-02-08 16:13 ` Martin J. Bligh
2005-02-08 23:26 ` Nick Piggin
2005-02-09 4:23 ` Paul Jackson
2005-02-08 19:32 ` Matthew Dobson
2005-02-09 2:53 ` Nick Piggin
2005-02-08 19:00 ` Matthew Dobson
2005-02-08 20:42 ` Paul Jackson
2005-02-08 22:14 ` Matthew Dobson
2005-02-08 23:58 ` Shailabh Nagar
2005-02-09 0:27 ` Paul Jackson
2005-02-09 0:24 ` Paul Jackson
2005-02-09 17:59 ` [ckrm-tech] " Chandra Seetharaman
2005-02-11 2:46 ` Chandra Seetharaman
2005-02-11 9:21 ` Paul Jackson
2005-02-12 1:37 ` Chandra Seetharaman
2005-02-12 6:16 ` Paul Jackson
2005-02-11 16:54 ` Jesse Barnes
2005-02-11 18:42 ` Chandra Seetharaman
2005-02-11 18:50 ` Jesse Barnes
2005-02-08 16:15 ` Martin J. Bligh
2005-02-08 22:17 ` Matthew Dobson
2004-10-03 16:02 ` Paul Jackson
2004-10-03 23:47 ` Martin J. Bligh
2004-10-04 3:33 ` Paul Jackson
2004-10-03 20:10 ` Tim Hockin
2004-10-04 1:56 ` Paul Jackson
2004-10-03 3:35 ` Paul Jackson
2004-10-03 20:21 ` Erich Focht
2004-10-03 20:48 ` Andrew Morton
2004-10-04 14:05 ` Erich Focht
2004-10-04 14:57 ` Martin J. Bligh
2004-10-04 15:30 ` Paul Jackson
2004-10-04 15:41 ` Martin J. Bligh
2004-10-04 16:02 ` Paul Jackson
2004-10-04 18:19 ` Martin J. Bligh
2004-10-04 18:29 ` Paul Jackson
2004-10-04 15:38 ` Paul Jackson
2004-10-04 16:46 ` Paul Jackson
2004-10-04 3:41 ` Paul Jackson
2004-10-04 13:58 ` Hubertus Franke
2004-10-04 14:13 ` Simon Derr
2004-10-04 14:15 ` Erich Focht
2004-10-04 15:23 ` Paul Jackson
2004-10-04 14:37 ` Paul Jackson
2004-10-02 15:46 ` [ckrm-tech] " Marc E. Fiuczynski
2004-10-02 16:17 ` Hubertus Franke
2004-10-02 17:53 ` Paul Jackson
2004-10-02 18:16 ` Hubertus Franke
2004-10-02 19:14 ` Paul Jackson
2004-10-02 23:29 ` Peter Williams
2004-10-02 23:51 ` Hubertus Franke
2004-10-02 20:40 ` Andrew Morton
2004-10-02 23:08 ` Hubertus Franke
2004-10-02 22:26 ` Alan Cox
2004-10-03 2:49 ` Paul Jackson
2004-10-03 12:19 ` Hubertus Franke
2004-10-03 3:25 ` Paul Jackson
2004-10-03 2:26 ` Paul Jackson
2004-10-03 14:11 ` Paul Jackson
2004-10-02 17:47 ` Paul Jackson
2004-08-05 20:47 ` [Lse-tech] [PATCH] new bitmap list format (for cpusets) Martin J. Bligh
2004-08-05 21:45 ` Paul Jackson
[not found] ` <Pine.A41.4.53.0408060930100.20680@isabelle.frec.bull.fr>
2004-08-06 10:14 ` Paul Jackson
2004-08-09 8:01 ` Paul Jackson
2004-08-09 14:49 ` Martin J. Bligh
2004-08-10 23:43 ` Paul Jackson
2004-08-11 13:11 ` Dinakar Guniguntala
2004-08-11 16:17 ` Paul Jackson
2004-08-11 18:05 ` Dinakar Guniguntala
2004-08-11 20:40 ` Paul Jackson
2004-08-12 9:48 ` Dinakar Guniguntala
2004-08-12 10:11 ` Paul Jackson
2004-08-12 12:34 ` Dinakar Guniguntala
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=415F37F9.6060002@bigpond.net.au \
--to=pwil3058@bigpond.net.au \
--cc=Simon.Derr@bull.net \
--cc=ak@suse.de \
--cc=akpm@osdl.org \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=colpatch@us.ibm.com \
--cc=dipankar@in.ibm.com \
--cc=djh@sgi.com \
--cc=efocht@hpce.nec.com \
--cc=frankeh@watson.ibm.com \
--cc=hch@infradead.org \
--cc=jbarnes@sgi.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lse-tech@lists.sourceforge.net \
--cc=mbligh@aracnet.com \
--cc=pj@sgi.com \
--cc=sivanich@sgi.com \
--cc=steiner@sgi.com \
--cc=sylvain.jeaugey@bull.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox