search menu icon-carat-right cmu-wordmark

High-Performance Multi-Threaded Immutable Store for C++

May 2017 Presentation
Adi Levin (Align Technology)

We present a battle-proven architecture for lock-free concurrency control. Our method supports high-performance data-driven and event-driven applications.

Publisher:

Software Engineering Institute

This presentation was created for a conference series or symposium and does not necessarily reflect the positions and views of the Software Engineering Institute.

Abstract

We present a battle-proven architecture for collaboration between loosely coupled actors that share their state using an immutable store and a publish-subscribe pattern. Our data model is suitable for high-performance and complicated algorithmic flows, where multiple threads require access to shared in-memory objects. Our method of managing shared state supports high-performance data-driven and event-driven applications, with generic handling of persistence, record/replay, and application logging. We have implemented it in C++ and used it successfully as the application framework for the iTero intra-oral scanner.