Posts

Blocking and Non-Blocking Algorithms
/
0 Comments
Blocking, non-blocking, lock-free, and wait-free. Each of these terms describes a key characteristic…

My Conclusion: Summation of a Vector in three Variants
After I've calculated in three different ways the sum of a std::vector I want to draw my conclusions.
The…

Multithreaded: Summation with Minimal Synchronization
Until now, I've used two strategies to summate a std::vector. First, I did the whole math in one thread…

Ongoing Optimization: Relaxed Semantics with CppMem
With the relaxed semantics, we have no synchronizations and ordering constraints on atomic operations.
Relaxed…

Relaxed Semantics
The relaxed semantics is the end of the scale. The relaxed semantic is the weakest of all memory models…

Fences are Memory Barriers
The key idea of a std::atomic_thread_fence is to establish synchronization and ordering constraints between…

Synchronization and Ordering Constraints
In this post, our tour through the c++ memory model goes one step deeper. Until now, the posts were only…