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
next prev 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 \
/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
all inboxes | Powered by JetHome®