Ivan, Great job. PR looks good.
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. Can you share benchmark results? I'm not sure I'll have an Optane on my notebook in a reasonable time ;) On Thu, Dec 2, 2021 at 10:41 AM Ivan Daschinsky <ivanda...@gmail.com> wrote: > Semyon D. and Maks T. -- thanks a lot for review. > > BTW, Igniters, I will appreciate all opinions and feedback. > > пн, 29 нояб. 2021 г. в 10:13, Ivan Daschinsky <ivanda...@apache.org>: > > > 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 > > > > > -- > Sincerely yours, Ivan Daschinskiy > -- Best regards, Andrey V. Mashenkov