linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Lee Schermerhorn <Lee.Schermerhorn@hp.com>
To: Jack Steiner <steiner@sgi.com>
Cc: Andi Kleen <ak@suse.de>, Christoph Lameter <clameter@sgi.com>,
	linux-mm <linux-mm@kvack.org>,
	ak@suse.com
Subject: Re: [PATCH 2.6.17-rc1-mm1 0/6] Migrate-on-fault - Overview
Date: Tue, 11 Apr 2006 16:40:45 -0400	[thread overview]
Message-ID: <1144788046.5160.138.camel@localhost.localdomain> (raw)
In-Reply-To: <20060411190330.GA21229@sgi.com>

On Tue, 2006-04-11 at 14:03 -0500, Jack Steiner wrote:
> On Tue, Apr 11, 2006 at 08:52:49PM +0200, Andi Kleen wrote:
> > On Tuesday 11 April 2006 20:46, Christoph Lameter wrote:
> > > However, if the page is not frequently references then the 
> > > effort required to migrate the page was not justified.
> > 
> > I have my doubts the whole thing is really worthwhile. It probably 
> > would at least need some statistics to only do this for frequent
> > accesses, but I don't know where to put this data.
> 
> Agree. And a way to disable the migration-on-fault.

I know.  I don't have such a control in the current series.  I've
thought of adding one, but I think this might be better as a per task
control.  And, to set those, I kind of like Paul Jackson's cpuset
methodology--like "memory_spread_page".  A "migrate_on_fault" cpuset
attribute would turn this on for tasks in the cpuset.  Default should
probably be off.

Might even want separate controls for migrating anon, file backed, shmem
pages on fault.  Depends on how the policy for file backed pages gets
sorted out.

> 
> > 
> > At least it would be a serious research project to figure out 
> > a good way to do automatic migration. From what I was told by
> > people who tried this (e.g. in Irix) it is really hard and
> > didn't turn out to be a win for them.
> 
> IRIX had hardware support for counting offnode vs. onnode references
> to a page & sending interrupts when migration appeared to be beneficial
> 
> We intended to use this info to migrate pages.  Unfortunately, we were 
> never able to demonstrate a performance benefit of migrating pages. 
> The overhead always exceeded the cost except in a very small number
> of carefully selected benchmarks.

This was the work that I heard about.  I don't think I'm trying to do
that.  The migrate-on-fault series just migrates a cached page that is
eligible [mapcount==0] and misplaced.  Seems like a good time to
evaluate the policy.  If enabled, of course.

I do think that one could find some interesting research in measuring
the cost of migrating pages vs the benefits of having them local.  One
might want to track per node RSS [as Eric Focht and Martin Bligh, maybe
others, have previously attempted] and prefer those with smaller memory
footprints to move offnode during load balancing.  One might chose to
move larger tasks less frequently based on the cost of migrating and/or
remote accesses.

We plan on doing a lot of this measurement and testing.  But, I needed
the basic infrastructure [migrate on fault, auto-migrate] in place to do
the testing.  I've already seen benefit in how the system settles back
into a "good" [if not optimum] state after transient perturbations with
the multithread streams benchmark results that I posted with V0.1 of the
auto-migration series.  No fancy page use statistics.  Unmapping pages
controlled by default policy when the task migrates to a new node caused
the tasks to pull pages they were using close to themselves.  For a
multi-threaded OMP job, this tended to do the right thing [to achieve
maximum throughput] without any explicit placement.  Just start'em up,
give 'em a good swift kick, and let them fall back into place.  

Real soon now, I'll take some time out from tracking the bleeding edge
and run some more benchmarks on our NUMA platforms, with and without
hardware interleaving, with and without these patches, ...    I'll, uh,
keep you posted ;-).

Lee

--
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:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2006-04-11 20:40 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-07 20:18 Lee Schermerhorn
2006-04-07 20:22 ` [PATCH 2.6.17-rc1-mm1 1/6] Migrate-on-fault - separate unmap from radix tree replace Lee Schermerhorn
2006-04-11 18:08   ` Christoph Lameter
2006-04-11 18:47     ` Lee Schermerhorn
2006-04-07 20:23 ` [PATCH 2.6.17-rc1-mm1 2/6] Migrate-on-fault - check for misplaced page Lee Schermerhorn
2006-04-11 18:21   ` Christoph Lameter
2006-04-11 19:28     ` Lee Schermerhorn
2006-04-11 19:33       ` Christoph Lameter
2006-04-12 16:43     ` Paul Jackson
2006-04-12 18:49       ` Lee Schermerhorn
2006-04-12 20:55         ` Paul Jackson
2006-04-07 20:23 ` [PATCH 2.6.17-rc1-mm1 3/6] Migrate-on-fault - migrate " Lee Schermerhorn
2006-04-11 18:32   ` Christoph Lameter
2006-04-11 19:51     ` Lee Schermerhorn
2006-04-07 20:24 ` [PATCH 2.6.17-rc1-mm1 4/6] Migrate-on-fault - handle misplaced anon pages Lee Schermerhorn
2006-04-07 20:26 ` [PATCH 2.6.17-rc1-mm1 5/6] Migrate-on-fault - add MPOL_MF_LAZY Lee Schermerhorn
2006-04-07 20:27 ` [PATCH 2.6.17-rc1-mm1 6/6] Migrate-on-fault - add MPOL_NOOP Lee Schermerhorn
2006-04-09  7:01 ` [PATCH 2.6.17-rc1-mm1 0/6] Migrate-on-fault - Overview Andi Kleen
2006-04-11 18:46 ` Christoph Lameter
2006-04-11 18:52   ` Andi Kleen
2006-04-11 19:03     ` Jack Steiner
2006-04-11 20:40       ` Lee Schermerhorn [this message]
2006-04-11 22:12         ` Jack Steiner
2006-04-11 20:40     ` Lee Schermerhorn
2006-04-11 20:40   ` Lee Schermerhorn

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=1144788046.5160.138.camel@localhost.localdomain \
    --to=lee.schermerhorn@hp.com \
    --cc=ak@suse.com \
    --cc=ak@suse.de \
    --cc=clameter@sgi.com \
    --cc=linux-mm@kvack.org \
    --cc=steiner@sgi.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