Published April 3, 2022 | Version v.1.0.7
Software Open

PPoPP 22 - The Performance Power of Software Combining in Persistence

  • 1. Université de Paris, FORTH ICS, University of Crete
  • 2. FORTH ICS
  • 3. University of Crete, Greece

Description

The availability of Non-Volatile Memory DRAM (known as NVMM) enables the design of recoverable concurrent algorithms. In our PPoPP 2022 paper entitled "The Performance Power of Software Combining in Persistence", we study the power of software combining in achieving recoverable synchronization and designing persistent data structures. We identify three persistence principles, crucial for performance, that an algorithm's designer has to take into consideration when designing highly-efficient recoverable synchronization protocols or data structures. We illustrate how to make the appropriate design decisions in all stages of devising recoverable combining protocols to respect these principles.

The paper presents two recoverable software combining protocols, satisfying different progress properties, that are many times faster and have much lower persistence cost than a large collection of existing persistent techniques for achieving scalable synchronization. We build fundamental recoverable data structures, such as stacks and queues, based on these protocols that outperform by far existing recoverable implementations of such data structures. It also provides the first recoverable implementation of a concurrent heap and present experiments to show that it has good performance when the size of the heap is not very large.

Here we provide the code of these algorithms, together with the necessary documentation for reproducing the experimental results presented in the paper, regarding our algorithms.

An up-to-date version of the code provided here, together with additional recoverable implementations, can be found in our working GitHub repository [2].

Funding: Panagiota Fatourou: Supported by the EU Horizon 2020, Marie Sklodowska-Curie project with GA No 101031688. Eleftherios Kosmas: Co-financed by Greece and the European Union (European Social Fund- ESF) through the Operational Programme «Human Resources Development, Education and Lifelong Learning» in the context of the project “Reinforcement of Postdoctoral Researchers - 2nd Cycle” (MIS-5033021), implemented by the State Scholarships Foundation (IKY).

[1] - Panagiota Fatourou, Nikolaos D. Kallimanis, and Eleftherios Kosmas. "The Performance Power of Software Combining in Persistence". ACM SIGPLAN Notices. Principles and Practice of Parallel Programming (PPoPP) 2022.

[2] - https://github.com/ConcurrentDistributedLab/PersistentCombining

Notes

An up-to-date version of the code provided here, together with additional recoverable implementations, can be found in our working GitHub repository: https://github.com/ConcurrentDistributedLab/PersistentCombining.

Files

ConcurrentDistributedLab/PersistentCombining-v.1.0.7.zip

Files (102.1 kB)

Additional details

Funding

European Commission
PLATON - Platform-aware LArge-scale Time-Series prOcessiNg 101031688