Using the Vector API on (externally allocated) foreign memory

Antoine Chambille ach at activeviam.com
Fri Mar 6 17:59:43 UTC 2020


Hi all,

My company ActiveViam develops an in-memory database that delivers
interactive queries to many users on terabyte datasets. The database
structures are allocated off-heap, using a SLAB allocator that is highly
concurrent and also NUMA-Aware. This custom memory manager is written
almost entirely in Java with just a few JNA system calls (anonymous mmap,
munmap, madvise).

What gets us very excited about project Panama is the potential to
accelerate aggregations with SIMD instructions. But we have recently
checked out the vector branch of the panama JDK, and it does not seem to be
doable yet. First it is not yet possible to load vectors from foreign
memory, only from arrays or from byte buffers. Second, memory segments can
be allocated from Java but cannot be used as an interface to expose memory
that is already allocated.


Is support for vector operations on (externally allocated) foreign memory
being considered? Have we missed something?


Thank you,
-Antoine


More information about the panama-dev mailing list