4 ms·
Lock-Free Work Stealing, Part 1: Basics
- audidude 11y agoI 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 11y agoThis 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 11y agoImplementing 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 11y agoIs 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 11y agoThe 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-to-the-molecule-engine/ http://blog.molecular-matters.com/2015/08/12/what-happened-t... One of the posts about runtime-compiled C++ states that iOS is not a target platform.