From: "Paul Menage" <menage@google.com>
To: vatsa@in.ibm.com
Cc: "Paul Jackson" <pj@sgi.com>,
dev@openvz.org, sekharan@us.ibm.com,
ckrm-tech@lists.sourceforge.net, balbir@in.ibm.com,
haveblue@us.ibm.com, linux-kernel@vger.kernel.org,
matthltc@us.ibm.com, dipankar@in.ibm.com, rohitseth@google.com
Subject: Re: [ckrm-tech] [RFC] Resource Management - Infrastructure choices
Date: Mon, 6 Nov 2006 12:23:44 -0800 [thread overview]
Message-ID: <6599ad830611061223m77c0ef1ei72bd7729d9284ec6@mail.gmail.com> (raw)
In-Reply-To: <20061106124948.GA3027@in.ibm.com>
On 11/6/06, Srivatsa Vaddagiri <vatsa@in.ibm.com> wrote:
> On Wed, Nov 01, 2006 at 03:37:12PM -0800, Paul Menage wrote:
> > I saw your example, but can you give a concrete example of a situation
> > when you might want to do that?
>
> Paul,
> Firstly, after some more thought on this, we can use your current
> proposal, if it makes the implementation simpler.
It does, but I'm more in favour of getting the abstractions right the
first time if we can, rather than implementation simplicity.
>
> Secondly, regarding how separate grouping per-resource *maybe* usefull,
> consider this scenario.
>
> A large university server has various users - students, professors,
> system tasks etc. The resource planning for this server could be on these lines:
>
> CPU : Top cpuset
> / \
> CPUSet1 CPUSet2
> | |
> (Profs) (Students)
>
> In addition (system tasks) are attached to topcpuset (so
> that they can run anywhere) with a limit of 20%
>
> Memory : Professors (50%), students (30%), system (20%)
>
> Disk : Prof (50%), students (30%), system (20%)
>
> Network : WWW browsing (20%), Network File System (60%), others (20%)
> / \
> Prof (15%) students (5%)
>
> Browsers like firefox/lynx go into the WWW network class, while (k)nfsd go
> into NFS network class.
>
> At the same time firefox/lynx will share an appropriate CPU/Memory class
> depending on who launched it (prof/student).
>
> If we had the ability to write pids directly to these resource classes,
> then admin can easily setup a script which receives exec notifications
> and depending on who is launching the browser he can
>
> # echo browser_pid > approp_resource_class
>
> With your proposal, he now would have to create a separate container for
> every browser launched and associate it with approp network and other
> resource class. This may lead to proliferation of such containers.
Or create one container per combination (so in this case four,
prof/www, prof/other, student/www, student/other) - then processes can
be moved between the containers to get the appropriate qos of each
type.
So the setup would look something like:
top-level: prof vs student vs system, with new child nodes for cpu,
memory and disk, and no new node for network
second-level, within the prof and student classes: www vs other, with
new child nodes for network, and no new child nodes for cpu.
In terms of the commands to set it up, it might look like (from the top-level)
echo network > inherit
mkdir prof student system
echo disk,cpu,memory > prof/inherit
mkdir prof/www prof/other
echo disk,cpu,memory > student/inherit
mkdir student/www student/other
> Also lets say that the administrator would like to give enhanced network
> access temporarily to a student's browser (since it is night and the user
> wants to do online gaming :) OR give one of the students simulation
> apps enhanced CPU power,
>
> With ability to write pids directly to resource classes, its just a
> matter of :
>
> # echo pid > new_cpu/network_class
> (after some time)
> # echo pid > old_cpu/network_class
>
> Without this ability, he will have to split the container into a
> separate one and then associate the container with the new resource
> classes.
In practice though, do you think the admin would really want to be
have to move individual processes around by hand? Sure, it's possible,
but wouldn't it make more sense to just give the entire student/www
class more network bandwidth? Or more generically, how often are
people going to be needing to move individual processes from one QoS
class to another, rather than changing the QoS for the existing class?
Paul
next prev parent reply other threads:[~2006-11-06 20:24 UTC|newest]
Thread overview: 135+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-30 10:33 Srivatsa Vaddagiri
2006-10-30 10:34 ` RFC: Memory Controller Balbir Singh
2006-10-30 11:04 ` Paul Menage
2006-10-30 13:27 ` [ckrm-tech] " Balbir Singh
2006-10-30 18:14 ` Paul Menage
2006-10-31 17:07 ` Balbir Singh
2006-10-31 17:22 ` Paul Menage
2006-10-31 18:16 ` Badari Pulavarty
2006-11-01 7:05 ` Balbir Singh
2006-11-01 7:07 ` Paul Menage
2006-11-01 7:44 ` Balbir Singh
2006-11-01 12:23 ` Paul Jackson
2006-11-02 0:09 ` Paul Menage
2006-11-02 0:39 ` Paul Jackson
2006-10-30 15:58 ` Pavel Emelianov
2006-10-30 17:39 ` Balbir Singh
2006-10-30 18:07 ` Balbir Singh
2006-10-31 8:57 ` Pavel Emelianov
2006-10-31 9:19 ` Balbir Singh
2006-10-31 9:25 ` Pavel Emelianov
2006-10-31 10:10 ` Balbir Singh
2006-10-31 10:19 ` Pavel Emelianov
2006-10-31 9:42 ` Andrew Morton
2006-10-31 10:36 ` Balbir Singh
2006-10-31 8:48 ` Pavel Emelianov
2006-10-31 10:54 ` Balbir Singh
2006-10-31 11:15 ` Pavel Emelianov
2006-10-31 12:39 ` Balbir Singh
2006-10-31 14:19 ` Pavel Emelianov
2006-10-31 16:54 ` Paul Menage
2006-11-01 6:00 ` David Rientjes
2006-11-01 8:05 ` Pavel Emelianov
2006-11-01 8:35 ` David Rientjes
2006-10-31 17:04 ` Dave Hansen
2006-11-01 7:57 ` Pavel Emelianov
2006-10-30 18:20 ` Paul Menage
2006-10-30 21:38 ` Paul Jackson
2006-10-30 10:43 ` [RFC] Resource Management - Infrastructure choices Paul Jackson
2006-10-30 14:19 ` [ckrm-tech] " Pavel Emelianov
2006-10-30 14:29 ` Paul Jackson
2006-10-30 17:09 ` Srivatsa Vaddagiri
2006-10-30 17:16 ` Dave McCracken
2006-10-30 18:07 ` Paul Menage
2006-10-30 20:41 ` Paul Jackson
2006-10-30 10:51 ` Paul Menage
2006-10-30 11:06 ` [ckrm-tech] " Paul Jackson
2006-10-30 12:07 ` Paul Menage
2006-10-30 12:28 ` Paul Jackson
2006-10-30 11:15 ` Paul Jackson
2006-10-30 12:04 ` Paul Menage
2006-10-30 12:27 ` Paul Jackson
2006-10-30 17:53 ` Paul Menage
2006-10-30 20:36 ` Paul Jackson
2006-10-30 20:47 ` Paul Menage
2006-10-30 20:56 ` Paul Jackson
2006-10-30 21:03 ` Paul Menage
2006-10-31 11:53 ` Srivatsa Vaddagiri
2006-10-31 13:31 ` Srivatsa Vaddagiri
2006-10-31 16:46 ` Paul Menage
2006-11-01 17:25 ` Srivatsa Vaddagiri
2006-11-01 23:37 ` Paul Menage
2006-11-06 12:49 ` Srivatsa Vaddagiri
2006-11-06 20:23 ` Paul Menage [this message]
2006-11-07 13:20 ` Srivatsa Vaddagiri
2006-11-07 18:41 ` Paul Jackson
2006-11-07 19:07 ` Paul Menage
2006-11-07 19:11 ` Paul Jackson
2006-11-07 19:24 ` Paul Menage
2006-11-07 19:58 ` Paul Jackson
2006-11-07 20:00 ` Paul Menage
2006-11-07 20:02 ` Paul Jackson
2006-11-08 2:47 ` Matt Helsley
2006-11-07 20:34 ` Paul Jackson
2006-11-07 20:41 ` Paul Menage
2006-11-07 21:50 ` Paul Jackson
2006-11-07 22:21 ` Paul Menage
2006-11-08 3:15 ` Paul Jackson
2006-11-08 4:15 ` Paul Menage
2006-11-08 4:16 ` Paul Jackson
2006-11-08 11:22 ` Paul Jackson
2006-11-08 5:12 ` Srivatsa Vaddagiri
2006-11-08 5:36 ` Paul Jackson
2006-11-09 5:39 ` Balbir Singh
2006-11-08 19:25 ` Chris Friesen
2006-11-09 3:54 ` Srivatsa Vaddagiri
2006-11-10 14:57 ` Srivatsa Vaddagiri
2006-11-01 4:39 ` David Rientjes
2006-11-01 9:50 ` Paul Jackson
2006-11-01 9:58 ` David Rientjes
2006-11-01 15:59 ` Srivatsa Vaddagiri
2006-11-01 16:31 ` Srivatsa Vaddagiri
2006-11-01 21:05 ` David Rientjes
2006-11-01 23:43 ` Paul Menage
2006-11-01 18:19 ` Srivatsa Vaddagiri
2006-11-01 17:33 ` Srivatsa Vaddagiri
2006-11-01 21:18 ` Chris Friesen
2006-11-01 23:01 ` [Devel] " Kir Kolyshkin
2006-11-02 0:31 ` Matt Helsley
2006-11-02 8:34 ` Kir Kolyshkin
2006-11-01 23:48 ` Paul Menage
2006-11-02 3:28 ` Chris Friesen
2006-11-02 7:40 ` Paul Menage
2006-10-30 14:08 ` Pavel Emelianov
2006-10-30 14:23 ` Paul Jackson
2006-10-30 14:38 ` Pavel Emelianov
2006-10-30 15:18 ` Paul Jackson
2006-10-30 15:26 ` Pavel Emelianov
2006-10-31 0:26 ` Matt Helsley
2006-10-31 8:34 ` Pavel Emelianov
2006-10-31 16:33 ` Chris Friesen
2006-10-30 18:01 ` Paul Menage
2006-10-31 8:31 ` Pavel Emelianov
2006-10-31 16:34 ` Paul Menage
2006-10-31 16:57 ` Srivatsa Vaddagiri
2006-11-01 7:58 ` Pavel Emelianov
2006-10-31 16:34 ` Srivatsa Vaddagiri
2006-11-01 8:01 ` Pavel Emelianov
2006-11-01 16:04 ` Matt Helsley
2006-11-01 17:51 ` Srivatsa Vaddagiri
2006-11-01 17:50 ` Srivatsa Vaddagiri
2006-11-02 8:42 ` Pavel Emelianov
2006-11-03 1:29 ` David Rientjes
2006-11-01 9:30 ` Pavel Emelianov
2006-11-01 9:53 ` David Rientjes
2006-11-01 22:23 ` Matt Helsley
2006-11-01 18:12 ` Srivatsa Vaddagiri
2006-11-01 22:19 ` Matt Helsley
2006-11-01 23:50 ` Paul Menage
2006-11-02 0:30 ` Matt Helsley
2006-11-02 5:33 ` Balbir Singh
2006-11-02 9:08 ` Pavel Emelianov
2006-11-02 11:26 ` Matt Helsley
2006-11-02 13:04 ` Pavel Emelianov
2006-11-03 1:29 ` David Rientjes
2006-11-02 8:52 ` Pavel Emelianov
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=6599ad830611061223m77c0ef1ei72bd7729d9284ec6@mail.gmail.com \
--to=menage@google.com \
--cc=balbir@in.ibm.com \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=dev@openvz.org \
--cc=dipankar@in.ibm.com \
--cc=haveblue@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=matthltc@us.ibm.com \
--cc=pj@sgi.com \
--cc=rohitseth@google.com \
--cc=sekharan@us.ibm.com \
--cc=vatsa@in.ibm.com \
/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
all inboxes | Powered by JetHome®