Are there any operating systems designed from the ground up to support and fully utilize many processor systems? I'm thinking systems designed based on the assumption that there are tens, hundreds or even thousands of processors, and design assumptions are made at every level to leverage that availability
The RoarVM [1] is a research project that showed how to run Squeak Smalltalk on thousands of cores (at one point it ran on 10,000 cores). I'm re-implementing it as a metacircular adaptive compiler and VM for a production operating system. We rewrite the STEPS research software and the Frank code [2] on a million core environment [3]. On the M4 processor we try to use all types of cores, CPU, GPU, neural engine, video…
Catalog of Novel Operating Systems
61–65 of 65 posts
Re: Catalog of Novel Operating Systems
#62Are there any operating systems designed from the ground up to support and fully utilize many processor systems? I'm thinking systems designed based on the assumption that there are tens, hundreds or even thousands of processors, and design assumptions are made at every level to leverage that availability
Chuck Moore (of Forth fame) and his company springs to mind. They make a chip with "144 independent computers" on it. I'm not sure if that is totally orthogonal to what you're saying, but there it is, just in case!
Re: Catalog of Novel Operating Systems
#63I think we shouldn't[1] be making Operating Systems, per se, but something like Operating Environments. An Operating Environment (OE) would be a new interface, maybe shell and APIs to access file systems, devices, libraries and such -- possibly one that can be just launched as an application in your host OS. That way you can reuse all facilities provided by the host OS and present them in new, maybe more convenient w…
[1] https://alexanderobenauer.com/labnotes/000/ [2] https://alexanderobenauer.com/ollos/
Re: Catalog of Novel Operating Systems
#64Are there any operating systems designed from the ground up to support and fully utilize many processor systems? I'm thinking systems designed based on the assumption that there are tens, hundreds or even thousands of processors, and design assumptions are made at every level to leverage that availability
Plan 9 is very close. Its kernel was designed from the start with multi-processing and is all channels internally. It's small and highly portable so it runs on a Rpi and there was an IBM Blue Gene project. It's architecture is distributed so one machine can serve disk and auth and a hundred more can boot and auth to them. Then they can share resources seamlessly as everything happens through the foundational 9P protocol.
There was never a framework or API to fully abstract this for HPC but could be implemented with minimal effort as the foundation is there (e.g. You wouldn't need mpi as you have 9p.) Though general work loads can be pushed to CPU servers using ssh like commands to do thin me line run programs in pipes across machines.