From: Rohit Seth <rohitseth@google.com>
To: Kir Kolyshkin <kir@openvz.org>
Cc: devel@openvz.org, Kirill Korotaev <dev@sw.ru>,
Rik van Riel <riel@redhat.com>,
vatsa@in.ibm.com, sekharan@us.ibm.com,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
CKRM-Tech <ckrm-tech@lists.sourceforge.net>,
balbir@in.ibm.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Andi Kleen <ak@suse.de>, Christoph Hellwig <hch@infradead.org>,
Andrey Savochkin <saw@sw.ru>, Matt Helsley <matthltc@us.ibm.com>,
Hugh Dickins <hugh@veritas.com>,
Alexey Dobriyan <adobriyan@mail.ru>,
Oleg Nesterov <oleg@tv-sign.ru>
Subject: Re: [Devel] Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
Date: Fri, 15 Sep 2006 14:58:53 -0700 [thread overview]
Message-ID: <1158357533.12311.110.camel@galaxy.corp.google.com> (raw)
In-Reply-To: <450B1958.3020309@openvz.org>
On Sat, 2006-09-16 at 01:21 +0400, Kir Kolyshkin wrote:
> Rohit Seth wrote:
> > On Fri, 2006-09-15 at 13:26 +0400, Kirill Korotaev wrote:
> >
> > <...skipped...>
> >
> >> for VMware which can reserve required amount of RAM for VM.
> >>
> >
> > It is much easier to provide guarantees in complete virtual
> > environments. But then you pay the cost in terms of performance.
> >
> "Complete virtual environments" vs. "contaners" is not [only] about
> performance! In the end, given a proper set of dirty and no-so-dirty
> hacks in software and hardware, their performance will be close to native.
>
I don't think there is current generation of Virtualization HW/SW that
can live with o-2% performance loss for all workloads (like the way
containers do).
> Containers vs. other virtualization types is more about utilization,
> density, scalability, portability.
>
I agree with most of it (except portability as using latest HW
technologies you can run unmodified guests in virtualized environment).
> Speaking of guarantees, yes, guarantees is easy, you just reserve such
> amount of RAM for your VM and that is all. But the fact is usually some
> part of that RAM will not be utilized by this particular VM. But since
> it is reserved, it can not be utilized by other VMs -- and we end up
> just wasting some resources. Containers, given a proper resource
> management and configuration, can have some guarantees and still be able
> to utilize all the RAM available in the system. This difference can be
> metaphorically expressed as a house divided into rooms. Dividing walls
> can either be hard or flexible. With flexible walls, room (container)
> owner have a guarantee of minimal space in your room, but if a few
> guests come for a moment, the walls can move to make more space (up to
> the limit). So the flexibility is measured as the delta between a
> guarantee and a limit.
>
> This flexibility leads to higher utilization, and this flexibility is
> one of the reasons for better density (a few times higher than that of a
> paravirtualization solution).
>
I guess as far as memory is concerned, virtualized solutions can also
techniques like ballooning to oversubscribe memory. But I agree that we
will almost always be able to pack things tighter in container
environment.
> I will not touch scalability and portability topics here to make things
> simpler.
> > I think we should punt on hard guarantees and fractions for the first
> > draft. Keep the implementation simple.
> >
> Do I understand it right that with hard guarantees we loose the
> flexibility I have just described? If this is the case, I do not like it.
With hard guarantees, you will also end up making hooks in generic part
of kernel which could be considered invasive. And yes, if you are
making a hard guarantee then you will some how make sure that amount of
resource is available all the time for that container. As you mentioned
this is not the most optimal use of resources. And that is why I don't
want to incorporate that in at least the first draft. Please look at
the container kernel patches that I sent out yesterday. They allow the
containers to go over board with memory as long as there is no pressure.
But the moment there is any pressure on memory, pages belonging to over
the limit containers get freed or swapped first.
-rohit
next prev parent reply other threads:[~2006-09-15 22:00 UTC|newest]
Thread overview: 144+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-09-05 15:02 Kirill Korotaev
2006-09-05 15:19 ` [PATCH 1/13] BC: introduce atomic_dec_and_lock_irqsave() Kirill Korotaev
2006-09-05 15:20 ` [PATCH 2/13] BC: kconfig Kirill Korotaev
2006-09-05 15:21 ` [PATCH 3/17] BC: beancounters core (API) Kirill Korotaev
2006-09-05 15:23 ` [PATCH 4/13] BC: context inheriting and changing Kirill Korotaev
2006-09-05 15:24 ` [PATCH 5/13] BC: user interface (syscalls) Kirill Korotaev
2006-09-05 16:04 ` [ckrm-tech] " Balbir Singh
2006-09-06 8:29 ` Pavel Emelianov
2006-09-06 8:57 ` Balbir Singh
2006-09-06 10:42 ` Pavel Emelianov
2006-09-06 13:23 ` Balbir Singh
2006-09-06 13:45 ` Balbir Singh
2006-09-06 14:23 ` Kirill Korotaev
2006-09-05 15:25 ` [PATCH 6/13] BC: kernel memory (core) Kirill Korotaev
2006-09-05 15:26 ` [PATCH 7/13] BC: kernel memory (marks) Kirill Korotaev
2006-09-06 14:19 ` Cedric Le Goater
2006-09-05 15:27 ` [PATCH 8/13] BC: locked pages (core) Kirill Korotaev
2006-09-05 15:29 ` [PATCH 9/13] BC: locked pages (charge hooks) Kirill Korotaev
2006-09-06 3:43 ` Nick Piggin
2006-09-06 8:45 ` Pavel Emelianov
2006-09-06 9:41 ` Nick Piggin
2006-09-06 14:16 ` [ckrm-tech] " Kirill Korotaev
2006-09-05 15:30 ` [PATCH 10/13] BC: privvm pages Kirill Korotaev
2006-09-05 15:31 ` [PATCH 11/13] BC: vmrss (preparations) Kirill Korotaev
2006-09-05 22:09 ` Cedric Le Goater
2006-09-06 13:59 ` Kirill Korotaev
2006-09-07 16:28 ` [ckrm-tech] " Balbir Singh
2006-09-05 15:32 ` [PATCH 12/13] BC: vmrss (core) Kirill Korotaev
2006-09-05 15:33 ` [PATCH 13/13] BC: vmrss (charges) Kirill Korotaev
2006-09-05 16:53 ` [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory) Balbir Singh
2006-09-06 8:34 ` Pavel Emelianov
2006-09-06 13:06 ` Kirill Korotaev
2006-09-06 19:17 ` Balbir Singh
2006-09-06 22:06 ` Chandra Seetharaman
2006-09-07 3:08 ` Balbir Singh
2006-09-08 7:33 ` Pavel Emelianov
2006-09-08 15:43 ` Dave Hansen
2006-09-08 18:26 ` Balbir Singh
2006-09-11 6:56 ` Pavel Emelianov
2006-09-11 7:54 ` Balbir Singh
2006-09-11 8:13 ` Pavel Emelianov
2006-09-11 8:19 ` Balbir Singh
2006-09-12 10:39 ` Pavel Emelianov
2006-09-12 10:40 ` Pavel Emelianov
2006-09-12 12:01 ` Balbir Singh
2006-09-13 13:39 ` Pavel Emelianov
2006-09-11 10:21 ` Srivatsa Vaddagiri
2006-09-12 10:35 ` Pavel Emelianov
2006-09-11 18:49 ` Chandra Seetharaman
2006-09-12 10:48 ` Pavel Emelianov
2006-09-12 23:58 ` Chandra Seetharaman
2006-09-13 8:06 ` Pavel Emelianov
2006-09-13 12:15 ` Srivatsa Vaddagiri
2006-09-13 13:35 ` Pavel Emelianov
2006-09-13 22:31 ` Chandra Seetharaman
2006-09-14 7:53 ` Pavel Emelianov
2006-09-14 8:06 ` Balbir Singh
2006-09-14 13:02 ` Pavel Emelianov
2006-09-15 0:02 ` Chandra Seetharaman
2006-09-15 7:21 ` Pavel Emelianov
2006-09-15 8:49 ` Kirill Korotaev
2006-09-18 23:51 ` Chandra Seetharaman
2006-09-14 23:42 ` Chandra Seetharaman
2006-09-15 7:15 ` Pavel Emelianov
2006-09-15 8:55 ` Kirill Korotaev
2006-09-15 11:15 ` Pavel Emelianov
2006-09-18 8:25 ` Balbir Singh
2006-09-18 8:56 ` Pavel Emelianov
2006-09-18 11:20 ` Balbir Singh
2006-09-18 11:32 ` Pavel Emelianov
2006-09-19 0:05 ` Chandra Seetharaman
2006-09-19 8:04 ` Pavel Emelianov
2006-09-18 11:27 ` Balbir Singh
2006-09-18 12:37 ` Pavel Emelianov
2006-09-19 0:08 ` Chandra Seetharaman
2006-09-19 8:06 ` Pavel Emelianov
2006-09-18 23:48 ` Chandra Seetharaman
2006-09-11 18:44 ` Chandra Seetharaman
2006-09-15 8:57 ` Kirill Korotaev
2006-09-18 23:57 ` Chandra Seetharaman
2006-09-08 19:23 ` Chandra Seetharaman
2006-09-08 21:43 ` Rohit Seth
2006-09-11 18:25 ` Chandra Seetharaman
2006-09-11 19:10 ` Rohit Seth
2006-09-11 19:42 ` Chandra Seetharaman
2006-09-11 23:58 ` Rohit Seth
2006-09-12 9:53 ` Balbir Singh
2006-09-12 23:54 ` Chandra Seetharaman
2006-09-13 0:39 ` Rohit Seth
2006-09-13 1:10 ` Chandra Seetharaman
2006-09-13 1:25 ` Rohit Seth
2006-09-13 4:41 ` Srivatsa Vaddagiri
2006-09-13 22:20 ` Chandra Seetharaman
2006-09-14 1:22 ` Rohit Seth
2006-09-14 23:13 ` Chandra Seetharaman
2006-09-11 19:48 ` [Devel] " Kir Kolyshkin
2006-09-12 0:28 ` Rohit Seth
2006-09-12 10:44 ` Srivatsa Vaddagiri
2006-09-12 17:22 ` Rohit Seth
2006-09-12 17:40 ` Srivatsa Vaddagiri
2006-09-12 18:02 ` Rohit Seth
2006-09-13 0:02 ` Chandra Seetharaman
2006-09-13 0:43 ` Rohit Seth
2006-09-13 1:13 ` Chandra Seetharaman
2006-09-13 1:33 ` Rohit Seth
2006-09-13 22:24 ` Chandra Seetharaman
2006-09-14 1:27 ` Rohit Seth
2006-09-14 23:28 ` Chandra Seetharaman
2006-09-15 9:26 ` Kirill Korotaev
2006-09-15 16:52 ` Rohit Seth
2006-09-15 21:21 ` [Devel] " Kir Kolyshkin
2006-09-15 21:58 ` Rohit Seth [this message]
2006-09-19 0:02 ` [ckrm-tech] [Devel] " Chandra Seetharaman
2006-09-18 23:59 ` [ckrm-tech] " Chandra Seetharaman
2006-09-06 21:47 ` Chandra Seetharaman
2006-09-08 15:33 ` Dave Hansen
2006-09-08 15:57 ` [RFC] Add tgid aggregation to beancounters (was Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)) Balbir Singh
2006-09-11 21:24 ` V2: " Balbir Singh
2006-09-15 16:40 ` [ckrm-tech] V2: Add tgid aggregation to beancounters (was " Kirill Korotaev
2006-10-09 8:23 ` Balbir Singh
2006-09-05 17:46 ` [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory) Dave Hansen
2006-09-05 18:28 ` Balbir Singh
2006-09-06 0:17 ` Rohit Seth
2006-09-08 15:30 ` Dave Hansen
2006-09-08 17:10 ` Rohit Seth
2006-09-08 17:26 ` Shailabh Nagar
2006-09-08 21:15 ` Rohit Seth
2006-09-08 21:28 ` Shailabh Nagar
2006-09-06 13:57 ` Kirill Korotaev
2006-09-06 21:54 ` Chandra Seetharaman
2006-09-07 7:29 ` Pavel Emelianov
2006-09-07 19:16 ` Chandra Seetharaman
2006-09-08 7:22 ` Pavel Emelianov
2006-09-08 19:07 ` Chandra Seetharaman
2006-09-11 7:02 ` Pavel Emelianov
2006-09-11 13:04 ` Srivatsa Vaddagiri
2006-09-12 10:24 ` Pavel Emelianov
2006-09-12 10:29 ` Srivatsa Vaddagiri
2006-09-12 11:06 ` Pavel Emelianov
2006-09-12 12:04 ` Srivatsa Vaddagiri
2006-09-11 18:47 ` Chandra Seetharaman
2006-09-07 19:29 ` Chandra Seetharaman
2006-09-08 7:26 ` Pavel Emelianov
2006-09-08 19:10 ` Chandra Seetharaman
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=1158357533.12311.110.camel@galaxy.corp.google.com \
--to=rohitseth@google.com \
--cc=adobriyan@mail.ru \
--cc=ak@suse.de \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=balbir@in.ibm.com \
--cc=ckrm-tech@lists.sourceforge.net \
--cc=dev@sw.ru \
--cc=devel@openvz.org \
--cc=hch@infradead.org \
--cc=hugh@veritas.com \
--cc=kir@openvz.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthltc@us.ibm.com \
--cc=oleg@tv-sign.ru \
--cc=riel@redhat.com \
--cc=saw@sw.ru \
--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
Powered by JetHome