Skip to content

Bound allocations for constrained task_arena#1721

Open
aleksei-fedotov wants to merge 2 commits intomasterfrom
membind-constrained-thread
Open

Bound allocations for constrained task_arena#1721
aleksei-fedotov wants to merge 2 commits intomasterfrom
membind-constrained-thread

Conversation

@aleksei-fedotov
Copy link
Copy Markdown
Contributor

subj.

@omalyshe omalyshe added this to the 2022.4.0 milestone May 20, 2025
@Alexandr-Konovalov
Copy link
Copy Markdown
Contributor

According to my understanding of hwloc_set_membind() semantics, it affects on which node memory page is allocated during 1st touch to that page. So, if a thread is bound to a NUMA node already, default "allocate from local node on 1st touch" is already there. If we want to say "this thread must always get memory from a particular node, no matter where the thread is executed", this is the right tool. But for the beginning it's better to understand which kind of applications this feature can give a performance gain.

Another problem with allocation policies is that there is too far from malloc()/new() to them. Chances are high, that malloc() got a memory from shared arena, that has no connection to a local node. If we definitely believe that allocation from local node is good thing, we can think about special implementation of NUMA node-aware malloc replacement.

Migration to a node local to the current thread can be also useful, as Aleksei mentioned, but this requires pointers and length, so hardly can be done via arena settings.

@vossmjp vossmjp modified the milestones: 2023.0.0, 2023.1.0 Mar 10, 2026
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.

4 participants