Home » Mailing lists » Devel » [PATCH] BC: resource beancounters (v2)
Re: BC: resource beancounters (v2) [message #5666 is a reply to message #5661] |
Fri, 25 August 2006 19:00   |
Chandra Seetharaman
Messages: 88 Registered: August 2006
|
Member |
|
|
Have you seen/tried the memory controller in CKRM/Resource Groups ?
http://sourceforge.net/projects/ckrm
It maintains a per resource group LRU lists and also maintains a list of
over-guarantee groups (with ordering based on where they are in their
guarantee-limit scale). So, when a reclaim needs to happen, pages are
first freed from a group that is way over its limit, and then the next
one and so on.
Few things that it does that are not good:
- doesn't account shared pages accurately
- moves all pages from a task when the task moves to a different group
- totally new reclamation path
regards,
chandra
On Fri, 2006-08-25 at 20:30 +0400, Andrey Savochkin wrote:
> On Fri, Aug 25, 2006 at 07:30:03AM -0700, Andrew Morton wrote:
> > On Fri, 25 Aug 2006 15:49:15 +0400
> > Kirill Korotaev <dev@sw.ru> wrote:
> >
> > > Andrey Savochkin wrote already a brief summary on vm resource management:
> > >
> > > ------------- cut ----------------
> > > The task of limiting a container to 4.5GB of memory bottles down to the
> > > question: what to do when the container starts to use more than assigned
> > > 4.5GB of memory?
> > >
> > > At this moment there are only 3 viable alternatives.
> > >
> > > A) Have separate memory management for each container,
> > > with separate buddy allocator, lru lists, page replacement mechanism.
> > > That implies a considerable overhead, and the main challenge there
> > > is sharing of pages between these separate memory managers.
> > >
> > > B) Return errors on extension of mappings, but not on page faults, where
> > > memory is actually consumed.
> > > In this case it makes sense to take into account not only the size of used
> > > memory, but the size of created mappings as well.
> > > This is approximately what "privvmpages" accounting/limiting provides in
> > > UBC.
> > >
> > > C) Rely on OOM killer.
> > > This is a fall-back method in UBC, for the case "privvmpages" limits
> > > still leave the possibility to overload the system.
> > >
> >
> > D) Virtual scan of mm's in the over-limit container
> >
> > E) Modify existing physical scanner to be able to skip pages which
> > belong to not-over-limit containers.
>
> I've actually tried (E), but it didn't work as I wished.
>
> It didn't handle well shared pages.
> Then, in my experiments such modified scanner was unable to regulate
> quality-of-service. When I ran 2 over-the-limit containers, they worked
> equally slow regardless of their limits and work set size.
> That is, I didn't observe a smooth transition "under limit, maximum
> performance" to "slightly over limit, a bit reduced performance" to
> "significantly over limit, poor performance". Neither did I see any fairness
> in how containers got penalized for exceeding their limits.
>
> My explanation of what I observed is that
> - since filesystem caches play a huge role in performance, page scanner will
> be very limited in controlling container's performance if caches
> stay shared between containers,
> - in the absence of decent disk I/O manager, stalls due to swapin/swapout
> are more influenced by disk subsystem than by page scanner policy.
> So in fact modified page scanner provides control over memory usage only as
> "stay under limits or die", and doesn't show many advantages over (B) or (C).
> At the same time, skipping pages visibly penalizes "good citizens", not only
> in disk bandwidth but in CPU overhead as well.
>
> So I settled for (A)-(C) for now.
> But it certainly would be interesting to hear if someone else makes such
> experiments.
>
> Best regards
>
> Andrey
--
------------------------------------------------------------ ----------
Chandra Seetharaman | Be careful what you choose....
- sekharan@us.ibm.com | .......you may get it.
------------------------------------------------------------ ----------
|
|
|
 |
|
[PATCH] BC: resource beancounters (v2)
By: dev on Wed, 23 August 2006 10:44
|
 |
|
[PATCH 1/6] BC: kconfig
By: dev on Wed, 23 August 2006 10:59
|
 |
|
Re: [PATCH 1/6] BC: kconfig
|
 |
|
Re: [PATCH 1/6] BC: kconfig
|
 |
|
Re: [PATCH 1/6] BC: kconfig
|
 |
|
Re: [PATCH 1/6] BC: kconfig
By: dev on Fri, 25 August 2006 11:27
|
 |
|
Re: [PATCH 1/6] BC: kconfig
By: dev on Fri, 25 August 2006 11:31
|
 |
|
Re: [PATCH 1/6] BC: kconfig
By: rdunlap on Wed, 23 August 2006 22:29
|
 |
|
Re: [PATCH 1/6] BC: kconfig
|
 |
|
Re: [PATCH 1/6] BC: kconfig
|
 |
|
Re: [ckrm-tech] [PATCH 1/6] BC: kconfig
By: dev on Thu, 24 August 2006 11:47
|
 |
|
Re: [ckrm-tech] [PATCH 1/6] BC: kconfig
|
 |
|
[PATCH 2/6] BC: beancounters core (API)
By: dev on Wed, 23 August 2006 11:00
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
By: dev on Wed, 23 August 2006 13:25
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
By: dev on Wed, 23 August 2006 13:46
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
By: dev on Thu, 24 August 2006 12:03
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
By: dev on Fri, 25 August 2006 10:51
|
 |
|
Re: [PATCH 2/6] BC: beancounters core (API)
|
 |
|
[PATCH 3/6] BC: context inheriting and changing
By: dev on Wed, 23 August 2006 11:02
|
 |
|
[PATCH 4/6] BC: user interface (syscalls)
By: dev on Wed, 23 August 2006 11:03
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
By: dev on Wed, 23 August 2006 13:40
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
By: Alan Cox on Wed, 23 August 2006 17:08
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
By: Alan Cox on Thu, 24 August 2006 10:42
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
By: dev on Fri, 25 August 2006 10:54
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
|
 |
|
Re: [PATCH 4/6] BC: user interface (syscalls)
|
 |
|
[PATCH 5/6] BC: kernel memory accounting (core)
By: dev on Wed, 23 August 2006 11:04
|
 |
|
Re: [PATCH 5/6] BC: kernel memory accounting (core)
|
 |
|
Re: [PATCH 5/6] BC: kernel memory accounting (core)
|
 |
|
Re: [PATCH 5/6] BC: kernel memory accounting (core)
By: dev on Fri, 25 August 2006 10:06
|
 |
|
[PATCH 6/6] BC: kernel memory accounting (marks)
By: dev on Wed, 23 August 2006 11:05
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
By: dev on Tue, 29 August 2006 09:52
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
By: dev on Tue, 29 August 2006 14:34
|
 |
|
Re: [PATCH 6/6] BC: kernel memory accounting (marks)
By: dev on Tue, 29 August 2006 15:53
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
By: dev on Fri, 25 August 2006 11:47
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
By: dev on Mon, 28 August 2006 08:27
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: BC: resource beancounters (v2)
|
 |
|
Re: BC: resource beancounters (v2)
|
 |
|
Re: BC: resource beancounters (v2)
|
 |
|
Re: BC: resource beancounters (v2)
|
 |
|
Re: BC: resource beancounters (v2)
By: Alan Cox on Sat, 26 August 2006 16:16
|
 |
|
Re: BC: resource beancounters (v2)
|
 |
|
Re: Re: BC: resource beancounters (v2)
By: kir on Mon, 28 August 2006 17:40
|
 |
|
Re: Re: BC: resource beancounters (v2)
|
 |
|
Re: Re: BC: resource beancounters (v2)
By: Alan Cox on Tue, 29 August 2006 10:15
|
 |
|
Re: Re: BC: resource beancounters (v2)
|
 |
|
Re: Re: BC: resource beancounters (v2)
By: Alan Cox on Tue, 29 August 2006 18:46
|
 |
|
Re: Re: BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
By: dev on Tue, 29 August 2006 15:33
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
By: Alan Cox on Thu, 24 August 2006 10:38
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
By: Alan Cox on Fri, 25 August 2006 15:36
|
 |
|
Re: [PATCH] BC: resource beancounters (v2)
|
Goto Forum:
Current Time: Sun Jul 13 09:07:42 GMT 2025
Total time taken to generate the page: 0.02248 seconds
|