5 Basic concurrency control
Conflicts at home
This chapter covers
- Managing concurrent mutations with a lock-free optimistic concurrency control strategy
- Supporting high throughput of reads and writes
- Reconciliation between concurrent mutations
The changes required for system manage concurrency are only in the commit phase. They involve a reconciliation algorithm that is universal, in the sense that it can be used in any system where data is represented as an immutable hash map. The implementation of the reconciliation algorithm is efficient because subsequent versions of the system state are created via structural sharing.
In the previous chapter, we illustrated the multiversion approach to state management, where a mutation is split into two ...