TY - GEN
T1 - Nova
T2 - 27th International Conference on Principles of Distributed Systems, OPODIS 2023
AU - Fakhoury, Ramy
AU - Braginsky, Anastasia
AU - Keidar, Idit
AU - Zuriel, Yoav
N1 - Publisher Copyright:
© Ramy Fakhoury, Anastasia Braginsky, Idit Keidar, and Yoav Zuriel;
PY - 2024/1
Y1 - 2024/1
N2 - In recent years, we begin to see Java-based systems embrace off-heap allocation for their big data demands. As of today, these system rely on simple ad-hoc garbage-collection solutions, which restrict the usage of off-heap data. This paper introduces the abstraction of safe off-heap memory allocation and reclamation (SOMAR), a thread-safe memory allocation and reclamation scheme for off-heap data in otherwise managed environments. SOMAR allows multi-threaded Java programs to use off-heap memory seamlessly. To realize this abstraction, we present Nova, Novel Off-heap Versioned Allocator, a lock-free SOMAR implementation. Our experiments show that Nova can be used to store off-heap data in Java data structures with better performance than ones managed by Java’s automatic GC. We further integrate Nova into the open-source Oak concurrent map library, which allows Oak to reclaim keys while the data structure is being accessed.
AB - In recent years, we begin to see Java-based systems embrace off-heap allocation for their big data demands. As of today, these system rely on simple ad-hoc garbage-collection solutions, which restrict the usage of off-heap data. This paper introduces the abstraction of safe off-heap memory allocation and reclamation (SOMAR), a thread-safe memory allocation and reclamation scheme for off-heap data in otherwise managed environments. SOMAR allows multi-threaded Java programs to use off-heap memory seamlessly. To realize this abstraction, we present Nova, Novel Off-heap Versioned Allocator, a lock-free SOMAR implementation. Our experiments show that Nova can be used to store off-heap data in Java data structures with better performance than ones managed by Java’s automatic GC. We further integrate Nova into the open-source Oak concurrent map library, which allows Oak to reclaim keys while the data structure is being accessed.
KW - concurrency
KW - memory reclamation
KW - off-heap allocation
KW - performance
UR - http://www.scopus.com/inward/record.url?scp=85184152779&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.OPODIS.2023.15
DO - 10.4230/LIPIcs.OPODIS.2023.15
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:85184152779
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 27th International Conference on Principles of Distributed Systems, OPODIS 2023
A2 - Bessani, Alysson
A2 - Defago, Xavier
A2 - Nakamura, Junya
A2 - Wada, Koichi
A2 - Yamauchi, Yukiko
Y2 - 6 December 2023 through 8 December 2023
ER -