

Lock-Free Work Stealing, Part 1: Basics - tivolo
http://blog.molecular-matters.com/2015/08/24/job-system-2-0-lock-free-work-stealing-part-1-basics/

======
audidude
I don't see any mention of where the author mitigates, or prevents the ABA
problem.
[https://en.wikipedia.org/wiki/ABA_problem](https://en.wikipedia.org/wiki/ABA_problem)

\- 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.

~~~
mattnewport
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?

~~~
uxcn
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.

------
mintplant
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?

~~~
SloopJon
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:

[http://blog.molecular-matters.com/2015/08/12/what-
happened-t...](http://blog.molecular-matters.com/2015/08/12/what-happened-to-
the-molecule-engine/)

One of the posts about runtime-compiled C++ states that iOS is not a target
platform.

