diff --git a/NOTES.md b/NOTES.md index 076b2ca..723e0be 100644 --- a/NOTES.md +++ b/NOTES.md @@ -4,6 +4,19 @@ A collection of stuff that we noticed during development. Useful later on two write a project report and to go back in time to find out why certain decisions where made. +## 06.05.2019 - Atomics + +Atomics are a big part to get lock-free code running and are also +often useful for details like counters to spin on (e.g. is a task +finished). Resources to understand them are found in +[a talk online](https://herbsutter.com/2013/02/11/atomic-weapons-the-c-memory-model-and-modern-hardware/) +and in the book 'C++ concurrency in action, Anthony Williams'. + +The key takeaway is that we need to be careful about ordering +possibilities of variable reads/writes. We will start of to +use strict ordering to begin with and will have to see if this +impacts performance and if we need to optimize it. + ## 12.04.2019 - Unique IDs Assigning unique IDs to logical different tasks is key to the