French scientific article accepted to SOSP 2021, the first in 30 years

Something worth celebrating: a French scientific article has been accepted to SOSP 2021! The article is titled “J-NVM: Off-heap Persistent Objects in Java” and is by Anatole Lefort et. al., from the SAMOVAR team, directed by Professor Gaël Thomas at Telecom SudParis (TSP). This is the third French paper to be accepted to the conference in 50 years.

The first in 30 years: a French paper at SOSP

SOSP is the flagship conference of the international systems community. SOSP is where all major, noteworthy systems innovations have been presented, the foundation of all modern architectures. If you make a quick count from the previous editions, you’ll find 24 papers written by winners of the Turing Award.

The conference only takes place every two years. It represents the most prestigious publication channel for the systems sector, and is run without parallel sessions. Publishing at SOSP requires creativity, real-life implementation and experimentation, and rigorous writing. With their incredibly selective standards, there are many researchers who self-censure by not even submitting their work.

The success of the team of researchers led by Gaël Thomas is even more remarkable given that the conference is almost completely monopolised by major American universities (with the more recent arrival of Asian universities). European papers are very rare, generally coming from EPFL, ETHZ, Cambridge or Microsoft Research. To our knowledge, excluding the occasional French co-author, there have only been two other French papers accepted since the creation of SOSP in 1967: Bétourné et al. in 1969 and Abrossimov et al. in 1989.

“The entire French IT community should congratulate the authors for this fantastic achievement,” states Alain Tchana, university professor at ENS Lyon.

Summary of “J-NVM: Off-heap Persistent Objects in Java”

Java is a language commonly used by important Internet actors to set up large-scale databases and major data analytics systems (Cassandra, Infinispan, Spark, Hadoop, Kafka, Flink, Hbase, etc.). As one of the major bottle necks for these systems is speed of access to the storage medium, it is essential for them to be able to efficiently use persistent memory, a storage medium that’s almost as fast as volatile memory and 1000 times faster than SATA SSDs.

Unfortunately, using persistent memory efficiently on Java is difficult. Like many high-level languages, Java performs automatic memory management, deallocating it using the garbage collector, and current algorithms are completely unable to scale these memories from 128GB up to 1TB of space.

In their work, Lefort et. al. revisit the way in which Java objects are designed in the era of persistent memory. They propose a decoupling method, which involves separating the data structure of a persistent object from the volatile object that represents it in Java language. Using this decoupling method, they can access persistent memory almost at native speed, while avoiding increasing the pressure on the garbage collector, as the data structures are stored outside Java memory.

Based on this decoupling method, Lefort et. al. present J-NVM, a comprehensive system made up of a runtime system offering simple abstractions for the programmer, libraries offering classic persistent data systems, and a code generator making it possible to automatically separate the data structures of objects represented.

The assessment of their system using the Infinispan database, the TPC-B stress test and micro-assessments shows that J-NVM increases performance by at least 10 in most cases, compared to the other best state of the art solutions, and makes it possible to access persistent memory with speeds close to volatile memory (only 50% slower).

 

Article initially published by Association SIGOPS France (ASF) http://www.sigops-france.fr/2021/10/ArticleSosp and reproduced here with their kind permission.