Live data from Hacker News

Inferno Operating System

en.wikipedia.org

71–80 of 102 posts

Re: Inferno Operating System

#71
post #44

Earlier quoted context omitted.

Yeah zones especially, I agree.

Why not Jails? It was pretty much the first to provide this in Unix land. I guess the advantage of Docker / containers was / is the nice TUI for developers as well as Hub. We never had a ‘jailshub’ in FreeBSD.

Somehow I think Tru64 and HP-UX vaults had it first.

Re: Inferno Operating System

#72
post #4

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.…

> "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.

Re: Inferno Operating System

#73
post #38

This OS doesn't require an MMU or protected memory. I wonder if a processor architecture that lacks those features could yield much higher performance due to less complexity, reduced memory latency or less cache miss penalty. Will it be enough to mitigate the perormance penalty of runing code in the Dis VM?

You'd have to compensate for the lack of memory protection by running all unprivileged code in a VM, which would very likely introduce its own class of complexities and performance penalties.

People always defend Java as if these penalties don’t exist somehow.

Re: Inferno Operating System

#74

Earlier quoted context omitted.

CRIU should allow you to migrate a running process from one system to another, particularly in combination with a container (Docker or LXC/D).

Doesn't this work on about nothing in practice? Like nothing that has an open file, no gui apps etc.

Here is a writeup of using CRIU on openvpn: https://www.redhat.com/en/blog/using-criu-upgrade-vpn-server...

So it seems to work. But I'm no expert and I've never done it, so I might well be missing something.

Re: Inferno Operating System

#75

Back when I was in university we had a small course on Limbo/Inferno because of a connection my university (RIT) had to bell labs. I took the course in... 1998? and wrote a version of Tetris for limbo. The code was awful, but did find a bug in the Tk implementation. This lead me to my proudest/most embarrassing programming moment - apparently, my code ended up in front of Dennis Ritchie, who thought the code was terr…

I went to RIT in 2003-2010 for CS and took Axel Schreiner's first Golang course (which AIUI was the second GoLang course offered anywhere, at a Uni level)

Among other classes I took with Axel, he definitely spent at least 20% of the time overall talking about Inferno. I never had my code in front of Dennis Ritchie, but I will throw in from my perspective, the most valuable part of a CS education from RIT was hearing that my code was terrible, just enough times to make me want to make it better later on, in my professional career when it has started to matter.

Re: Inferno Operating System

#76

Earlier quoted context omitted.

You'd have to compensate for the lack of memory protection by running all unprivileged code in a VM, which would very likely introduce its own class of complexities and performance penalties.

People always defend Java as if these penalties don’t exist somehow.

The question was more about how the big the penalty is compared to running a MMU.

Also according to my (admittedly rather basic) tests the DIS VM performs far better than JVM.

Re: Inferno Operating System

#77
post #36

Earlier quoted context omitted.

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…

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…

"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.

Re: Inferno Operating System

#78
post #51
post #32

Earlier quoted context omitted.

Linux 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

> 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.

Making good abstractions is hard. On Unix I sometimes wish I could unwrap the stream abstraction, but nevertheless I think it is one of the few abstractions that have really stood the test of time.

Why wouldn't a a socket exported over NFS just work seamlessly?

Re: Inferno Operating System

#79
post #41

Earlier quoted context omitted.

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…

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 performa…

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.

Re: Inferno Operating System

#80
post #8
post #4

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.…

Although 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.

"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.
Post reply on HN