Skip to content

Add sub-RFC for interleaving memory allocation#2032

Open
Alexandr-Konovalov wants to merge 5 commits intomasterfrom
dev/Alexandr-Konovalov/rfc-interleaving
Open

Add sub-RFC for interleaving memory allocation#2032
Alexandr-Konovalov wants to merge 5 commits intomasterfrom
dev/Alexandr-Konovalov/rfc-interleaving

Conversation

@Alexandr-Konovalov
Copy link
Copy Markdown
Contributor

No description provided.

@Alexandr-Konovalov Alexandr-Konovalov marked this pull request as ready for review March 31, 2026 16:08
@Alexandr-Konovalov Alexandr-Konovalov changed the title Add sub-RFC for interleaving memory allocation. Add sub-RFC for interleaving memory allocation Apr 1, 2026

There are two kinds of NUMA-related performance bottlenecks: latency increasing due to
access to a remote node and bandwidth-limited simultaneous access from different CPUs to
a single NUMA memory node. A well-known method to mitigate both is random distribution of
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
a single NUMA memory node. A well-known method to mitigate both is random distribution of
a single NUMA memory node. A well-known method to mitigate both is controlled placement of

The examples you provide in the next sentence are not "random". So perhaps you mean that you need to do something active to ensure memory placement in done in some thoughtful way. Not sure.

One use case for `list of nodes` argument is desire to run parallel activity on subset of
nodes and so get memory only from those nodes.

Most common usage of the allocation function is expected only with `size` parameter.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What happens in that case? Is the nodes automatically determined and is by default the full set of numa nodes. Or is the default to use a single node. Similarly with interleaving_step = 0, is the default to automatically select a size, or does this mean allocate on a single numa node?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants