-
Notifications
You must be signed in to change notification settings - Fork 1.9k
IGNITE-15922 Implement NUMA-aware allocator #9569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
4c96c1a to
f4d4cd6
Compare
modules/core/src/main/java/org/apache/ignite/mem/MemoryAllocator.java
Outdated
Show resolved
Hide resolved
modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java
Show resolved
Hide resolved
modules/core/src/main/java/org/apache/ignite/internal/mem/unsafe/UnsafeMemoryProvider.java
Outdated
Show resolved
Hide resolved
modules/numa-allocator/src/test/java/org/apache/ignite/internal/mem/NumaAllocatorUnitTest.java
Show resolved
Hide resolved
modules/numa-allocator/src/test/java/org/apache/ignite/internal/mem/NumaAllocatorBasicTest.java
Outdated
Show resolved
Hide resolved
modules/numa-allocator/src/main/java/org/apache/ignite/mem/LocalNumaAllocationStrategy.java
Show resolved
Hide resolved
modules/numa-allocator/src/main/java/org/apache/ignite/internal/mem/NumaAllocUtil.java
Show resolved
Hide resolved
modules/core/src/main/java/org/apache/ignite/mem/MemoryAllocator.java
Outdated
Show resolved
Hide resolved
85938f5 to
cdbb118
Compare
cdbb118 to
66b2651
Compare
SammyVimes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! But I think some parts should be a little bit more documented
modules/numa-allocator/src/main/java/org/apache/ignite/internal/mem/NumaAllocUtil.java
Show resolved
Hide resolved
|
|
||
| ~BitSet(); | ||
|
|
||
| class Reference { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't quite get where this class is used. I see that it captures the position in a bitset and an object of the Reference is returned by the [] op. Is it used in the internals of the libnuma?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now it is not used. This is quite common technique (see i.e. bitset implementation in libstdc++) to implement non-const operator[]. With it you can do somethin like this
BitSet a, b;
a[0] = true;
for (size_t i = 0; i < a.Size() && i < b.Size(); ++i) {
a[i] = !b[i];
}But this functionality is not used so far, it is for probably future uses
7120fb7 to
39f9d46
Compare
ac42a59 to
f2d7e95
Compare
rpuch
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great contribution! Just a couple of comments from my side (not mandatory, obviously).
modules/numa-allocator/src/main/java/org/apache/ignite/mem/NumaAllocator.java
Outdated
Show resolved
Hide resolved
modules/numa-allocator/src/main/java/org/apache/ignite/mem/SimpleNumaAllocationStrategy.java
Outdated
Show resolved
Hide resolved
7118632 to
7aebb92
Compare
modules/numa-allocator/src/main/cpp/src/org_apache_ignite_internal_mem_NumaAllocUtil.cpp
Show resolved
Hide resolved
modules/numa-allocator/src/main/java/org/apache/ignite/internal/mem/NumaAllocUtil.java
Show resolved
Hide resolved
modules/numa-allocator/src/main/java/org/apache/ignite/internal/mem/NumaAllocUtil.java
Show resolved
Hide resolved
...es/numa-allocator/src/main/java/org/apache/ignite/mem/InterleavedNumaAllocationStrategy.java
Show resolved
Hide resolved
...es/numa-allocator/src/main/java/org/apache/ignite/mem/InterleavedNumaAllocationStrategy.java
Show resolved
Hide resolved
modules/numa-allocator/src/test/java/org/apache/ignite/internal/mem/NumaAllocatorBasicTest.java
Show resolved
Hide resolved
…nfiguration in DataStorageConfiguration
44554f1 to
790865a
Compare
Signed-off-by: Ivan Daschinsky <ivandasch@apache.org> (cherry picked from commit 3c27c15)
Signed-off-by: Ivan Daschinsky <ivandasch@apache.org> (cherry picked from commit 3c27c15)
Signed-off-by: Ivan Daschinsky <ivandasch@apache.org> (cherry picked from commit 3c27c15)
Squashed commit of the following: commit 0d517b9 Author: Ivan Daschinsky <ivandasch@apache.org> Date: Mon Dec 13 16:09:50 2021 +0300 IGNITE-15922 Implement NUMA-aware allocator - Fixes apache#9569. Signed-off-by: Ivan Daschinsky <ivandasch@apache.org> (cherry picked from commit 3c27c15)
Squashed commit of the following: commit 0d517b9 Author: Ivan Daschinsky <ivandasch@apache.org> Date: Mon Dec 13 16:09:50 2021 +0300 IGNITE-15922 Implement NUMA-aware allocator - Fixes apache#9569. Signed-off-by: Ivan Daschinsky <ivandasch@apache.org> (cherry picked from commit 3c27c15)
Squashed commit of the following: commit 0d517b9 Author: Ivan Daschinsky <ivandasch@apache.org> Date: Mon Dec 13 16:09:50 2021 +0300 IGNITE-15922 Implement NUMA-aware allocator - Fixes apache#9569. Signed-off-by: Ivan Daschinsky <ivandasch@apache.org> (cherry picked from commit 3c27c15)
Signed-off-by: Ivan Daschinsky <ivandasch@apache.org>
Thank you for submitting the pull request to the Apache Ignite.
In order to streamline the review of the contribution
we ask you to ensure the following steps have been taken:
The Contribution Checklist
The description explains WHAT and WHY was made instead of HOW.
The following pattern must be used:
IGNITE-XXXX Change summarywhereXXXX- number of JIRA issue.(see the Maintainers list)
the
green visaattached to the JIRA ticket (see TC.Bot: Check PR)Notes
If you need any help, please email dev@ignite.apache.org or ask anу advice on http://asf.slack.com #ignite channel.