Page 1 of 2

Usecase idea.

Posted: Fri Nov 06, 2020 11:12 am
by pvc
I just had an idea of an OS that treats users in sligtly different way than other OSes do. It's a modification of mainframe <-> terminal model. Imagine one powerful computer in the house shared between family members. Not how it is done now, over the network, but directly. Each user has it's own display, keyboard mouse and free USB port. These devices being connected directly to the computer without any network latency or overhead. This way a family could make use of high core count CPU based machine much more efficiently. There could be some extra hardware needed. Like long distance USB, HDMI or DP transceivers. What do you think about such model?

Sorry If I don't make much sense, but I am a little bit drunk today 8) But I also didn't want to forget this idea by tomorrow.

Re: Usecase idea.

Posted: Fri Nov 06, 2020 11:20 am
by bloodline
pvc wrote:I just had an idea of an OS that treats users in sligtly different way than other OSes do. It's a modification of mainframe <-> terminal model. Imagine one powerful computer in the house shared between family members. Not how it is done now, over the network, but directly. Each user has it's own display, keyboard mouse and free USB port. These devices being connected directly to the computer without any network latency or overhead. This way a family could make use of high core count CPU based machine much more efficiently. There could be some extra hardware needed. Like long distance USB, HDMI or DP transceivers. What do you think about such model?

Sorry If I don't make much sense, but I am a little bit drunk today 8) But I also didn't want to forget this idea by tomorrow.
Just use Ethernet/Wifi and build a high performance network display/event protocol on UDP.

Re: Usecase idea.

Posted: Fri Nov 06, 2020 11:28 am
by pvc
That's why I said "Not how it is done now, over the network, but directly." I imagine, streaming 5x HD displays over your typical house network wouldn't be so easy. Even 10Gbps link would easily become overwhelmed.

Re: Usecase idea.

Posted: Fri Nov 06, 2020 11:32 am
by Octocontrabass

Re: Usecase idea.

Posted: Fri Nov 06, 2020 11:33 am
by PeterX
pvc wrote:I just had an idea of an OS that treats users in sligtly different way than other OSes do. It's a modification of mainframe <-> terminal model. Imagine one powerful computer in the house shared between family members. Not how it is done now, over the network, but directly. Each user has it's own display, keyboard mouse and free USB port. These devices being connected directly to the computer without any network latency or overhead. This way a family could make use of high core count CPU based machine much more efficiently. There could be some extra hardware needed. Like long distance USB, HDMI or DP transceivers. What do you think about such model?

Sorry If I don't make much sense, but I am a little bit drunk today 8) But I also didn't want to forget this idea by tomorrow.
I don't think it is a bad idea. But I don't know if it is really desirable. It probably depends on what it costs in comparison to the cost of several computers.

And the general trend nowadays goes in the contrary direction (smartphones and internet of things). Which doesn't mean it's a bad idea just because of that.

Also I don't know how well a single computer supports multiple graphics output, for example 4 or more monitors.

Greetings
Peter

Re: Usecase idea.

Posted: Fri Nov 06, 2020 11:37 am
by pvc
@PeterX I am using 4 displays right now with cheap RX570. And its manual says it supports 5.

Re: Usecase idea.

Posted: Fri Nov 06, 2020 11:41 am
by pvc
@Octocontrabass Ohh, so it has been already done. Ok, I am going to do experimenting with it.

Re: Usecase idea.

Posted: Thu Nov 12, 2020 12:49 pm
by eekee
I hope you're having fun with it. :)

X Windows is capable of it. $DISPLAY can contain server:display.screen (e.g. rix:5.0) where each display is entirely isolated from each other display and has its own mouse and keyboard. I'm mainly mentioning it out of my own nostalgia; I really wanted to try it in the late 90s, but XFree86 on Linux didn't seem to be capable of loading drivers for multiple cards, or something. What I really wanted was multi-screen. At the time, it was similar in that each screen was also isolated in terms of display resolution and color, but the mouse pointer would go on all the screens in any given display. There was no Xinerama or anything like that in those days.

Getting off the topic a little...

The first window system for Unix was similar, but its terminals had some processing power of their own. It relied on uploading code to the terminal so each user basically had their own copy of the window system. There was a demo of animations in dragable windows all the way back in 1982! But I'm sure it relied on uploading the animation frames to the terminals. http://doc.cat-v.org/bell_labs/blit/

Plan 9 was an attempt to go a step beyond this by letting the user use the power of their local terminal, connecting to "cpu servers" to run high-power jobs. With a single central file server, every user got their own home directory and profile scripts no matter which machine they were at. I think it was Dennis Ritchie who got into the habbit of carrying around floppy disks with a Plan 9 bootloader. Wherever he was, if he wanted to use a computer he'd put a floppy into a free machine and it would boot Plan 9 over the network. ;) It's not quite the same as multiseat but achieves some of the same goals. Plan 9 system administration is network-wide too, in part because of the single shared filesystem.

Re: Usecase idea.

Posted: Thu Nov 12, 2020 1:00 pm
by nexos
@pvc, that's what my OS is eventually going to do :) . In my case, I am doing it as a good for colleges which would need many computers usually, but instead they could have in server and monitors, keyboards, and mice.

Re: Usecase idea.

Posted: Wed Nov 18, 2020 9:14 am
by eekee
nexos wrote:@pvc, that's what my OS is eventually going to do :) . In my case, I am doing it as a good for colleges which would need many computers usually, but instead they could have in server and monitors, keyboards, and mice.
College? You mean 20-30 users at once? Eeeesh! Performance will be horrible! Won't it? I might be making wild assumptions, but I think RAM contention will be an insurmountable obstacle to decent perfomance. Have you done any calculations on that? You'll need a rough system design and knowledge of the relevant hardware latencies and bandwidths to make the calculations. Come to think of it, that would be a good way to start. You can refine your OS design before you write any code. If you find there's no good way to do it, you have useful knowledge and skills to apply to your next OS design.

Re: Usecase idea.

Posted: Wed Nov 18, 2020 10:18 am
by Schol-R-LEA

Re: Usecase idea.

Posted: Wed Nov 18, 2020 10:23 am
by bloodline
pvc wrote:That's why I said "Not how it is done now, over the network, but directly." I imagine, streaming 5x HD displays over your typical house network wouldn't be so easy. Even 10Gbps link would easily become overwhelmed.
Even a high end graphics board isn't going to be able to drive 5+ HD displays and certainly HDMI isn't rated for cable lengths over a metre or so... Ultimately each terminal is going to need to be essentially a fully featured computer... A cheap RaspberryPI and a nice high speed ethernet is the only way forward...

Re: Usecase idea.

Posted: Wed Nov 18, 2020 1:26 pm
by Octocontrabass
bloodline wrote:Even a high end graphics board isn't going to be able to drive 5+ HD displays
That depends on the card. Here's one designed to drive six displays. (You may be able to drive even more displays by connecting multiple displays to a single DisplayPort output, but the specifications aren't very clear about whether that's supported.)
bloodline wrote:and certainly HDMI isn't rated for cable lengths over a metre or so...
I've found passive HDMI cables up to 30ft/9m that are rated for 60Hz 4k, although that's certainly pushing the limits of the technology. Active cables can be much longer than that, if you're really desperate to spend your money.

Re: Usecase idea.

Posted: Thu Nov 19, 2020 1:53 pm
by nexos
eekee wrote:
nexos wrote:@pvc, that's what my OS is eventually going to do :) . In my case, I am doing it as a good for colleges which would need many computers usually, but instead they could have in server and monitors, keyboards, and mice.
College? You mean 20-30 users at once? Eeeesh! Performance will be horrible! Won't it? I might be making wild assumptions, but I think RAM contention will be an insurmountable obstacle to decent perfomance. Have you done any calculations on that? You'll need a rough system design and knowledge of the relevant hardware latencies and bandwidths to make the calculations. Come to think of it, that would be a good way to start. You can refine your OS design before you write any code. If you find there's no good way to do it, you have useful knowledge and skills to apply to your next OS design.
I'm thinking of a server with 100s of CPUs and a couple terabytes of RAM. It could even be a distributed system. It would be cheaper probably (less computers, just a few very pricy computers).

Re: Usecase idea.

Posted: Fri Nov 20, 2020 12:17 pm
by eekee
nexos wrote:I'm thinking of a server with 100s of CPUs and a couple terabytes of RAM. It could even be a distributed system. It would be cheaper probably (less computers, just a few very pricy computers).
Okay. I know nothing about how such a system handles ram contention, so I'll leave it at that. It's funny you should mention distributed systems. Before the term was defined as narrowly as it is today, Plan 9 was called a distributed system. I realise now I've forgotten all about the details of distributed systems.