CppCon 2021 has ended
Back To Schedule
Wednesday, October 27 • 2:00pm - 3:00pm
Building a Lock-free Multi-producer, Multi-consumer Queue for Tcmalloc

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
Lock free multi-producer, multi-consumer queues are an area of active research in concurrent data structures, but their performance varies heavily with the specific constraints of the surrounding system. This talk tells the story of building such a queue to replace a component in tcmalloc, Google's malloc implementation. In the process, we will cover

- designing the initial data structure based on LMAX's disruptor pattern
- refactoring the existing code to increase testability and experimentation without introducing overhead
- adding micro benchmarks for the new code
- revising micro benchmarks in the face of conflicting system level metrics
- optimizing the data structure based on those conclusions
- debugging difficult concurrency bugs
- measuring the final result with system level metrics

ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://cppcon.digital-medium.co.uk/

avatar for Matt Kulukundis

Matt Kulukundis

Staff Software Engineer, Google
Matt is a senior software engineer on the C++ libraries team at Google.  Prior to Google he has worked on compilers, machine learning, and underwater robotics.  In his free time, he scuba dives in warm places.

Wednesday October 27, 2021 2:00pm - 3:00pm MDT