Pedro Ramalhete

Design tradeoffs in Memory Reclamation

Most multi-threaded applications need some form of Safe Memory Reclamation (SMR) algorithm, whether to protect access to a concurrent data structure, or records in a database, or optimistic transactions in a Software Transactional Memory. We'll take a peek at questions like: When do we need an SMR? Which SMR is faster? Which SMR uses less memory? Which SMR is the best?

From Hazard Pointers to Hazard Eras, touching on Epoch-Based Reclamation, optimistic reclamation, and several others, in this presentation we will try to understand which SMR fits better depending on your application goals. Along the way, we will examine the trade-offs with different STM algorithms and understand which regions of the design remain unexplored.

back to overview

Watch Recording
Speaker Image
 

Biography

Pedro Ramalhete has been working in concurrent algorithms for more than 10 years, inventing and implementing concurrency controls, synchronization mechanisms, memory reclamation schemes, lock-free and wait-free data structures. His current work is focused in Software Transactional Memory, Persistent Memory and how to use them to let software developers implement correct and scalable failure-resilient applications.