Rendered at 23:36:39 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
bediger4000 2 days ago [-]
Walnut Creek sold a Sprite CD-ROM back in the day. I got Sprite to boot on a Sun SPARCStation IPC. It was kind of unstable. I really wanted to try process migration and the log structured file system.
spijdar 5 hours ago [-]
You really don't want to run Sprite on a single host, unfortunately -- the local filesystem path is buggy, and there are some major bugs in the system as preserved on the CD-ROM, e.g. vfork() is totally borked, at least for software which expects a BSD-style vfork.
With some fixes, it can be pretty stable. Here's a web server running on Sprite on an IPC: https://ember.shockfox.net/
Or, well, it is running right now. I don't leave it online 24/7, so caveat emptor to future visitors.
Qwuke 5 hours ago [-]
Is there anything I can read about the fixes to make it more stable? Or just a place to check out recent developments?
spijdar 5 hours ago [-]
At the moment, no. Beyond just fixing problems I've found, for the last year I've been doing a lot of haphazard development inside of Sprite itself, so "fixes to bugs in released Sprite" are intermingled with "features I've added". The bigger problem is that getting data in/out of Sprite is ... harder than you'd imagine.
I am hoping to make a big writeup "soon", since there's a lot of interesting information about Sprite that's mostly been lost to time, where Sprite is mostly remembered as having "process migration" and "LFS". Meanwhile, it's mostly forgotten that Sprite was (apparently) one of the first OSes to adopt a mostly-GNU userland, had a modern event-loop style abstraction in C for handling I/O and timers (Fs_Dispatch), had a userspace filesystem abstraction akin to FUSE (PFS), implemented a PTY-like system entirely in userspace (the Td* functions in libc), and overcommitted memory by default.
hedgehog 2 hours ago [-]
That would be very interesting to read, other systems like Plan 9 get talked about a lot but I didn't know almost anything about Sprite until today.
EvanAnderson 1 days ago [-]
Process migration seems like something that should be commonplace today. It would be an amazingly handy feature.
jacobgorm 4 hours ago [-]
I invented VM live migration to solve the problems with traditional process migration, and my work was inspired by both Sprite and MOSIX. I believe that VM migration is in wide use today, especially at hyperscalers.
Mike Nelson, who worked on Sprite, invented VM live migration in parallel with me, but secretly within VMware.
toast0 6 hours ago [-]
I feel like if you have a single system image, process migration is easy (or at least tractible), but without that, it's going to be pretty challenging. Live migration of VMs across hypervisors is more approachable than migrating a process between two individual systems... You've got all that I/O that needs to be proxied, etc.
Single system image across multiple nodes doesn't seem to be getting much mindshare either.
convolvatron 6 hours ago [-]
I did a research SSI in the early 2000s. After getting it largely to work, we kind of put it aside. Why would we aspire to using 'ps' and 'ls' and 'mount' and such to manage our large scale systems? surely there was a better model.
20 years later people are still sshing into nodes to fuss around, and treating cluster nodes like pets. it still could be done pretty easily, I guess its not really in anyone's interest to invest the 2 years it would take. there is a lot more money to be made nibbling around the edges of the problem.
toast0 5 hours ago [-]
I've used systems with bits and pieces of this and IMHO, it feels pretty tempting to build this... But yeah, the real question is what application do you or will you run that requires it and is it worth the cost to build?
Especially if you can do similarish stuff in other ways. There's several distributed filesytems available now. There's lots of process orchestration tools. Single nodes today can be enormous compared to single nodes and even some clusters from the 2000s.
convolvatron 4 hours ago [-]
to me the goal of having 'ps' show everything in the cluster is kind of cute at best.
but yes, right now you install all kinds of services and support nodes, and distributed filesystems, and orchestration tools and software management tools and job schedulers. every cluster is a bespoke mess that takes a large staff to maintain and is always broken.
this is kind of the projection of web software onto hpc clusters.
in the 90s it wasn't nearly as hard to run a supercomputer because it was an integrated software platform. they were still a lot dodgier than the needed to be. but you could run a 64k node system with one support person, and there weren't really very many support tickets because things just mostly worked.
but I certainly can't imagine trying to do a company that solves this problem. or I should say I keep trying to and just seeing failure. part of the issue is that the people that you are selling to are personally and monetarily invested in the status quo. I don't think they _want_ to relieved of the burden of messing around with Kubernetes all the time, and having distributed filesystems that need to be nursed all the time, or having provisioning tools that have a 80% success rate and take hours to spin up a node.
With some fixes, it can be pretty stable. Here's a web server running on Sprite on an IPC: https://ember.shockfox.net/
Or, well, it is running right now. I don't leave it online 24/7, so caveat emptor to future visitors.
I am hoping to make a big writeup "soon", since there's a lot of interesting information about Sprite that's mostly been lost to time, where Sprite is mostly remembered as having "process migration" and "LFS". Meanwhile, it's mostly forgotten that Sprite was (apparently) one of the first OSes to adopt a mostly-GNU userland, had a modern event-loop style abstraction in C for handling I/O and timers (Fs_Dispatch), had a userspace filesystem abstraction akin to FUSE (PFS), implemented a PTY-like system entirely in userspace (the Td* functions in libc), and overcommitted memory by default.
Single system image across multiple nodes doesn't seem to be getting much mindshare either.
20 years later people are still sshing into nodes to fuss around, and treating cluster nodes like pets. it still could be done pretty easily, I guess its not really in anyone's interest to invest the 2 years it would take. there is a lot more money to be made nibbling around the edges of the problem.
Especially if you can do similarish stuff in other ways. There's several distributed filesytems available now. There's lots of process orchestration tools. Single nodes today can be enormous compared to single nodes and even some clusters from the 2000s.
but yes, right now you install all kinds of services and support nodes, and distributed filesystems, and orchestration tools and software management tools and job schedulers. every cluster is a bespoke mess that takes a large staff to maintain and is always broken.
this is kind of the projection of web software onto hpc clusters.
in the 90s it wasn't nearly as hard to run a supercomputer because it was an integrated software platform. they were still a lot dodgier than the needed to be. but you could run a 64k node system with one support person, and there weren't really very many support tickets because things just mostly worked.
but I certainly can't imagine trying to do a company that solves this problem. or I should say I keep trying to and just seeing failure. part of the issue is that the people that you are selling to are personally and monetarily invested in the status quo. I don't think they _want_ to relieved of the burden of messing around with Kubernetes all the time, and having distributed filesystems that need to be nursed all the time, or having provisioning tools that have a 80% success rate and take hours to spin up a node.