[Devel] Re: [ckrm-tech] [PATCH] BC: resource beancounters (v4) (added user memory)
Balbir Singh
balbir at in.ibm.com
Mon Sep 18 01:25:55 PDT 2006
Pavel Emelianov wrote:
> Kirill Korotaev wrote:
>
> [snip]
>>> I have a C program that computes limits to obtain desired guarantees
>>> in a single 'for (i = 0; i < n; n++)' loop for any given set of guarantees.
>>> With all error handling, beautifull output, nice formatting etc it weights
>>> only 60 lines.
>
> Look at http://wiki.openvz.org/Containers/Guarantees_for_resources
> I've described there how a guarantee can be get with limiting in details.
>
> [snip]
>
>>> I do not 'do not like guarantee'. I'm just sure that there are two ways
>>> for providing guarantee (for unreclaimable resorces):
>>> 1. reserving resource for group in advance
>>> 2. limit resource for others
>>> Reserving is worse as it is essentially limiting (you cut off 100Mb from
>>> 1Gb RAM thus limiting the other groups by 900Mb RAM), but this limiting
>>> is too strict - you _have_ to reserve less than RAM size. Limiting in
>>> run-time is more flexible (you may create an overcommited BC if you
>>> want to) and leads to the same result - guarantee.
>> I think this deserves putting on Wiki.
>> It is very good clear point.
>
> This is also on the page I gave link at.
>
This approach has the following disadvantages
1. Lets consider initialization - When we create 'n' groups initially, we need
to spend O(n^2) time to assign guarantees.
2. Every time a limit or a guarantee changes, we need to recalculate guarantees
and ensure that the change will not break any guarantees
3. The same thing as stated above, when a resource group is created or deleted
This can lead to some instability; a change in one group propagates to all other groups.
--
Balbir Singh,
Linux Technology Center,
IBM Software Labs
More information about the Devel
mailing list