It's like a windowed, multi-tasking environment where each process actually gets its own dedicated CPU/memory/display hardware and can run fully independent of the others.
I think it was Cromenco that had a setup where you had a 'master' S-100 CP/M CPU board that managed mass storage, printers and other things, and 'subordinate' S-100 cards that had CPU, memory and SIO. Each user would be dedicated a sub card and terminal, running their own full version of CP/M, and the master mediated access to shared resources. Very popular in small office settings for a while.
I'd say more like a VM system where there's a (mostly) 1-to-1 mapping between hardware and user, supported by a really simpleminded hypervisor. But I definitely see where you're thinking.
> I built a 16-core Z80 laptop running CP/NOS (the networked version of CP/M 2.2)
I remember that laptop! I wonder if it can be emulated in MAME easily.
That, and beefier nodes running something like MP/M (or different architectures, such as CP/M 68K, alongside the more usual CP/M 80) would also be fun.
Is CP/NET reliable on your cluster? Way back in the day, when I worked at an outfit named ACE on the then-dominant solution for multiprocessor CP/M dpc/os, we evaluated CP/NET and found it unsuitable as a daily driver due to a lot of crashing.
Neat - I had never heard of ACE. In my (fairly limited) experience it works fine, although running the cores at 140 MHz (and the network) forgives a lot of sins. I actually wrote my CP/NET server as a regular CP/M application in Turbo Pascal, so I can't speak to other server solutions. The idea behind my ZedRipper was to basically turn a 'multi-user' CP/M system into a single-user/multi-tasking system, and it worked better than expected.