LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Jesse Barnes <jbarnes@engr.sgi.com>
To: brettspamacct@fastclick.com
Cc: "Martin J. Bligh" <mbligh@aracnet.com>,
	linux-kernel mailing list <linux-kernel@vger.kernel.org>
Subject: Re: How can I optimize a process on a NUMA architecture(x86-64 specifically)?
Date: Fri, 21 May 2004 14:58:14 -0400	[thread overview]
Message-ID: <200405211458.14304.jbarnes@engr.sgi.com> (raw)
In-Reply-To: <40AE46F9.60600@fastclick.com>

On Friday, May 21, 2004 2:14 pm, Brett E. wrote:
> So could process 0 run on processor 0, allocating local to processor 0,
> then run on processor 1, allocating local to processor 1, this way
> allocating to both processors?

Yep.

> So over time process 0's allocations 
> would be split up between both processors, defeating NUMA.

Well, I wouldn't put it that way, but it would give your app suboptimal 
performance.

> The homenode 
> concept + explicit CPU pinning seems useful in that they allow you to
> take advantage of NUMA better.

When you say homenode here, do you mean restricted memory allocation?  If so, 
then yes, that would be useful.  And we have it already with libnuma and 
sched_setaffinity.  If you mean some sort of preferred allocation node, then 
no, we don't have that, and it wouldn't be of much benefit I think (relative 
to what we already have).  The idea is to do "pretty good" by default, but 
still allow the user full control if they want to be sure.

> Without these two things the kernel will 
> just allocate on the currently running CPU whatever that may be when in
> fact a preference must be given to a CPU at some point, hopefully early
> on in the life of the process, in order to take advantage of NUMA.

The kernel does a pretty good job of keeping processes on the CPU they've been 
running on, and thus they'll probably stay close to their memory.  But 
without explicit pinning, there's no guarantee.

Jesse

  parent reply	other threads:[~2004-05-21 18:59 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-21  0:51 Brett E.
2004-05-21  1:29 ` Jesse Barnes
2004-05-21  6:37 ` Martin J. Bligh
2004-05-21 17:27   ` Brett E.
2004-05-21 17:46     ` Martin J. Bligh
2004-05-21 18:14       ` Brett E.
2004-05-21 18:30         ` Martin J. Bligh
2004-05-21 18:58         ` Jesse Barnes [this message]
2004-05-21 19:08           ` Martin J. Bligh
2004-05-23  2:49     ` David Schwartz
     [not found] <1Y6yr-eM-11@gated-at.bofh.it>
     [not found] ` <1YbRm-4iF-11@gated-at.bofh.it>
     [not found]   ` <1Yma3-4cF-3@gated-at.bofh.it>
     [not found]     ` <1YmjP-4jX-37@gated-at.bofh.it>
2004-05-21 19:17       ` Andi Kleen
     [not found]       ` <1YmMN-4Kh-17@gated-at.bofh.it>
     [not found]         ` <1Yn67-50q-7@gated-at.bofh.it>
2004-05-21 19:19           ` Andi Kleen
2004-05-21 20:32             ` Martin J. Bligh
2004-05-21 23:42               ` Brett E.
2004-05-22  6:13                 ` Martin J. Bligh
2004-05-22  7:41                   ` Andi Kleen
2004-05-23  0:28                 ` Bryan O'Sullivan
2004-05-23 14:28                   ` Andi Kleen
2004-05-24 22:00                     ` Andrew Theurer
2004-05-25  0:27                       ` Scott Robert Ladd
2004-05-25  1:09                       ` Brett E.
     [not found]     ` <1YRnC-3vk-5@gated-at.bofh.it>
2004-05-23 11:57       ` Andi Kleen

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=200405211458.14304.jbarnes@engr.sgi.com \
    --to=jbarnes@engr.sgi.com \
    --cc=brettspamacct@fastclick.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mbligh@aracnet.com \
    --subject='Re: How can I optimize a process on a NUMA architecture(x86-64 specifically)?' \
    /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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).