4 ms·
I don't think weak memory models are inherently bad. It's a trade-off. Keep in mind it was conceived during the early days of SMP - there wasn't the industry pr
by spamizbad 3y ago
I don't think weak memory models are inherently bad. It's a trade-off. Keep in mind it was conceived during the early days of SMP - there wasn't the industry preference for stronger models, which was largely a side-effect of x86 chips choosing that approach with SMP years later.
- hinkley 3y agoAnd everyone wanting to be able to claim top shelf Java support. Say what you will about Java, but a lot of OSes and hardware had to get a lot better at multithreading pretty quickly or be relegated. Even Solaris struggled for a time.
- chasil 3y ago> "early days of SMP" This is vastly incorrect. UNIX was ported to the Univac architecture in the late '70s. It ran as a client on EXEC 8, and was the first SMP implementation. "The UNIVAC 1108 computer was announced in 1964 and delivered in late 1965. The first 1108 computers used Exec I and Exec II, which had been developed for the UNIVAC 1107. However, UNIVAC planned to offer symmetric multiprocessor versions of the 1108 with up to 4 processors and the earlier operating systems (really basic monitor programs) weren't designed for that, even though they supported limited multiprogramming." https://en.wikipedia.org/wiki/OS_2200 https://en.wikipedia.org/wiki/OS_2200
- spamizbad 3y agoThe 1108 had simplistic memory protection and didn't have cache so there was no concerns around cache coherency. The 1100/80 which came 15 years later finally introduced a cache that was really just a buffer and, to my knowledge, had no coherency scheme largely because of the way the architecture of those systems worked. The Alpha team was working on a much more sophisticated system and had to solve a much coherency problem. Weaker models allow greater throughput and save transistors (and reduce power/heat) at the expense of more carefully written software and operating systems.