* Interleaved allocation
@ 2014-12-08 19:14 Martin Ichilevici de Oliveira
2014-12-09 22:03 ` Andi Kleen
0 siblings, 1 reply; 3+ messages in thread
From: Martin Ichilevici de Oliveira @ 2014-12-08 19:14 UTC (permalink / raw)
To: linux-numa
[-- Attachment #1: Type: text/plain, Size: 861 bytes --]
Hello,
I'm trying to understand what's the exact behavior of the
interleaved allocation in libnuma. I have two questions, the first
regarding numa_alloc_interleaved() and the second regarding numactl.
Suppose I'm running in a 4-node machine.
1. What happens when I try to allocate 100 pages with a call like this:
numa_alloc_interleaved(100 * numa_pagesize())
I can think of two possible allocation schemes:
a. Pages 0-24 are allocated to node 0, pages 25-49 are allocated to
node 1, pages 50-74 are allocated on node 2 and pages 75-99 are
allocated on node 3.
b. Pages 0,4,8... are allocated on node 0, pages 1,5,9... are
allocated on node 1 and so on
2. What's the effect of using numactl --interleaved=0,1,2,3 -- ./myprog?
I would assume it "substitutes" any malloc's to
numa_alloc_interleaved(), but I'm not sure if it's just that.
Thank you,
Martin
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Interleaved allocation
2014-12-08 19:14 Interleaved allocation Martin Ichilevici de Oliveira
@ 2014-12-09 22:03 ` Andi Kleen
2014-12-12 1:49 ` Martin Ichilevici de Oliveira
0 siblings, 1 reply; 3+ messages in thread
From: Andi Kleen @ 2014-12-09 22:03 UTC (permalink / raw)
To: linux-numa
Martin Ichilevici de Oliveira <iomartin@iomartin.net> writes:
> 1. What happens when I try to allocate 100 pages with a call like this:
>
> numa_alloc_interleaved(100 * numa_pagesize())
>
> I can think of two possible allocation schemes:
> a. Pages 0-24 are allocated to node 0, pages 25-49 are allocated to
> node 1, pages 50-74 are allocated on node 2 and pages 75-99 are
> allocated on node 3.
>
> b. Pages 0,4,8... are allocated on node 0, pages 1,5,9... are
> allocated on node 1 and so on
It's approximately (b)
> 2. What's the effect of using numactl --interleaved=0,1,2,3 -- ./myprog?
> I would assume it "substitutes" any malloc's to
> numa_alloc_interleaved(), but I'm not sure if it's just that.
Any page allocated by the process is interleaved in access order
(which is different from what numa_alloc_interleaved does)
-Andi
--
ak@linux.intel.com -- Speaking for myself only
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Interleaved allocation
2014-12-09 22:03 ` Andi Kleen
@ 2014-12-12 1:49 ` Martin Ichilevici de Oliveira
0 siblings, 0 replies; 3+ messages in thread
From: Martin Ichilevici de Oliveira @ 2014-12-12 1:49 UTC (permalink / raw)
To: Andi Kleen; +Cc: linux-numa
[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]
On Tue, Dec 09, 2014 at 02:03:16PM -0800, Andi Kleen wrote:
> Martin Ichilevici de Oliveira <iomartin@iomartin.net> writes:
>
> > 1. What happens when I try to allocate 100 pages with a call like this:
> >
> > numa_alloc_interleaved(100 * numa_pagesize())
> >
> > I can think of two possible allocation schemes:
> > a. Pages 0-24 are allocated to node 0, pages 25-49 are allocated to
> > node 1, pages 50-74 are allocated on node 2 and pages 75-99 are
> > allocated on node 3.
> >
> > b. Pages 0,4,8... are allocated on node 0, pages 1,5,9... are
> > allocated on node 1 and so on
>
> It's approximately (b)
>
> > 2. What's the effect of using numactl --interleaved=0,1,2,3 -- ./myprog?
> > I would assume it "substitutes" any malloc's to
> > numa_alloc_interleaved(), but I'm not sure if it's just that.
>
> Any page allocated by the process is interleaved in access order
> (which is different from what numa_alloc_interleaved does)
Andi,
Thank you for clarifying these up.
Martin
[-- Attachment #2: Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-12-12 1:49 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-12-08 19:14 Interleaved allocation Martin Ichilevici de Oliveira
2014-12-09 22:03 ` Andi Kleen
2014-12-12 1:49 ` Martin Ichilevici de Oliveira
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.