Strange thread scheduling

OpenVMS x86 Field Test questions, reports, and feedback.

jonesd
Valued Contributor
Posts: 74
Joined: Mon Aug 09, 2021 7:59 pm
Reputation: 0
Status: Offline

Re: Strange thread scheduling

Post by jonesd » Mon May 01, 2023 9:30 am

arne_v wrote:
Mon May 01, 2023 7:50 am
Ah. Now I remember. Threads in 5.5 1991 and kernel threads in 7.0 1995 (and not on VAX).

Do you remember what was the cause of the "brittleness":
A) bugs in first implementation
B) developers unfamiliar with the concept of threads at the time
C) the fact that Alpha has a very weak memory model so stuff that may work elsewhere may not work on Alpha
D) all of the above
?
D, obviously, but weighted heavily towards B. With the draft 4 scheduler, it was easy to have applications where
threads only ever suspended at synchronization points (waits), never switching to another thread due to time
slice expiration. This can obscure race conditions that bite you when you have actual concurrent execution.
The memory model on Alpha didn't help, but proper use of mutexes should keep things consistent.

Post Reply