After my recent question on code loading and the surprising revelation
that loading is done without locks, I've been going through the other
internal emulator docs and one in particular I found very very
Having recently been experimenting with lock free programming in C++ and
Rust, the above doc was an enlightening read with its "managed threads"
(especially its goal of minimising barriers and maximising cache hits).
I'd like to understand the doc's concepts better.
My question is: Where did this idea of "Thread Progress" come from? Are
there some foundational papers from the research community I can read to
get a better understanding or is this something the OTP team came up with
on their own? (i.e do I have to read the erts source to really understand