Hacker News new | ask | show | jobs
by _wmd 2520 days ago
Transparently gluing boxes together over a low bandwidth fabric died as an active research area right around the time Plan9 was seeing its first development. By the late 80s shared bus SMP had demonstrated its practicality and quickly became the predominant architecture. Today we don't spawn processes on remote CPUs because the whole act of scheduling on multiple CPUs is entirely transparent to us, that's a competing architecture to the predecessor found in Plan 9

MOSIX is the only system from that era that I know is still around. It had a fork by the name of OpenMosix for some time, but according to Wikipedia ( https://en.wikipedia.org/wiki/MOSIX#openMosix ): "On July 15, 2007, Bar decided to end the openMosix project effective March 1, 2008, claiming that "the increasing power and availability of low cost multi-core processors is rapidly making single-system image (SSI) clustering less of a factor in computing"

(I admire the downvote, but please realize this is not a question of one's opinion!)

2 comments

Plan 9 is not a single system image OS. And we spawn processes on remote CPUs more than any point in history, often using tools like Kubernetes.
Although no downvote, there continued to be plenty of research and dollars in grid computing that did stuff like that on top of "distributed, shared memory" that did stuff like that. Then, all the research in HPC clusters that tried to create a "Single, System Image" running stuff across machines like it was one machine. The MOSIX quote doesn't change the fact that various researchers kept attempting this and making prototypes.
I think the keyword here is transparency -- later designs (even stuff like MPI) explicitly expose the topology of the available hardware. SMP is the closest thing we've ever got to true transparency, and then only for 80% of cases, and for those only because the compute nodes have very similar locality and e.g. memory bandwidth

Even SMP requires careful control if you want to get anything close to the actual performance of the underlying hardware, and the topology is once again very explicit

You better specify what "SMP" means. By definition, Symmetric Multi-Processing doesn't have locality concerns, but that's basically dead, and Shared Memory Programming does, indeed, typically require attention to topology and thread binding -- frequently ignored, of course. I don't know the MPI standard well, but I didn't think there was anything requiring topology to be exposed, and it won't be in the absence of something like netloc, which is still experimental.
"Distributed, shared memory" isn't what I saw of "grid computing". That mostly seemed to be driven by people who didn't understand distributed computing -- with some exceptions like Inferno -- particularly with Globus. People slapped "grid" on anything they could get away with, though. However, distributed shared memory (or the illusion of it) for compute systems does date from the 90s, at least in Global Arrays, and is going somewhat strong in various PGAS systems, including GA.

Kerrighed was an SSI system that actually was actually commercialized, apparently unsuccessfully. Current (I think) proprietary software systems in that sort of space are ScaleMP and Bproc (from Penguin Computing?). Dolphin had an SCI-based hardware solution for gluing together distributed systems, at least until recently. The Plan 9-ish Xcpu service was described as building on work with Bproc, but explicitly wasn't SSI.