This post doesn't go into his lock free work stealing queue implementation at all, he says that will be covered in a later post. I don't see how the ABA problem relates to any of the implementation details covered in this post?
Implementing a lock-free work stealing queue isn't difficult, especially with C/C++ atomics. I can't think of an implementation where ABA would be a problem.
Is there somewhere I can read about the Molecule Engine as a whole? I'm struggling to dig up information on what it is from this website. A game engine of some sort?
The home page describes it as "the foundation for all our tools, with parts of the engine being available to licensees as stand-alone game engine bits."
This post suggests that it is intended to compete with Unreal and CryEngine:
- Some systems will use a double-CAS where one word is a counter.
- People lucky enough to use RCU can use grace-periods.
- You can also mitigate it (to a degree) using the bottom bits of the pointer and the kernel area of the pointer as a counter.
- Also, Hazard Pointers.