7 ms·
In reality, this was an attempt to turn Plan 9 into a commercial product. Plan 9 despite it's crazy UI (the shell and editor have been ported to Linux so some
by panpanna 7y ago
In reality, this was an attempt to turn Plan 9 into a commercial product.
Plan 9 despite it's crazy UI (the shell and editor have been ported to Linux so some people must have liked it) brought a lot of new ideas which eventually found their way into other projects such as Linux containers and Go (for obvious reasons).
One really good idea that died with Plan 9 was transparent distribution of CPUs across the network. You could - the same way you mount a network drive today - mount a remote CPU and run your local software on it.
- lighthazard 7y agoThis is an interesting concept because I wasn't sure what 'distributed operating system' meant.
- jhbadger 7y agoAlthough I'm not sure how that "mounting" of cpus would avoid people hogging resources. I use a HPC system where users submit jobs and there's a whole complicated queuing system going on to make sure that greedy users don't monopolize the system.
- spease 7y agoYou could make the same argument about mounting disks. You revoke the permissions of the people who abuse those resources, and you don’t expose them to the outside world at large completely unprotected.
- gnufx 7y ago"Queuing" is distinct from the resource management component. If you don't have something like cpusets, processes on shared nodes can indeed hog CPU. There are worse issues with shared resources, like flattening the parallel filesystem, which is one of the things which is at least difficult to manage.
- rhabarba 7y agoExcept that Plan 9 has not died.
- henesy 7y agoLinux containers feel like a very weak imitation of what they could be under an environment like Plan9 imo. Linux lacks a lot of core abstraction properties that would make containers elegant to implement under something like the Plan9 model, at least. Cool project inspired partially by Linux containers: https://doc.9gridchan.org/guides/spawngrid https://doc.9gridchan.org/guides/spawngrid
- chungy 7y agoLinux containers feel like weak imitations of jails and zones found in FreeBSD and Solaris/illumos, for that matter.
- henesy 7y agoYeah zones especially, I agree.
- AsyncAwait 7y agoExcept the user interface for them on FreeBSD compared to i.e. docker is atrocious.
- ori_b 7y ago> Linux lacks a lot of core abstraction properties No, it's worse than that: It has too many of them, leading to a mess of special cases that you have to deal with. What happens when you have a socket in your file system, and you export it over NFS? Lacking abstraction properties is fixable -- you can add them. But removing them, especially if they're widely used, is incredibly hard.
- _wmd 7y agoTransparently 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 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!)
- nickpsecurity 7y agoAlthough 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.
- _wmd 7y agoI 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
- gnufx 7y agoYou 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.
- spc476 7y agoQNX can do that as well. You can, from the command line, run a program on computer A referencing a file from computer B and pipe the output to a program on computer C and send that output to a file on computer D.
- ptrott2017 7y agoI never knew that about QNX - Is it possible to also monitor the connected processes across all machines?
- spc476 7y agoI suspect you can, although I it's been years since I last used QNX.
- darkpuma 7y ago> "the shell and editor have been ported to Linux so some people must have liked it" A manifestation of Cat-V.org Derangement Syndrome I wager.
- soganess 7y agolegoos.io "fully" distributed resources; memory, cpu, storage, what have you... "LegoOS is a disseminated, distributed operating system designed for hardware resource disaggregation. It is an open-source project built by researchers from Purdue University. LegoOS splits traditional operating system functionalities into loosely-coupled monitors and run them directly on disggregated hardware devices."