linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Rik van Riel <riel@redhat.com>
To: Song Jiang <sjiang@CS.WM.EDU>
Cc: Con Kolivas <kernel@kolivas.org>, Andrew Morton <akpm@osdl.org>,
	fchen@CS.WM.EDU, linux-mm@kvack.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] token based thrashing control
Date: Mon, 2 Aug 2004 21:20:54 -0400 (EDT)	[thread overview]
Message-ID: <Pine.LNX.4.44.0408022106560.5948-100000@dhcp83-102.boston.redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.44.0408022018080.8702-100000@va.cs.wm.edu>

On Mon, 2 Aug 2004, Song Jiang wrote:

> When there is memory competition among multiple processes,
> Which process grabs the token first is important.
> A process with its memory demand exceeding the total
> ram gets the token first and finally has to give it up 
> due to a time-out would have little performance gain from token,
> It could also hurt others. Ideally we could make small processes
> more easily grab the token first and enjoy the benifis from
> token. That is, we want to protect those that are deserved to be
> protected. Can we take the rss or other available memory demand
> information for each process into the consideration of whether 
> a token should be taken, or given up and how long a token is held.  

I like this idea.  I'm trying to think of a way to skew
the "lottery" so small processes get an advantage, but
the only thing I can come up with is as follows:

1) when a process tries to grab the token, it "registers"
   itself

2) a subsequent process can "register" itself to get the
   token, but only if it has a better score than the
   process that already has it

3) the score can be calculated based on a few factors,
   like (a) size of the process (b) time since it last
   had the token

4) a simple formula could be (time / size), giving big
   processes the token every once in a blue moon and
   letting small processes have the token all the time

5) the token would be grabbed in pretty much the same way
   we do currently, except the token can be handed to
   another process instead of the current process, if there
   is a better candidate registered - all the locking is there

6) since there is only one candidate, we won't have any
   queueing complexities and the algorithm should be just
   as cheap as it is currently

What do you think ?

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

  reply	other threads:[~2004-08-03  1:20 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-30 21:37 Rik van Riel
2004-07-31 11:34 ` Nikita Danilov
2004-07-31 11:43   ` Rik van Riel
2004-08-01 11:05 ` Andrew Morton
2004-08-01 11:13   ` Arjan van de Ven
2004-08-01 21:52   ` Rik van Riel
2004-08-01 13:02 ` Rik van Riel
2004-08-02  0:56   ` Andrew Morton
2004-08-02  1:36     ` Rik van Riel
2004-08-02  2:52     ` Con Kolivas
2004-08-02  3:33       ` Rik van Riel
2004-08-02  5:13         ` Con Kolivas
2004-08-02  5:18           ` Con Kolivas
2004-08-03  0:34             ` Song Jiang
2004-08-03  1:20               ` Rik van Riel [this message]
2004-08-04  4:51                 ` Song Jiang
2004-08-04 11:30                   ` Rik van Riel

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=Pine.LNX.4.44.0408022106560.5948-100000@dhcp83-102.boston.redhat.com \
    --to=riel@redhat.com \
    --cc=akpm@osdl.org \
    --cc=fchen@CS.WM.EDU \
    --cc=kernel@kolivas.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=sjiang@CS.WM.EDU \
    /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