Written by Auzy the 6 Mar 08 at 05:18.
Category: System.
Related project:
Nothing/Others.
Status: New
Rationale
We should make it take only 3 or 4 clicks to enable CPU clustering over a network. Every home user these days often have 3 or 4 computers in their household when half the time are simply sitting there browsing the web.
Users should be able to configure clustering in GCC (switch to DistCC), enable openmosix, maybe even set up programs like blender properly in a centralised location, and just need to click a button. That way everyone can use their computing resources more efficiently, and easily.
At the very least we should make it easier (not neccessarily include it in the main distribution). And small polish like this may not benefit many people, but the people who notice (your graphics and developer crowd for instance), will be eternally greatful. And, lets be honest, its a great sales pitch for many businesses :D
OSX already ships with a solution known as Xgrid which people can use, in its clients and servers. Xgrid has only failed because even Apple does not integrate it into their programs. OpenMosix for instance though is ready to go and can be made into an "out of the box" solution.
Of course, that would not be a "bad" idea.
But is that kind of feature really useful for Ubuntu's targeted audience ?
Only spend time on this if you have nothing else to do !
(Or if you just like to develop in that field anyway, but then there is no point in that brainstorm !)
I think it's a perfect feature for ubuntu's target audience. I've been looking into a way to easily clusture multiple systems. This would be beneficial to many home users, as well as business users.
This would be an awesome new feature. I really hope to see it some day soon. Two thumbs up!
I to think this feature would be welcomed by a lot of people from wide range of communities.
As a Blender user (3d modeling/animation open source package) having the possibility to create a cluster with simple clicks would be a dream come true.
Currently available tutorials are somewhat difficult to follow (especially since all of them require internet access which I dont' possess outside of work).
But having this integrated into the package (distro CD) along with one to ten clicks is definitely a welcomed feature.
I am for the clustering idea also. I could see the tremendous benefits to businesses for high availability and high performance clusters, High availability and a business version
of ubuntu with ltsp could be a giant killer of mswindows servers. We need to get away from the single computer mentality if we want to really get into the business world and succeed. I would love to have a clustered nas for my business so that I know data will be dependable 24/7.
I think this is a GREAT idea. Most of the time my proccessor is idle, waiting for me to tell it to do something. Once a month, however, I require a large amount of processing power to run some simulations. How about averaging my processor demand by lending it to people while I don't use it and borrowing from others when I most need it? That would bring super-processor capabilities for everyone! I'd love to see this happening. +1
One of the best ideas I've seen for recently.
A glaring Vista-beating opportunity for those who crave such media soundbytes too.
Explaining to an older guy (60? years old) I share a daily bus trip last month about computer clusters, he actually said "oh, that sound like "dynabolic" (sic). My grandson uses it for his band"
I was astounded.....he has no home computer and hadn't heard of M$ :)
distcc is easy. the people who need it can install it. MOSIX is over. We need a new single-system-image cluster, because anything else is too hard to use. applications have to be specifically coded to take advantage of other clustering packages.
there are only a few places where this would be helpfull. big jobs that split up into well separated tasks. (at uni i do fairly big simulations. when a simulation takes 10 hours, and i want to run 10 of them with different parameters, having a cluster is great. it means it only takes 10 hours instead of 100).
latency between processors is a big factor. for serious clustering even gigabit ethernet is not good enough, so a standard home setup with 100mbit or wireless will have problems.
most programs, can't take advantage of dual-core CPUs yet, so they have no chance at clustering.
it might be usefull for compiling, big multiframe rendering, batch multimedia conversion, maybe some of the slower gimp filters. although some framework, and options (choosing hosts you trust) could be centralised, each application would need modifications.
There are almost constantly 3-4 computers running in this house, and there is rarely a time when they are all simultaneously being used. It would be nice if I could naturally use all of them for EVERY task, even just getting a few more FPS in a game, or an emulator.
crhylove, not sure if it would help much for gaming in most cases, unless the games are programmed properly. Ie:
1) No sync points
2) properly multithreaded.
3) Not frame rate oriented really.. Turn based games may work ok, but first person shooters may require faster updates then what the network latency can offer.
The main places this would help as mentioned, are for operations which can be completely seperated, and aren't as dependent on time, like rendering movie frames, compiling, or processing that needs a large amount of processing for a small dataset. But it would just be nice if in such applications, they were automatically using the resources of the network, without even needing to know its happening.
the majority of users would see no benefit. But perhaps adapting an existing clustering infrastructure project to be more generic or easy to install might benefit these users and perhaps someone will come up with a new creative use...
Games - you could likely run the AI and server on another box... the same as any networked game setup. But this would imply more being able to distribute and remotely execute that engine on another computer and kick it off, all without introducing stability or security issues.
In face those issues are present for the above cases as well if you are assuming this is a spontaneous activity.
Perhaps exploring that model and how it might be implemented and managed might be an interesting space to explore (as a personal/academic project rather than a distribution vendor project)