Arman's stuff
Cloud got nuthin' on me

(Mon Dec 14 16:57:17 2009)

Funny how technology progresses, innit?

Far back in the ancient days of computer history (about 40 years ago), UNIX multi-seat computers were the thing. One huge workstation, and dozens (or hundreds!) of thin clients, each with its own keyboard and monitor, connected to the main machine over a network (a serial network, back then). As time progressed, computers got to be so cheap that the huge server got split into single workstations. Now, things are turning around again; computers are still cheap, but servers are getting cheap too. The costly part is the upkeep; it takes a lot of manpower to keep the software of dozens (or hundreds, or thousands) of machines upgraded and running smoothly, never mind the hardware. In a big company, the cost is unbelievable.
Enter "cloud computing." Forget having to take care of hundreds of user computers; now they all just connect to a single server, and get all the information they need off that! Nothing new, of course; it's just that costs have pushed focus back to consolidating everything back into that one huge server again - this time to save manpower costs, not hardware costs.

So what about geeks like us? I mean, my budget isn't exactly set up for purchasing a cloud server, and you can forget about the maintenance package. And I really, really don't need that kind of power. At the same time, I want to be able to jump on this bandwagon - why buy new computers for my wife and kids, when really all they need is a monitor and keyboard each? One multi-processor computer has plenty enough power for two or three people...

That's where I started. See, my wife's computer is fast, but it needs more ram and a better video card to really keep up. My son's computer needs... well, anything. I haven't started one yet. So what's a guy to do? I don't want to spend the money getting two computers, because I'm frugal (which is a nice way to say "money leaves my hands when my fingers fall off"), but I need two new computers. Well, one new computer and some extra hardware with which to upgrade. Sounds like a good time to use cloud computing!

Instead of a server with a lot of remote clients, though, how about several clients tied together - sharing hard drive, ram, processor, etc., but not actually separated by a network? Linux should be able to handle that, right? Right!

Now, I haven't tried this (yet), but I'll give it a 75% chance of working well, and a 95% chance of working at all. The concept is this: Linux can have multiple X sessions running at any given moment. Case in point, I use a background X session on my computer, because my sitting-at-my-desk screen is roughly 3600x1440, and I don't want to download that whole thing over a network every time I move my mouse. 1024x768 is much better, so that's what I run on my background desktop. Since I can run that background desktop at the same time as my "normal" desktop, it shouldn't be a huge jump to set up a second monitor and put that very background session into the foreground. Adding in hardware acceleration, sound, and other such media things will be interesting, but should be quite possible.

Here's the rundown:
1) If I can get a second keyboard/mouse working in a background X session, the battle's half over.
2) Set up dual-monitor, and use VNC to run the background session on one of the monitors. Ugly, but that will get me two monitors, two mouses, two keyboards, and one computer.
3) Split X sessions; if I can get one X session on one window, and a second X session on a second window, I can eliminate the VNC overhead. At this point, I should have two complete working desktops.
4) Get sound working for each. This might actually be easy, given that I have multiple sound cards.
5) Get 3D graphics acceleration working. As far as I can tell, there isn't an easy way to do this. At worst, I want acceleration on one of the two screens, which might be a tad easier. At best, full acceleration on both. This might require two video cards, instead of one multi-head card.
6) Really hard stuff that no one in their right mind would attempt:
a) Get more than two displays working
b) Associate USB hubs with screens for directed insert screens (that is, plugging a USB drive into the screen #2 USB hub only displays a popup on that screen)
c) Associate an external DVD drive with the second computer (and whatever other media I feel like at the time)

A lot of work? Yeah. A lot of time? Of, of course. Too much for me to handle? Always! Fun and rewarding? Every time.

Why do I do stupid stuff like this? Because it's awesome. Oh, and if anyone knows of a way I can become multiple people and work in parallel, let me know.

<< Sushi, Flight Delays, and TeaDual. Screen. Laptop. >>

This blag is tagged: Cloud, Computers, Insane, Remote, Virtual, All