Hi, igniters! There is not a big secret that nowadays NUMA is quite common in multiprocessor systems. And this memory architecture should be treated in specific ways.
Support for NUMA is present in many commercial and open-source products. I've implemented a NUMA aware allocator for Apache Ignite [1] It is a JNI wrapper around `libnuma` and supports different allocation options. I.e. interleaved, local, interleved_mask and so on. For more information, see [2], [3]. This allocator in interleaved mode and passing `-XX:+UseNUMA` flag to jvm show promising results on yardstick benches. Technically, G1 is not a numa aware collector for java versions less than 14, but allocation of heap in interleaved mode shows good results even on java 11. Currently, all needed libraries and tools for building this module are available on TC agents setup of specific test suite is in progress [4] So I am asking for a review of my patch. [1] -- https://issues.apache.org/jira/browse/IGNITE-15922 [2] -- https://man7.org/linux/man-pages/man3/numa.3.html [3] -- https://man7.org/linux/man-pages/man2/mbind.2.html [4] -- https://issues.apache.org/jira/browse/IGNITE-15994