Lock-Free Work Stealing, Part 1: Basics
blog.molecular-matters.com
Lock-Free Work Stealing, Part 1: Basics
1–6 of 6 posts
Re: Lock-Free Work Stealing, Part 1: Basics
#2- 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.
Re: Lock-Free Work Stealing, Part 1: Basics
#3Re: Lock-Free Work Stealing, Part 1: Basics
#4I don't see any mention of where the author mitigates, or prevents the 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.
Re: Lock-Free Work Stealing, Part 1: Basics
#5Is 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?
This post suggests that it is intended to compete with Unreal and CryEngine:
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.
Re: Lock-Free Work Stealing, Part 1: Basics
#6I don't see any mention of where the author mitigates, or prevents the 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.
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?