Andrey, thanks! This allocator can be tested on every NUMA system. Our runs show about 7-10 speedup, if we use allocattor with interleaved strategy + -XX:+UseNUMA. But unfortunately our yardstick benches doesn't use offheap a lot, usually above one Gb. We trying to do more benches with real data and share them, possibly in meetup.
AFAIK, GG lab servers are two-sockets machines, aren't they? So it is worth to run benches with a lot data on them, using allocator with interleaved strategy (you can skip specifying numa nodes, by default it will use all available) and use -XX:+UseNUMA jvm flag. чт, 2 дек. 2021 г. в 11:48, Andrey Mashenkov <andrey.mashen...@gmail.com>: > 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 > -- Sincerely yours, Ivan Daschinskiy