From: Jesse Barnes <jbarnes@engr.sgi.com>
To: brettspamacct@fastclick.com
Cc: 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: Thu, 20 May 2004 21:29:59 -0400 [thread overview]
Message-ID: <200405202129.59704.jbarnes@engr.sgi.com> (raw)
In-Reply-To: <40AD52A4.3060607@fastclick.com>
On Thursday, May 20, 2004 8:51 pm, Brett E. wrote:
> Say you have a bunch of single-threaded processes on a NUMA machine.
> Does the kernel make sure to prefer allocations using a certain CPU's
> memory, preferring to run a given process on the CPU which contains its
> memory?
Well, it'll allocate memory from the node containing the CPU that the process
is running on, so if you've pinned your process (e.g. with schedutils) you'll
be ok unless you're short on memory. If it's not pinned, you'll run the risk
of having your process refer to memory on a remote node. Depending on what
type of system you're running on, this could be a very small performance
issue or a large one.
> Or should I use the NUMA API(libnuma) to spell this out to the
> kernel? Does the kernel do the right thing in this case?
The kernel, by default, will allocate memory on the node where the process is
running, and fall back to other nodes based on distance. That said, it's not
a bad idea to pin your process to a CPU and use libnuma to explicitly set
it's memory affinity.
Jesse
next prev parent reply other threads:[~2004-05-21 1:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-21 0:51 How can I optimize a process on a NUMA architecture(x86-64 specifically)? Brett E.
2004-05-21 1:29 ` Jesse Barnes [this message]
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
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=200405202129.59704.jbarnes@engr.sgi.com \
--to=jbarnes@engr.sgi.com \
--cc=brettspamacct@fastclick.com \
--cc=linux-kernel@vger.kernel.org \
/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