Don't ask why, but I spent a good part of my weekend crunching a fairly large data set (a couple of million rows, about 20 attributes per row of varying sizes / types). As my laptop whirred and paged and paged and whirred, I sat at my desk staring at the other two machines sitting on the LAN -- both of which had plenty of spare processing cycles and RAM -- in frustration. Why can't this task leverage those resources?
Think about it from a user's perspective. It's dead simple for me to join a network. Once I'm on that network, it's dead simple for me to access shared files or shared devices like printers, scanners, burners, etc. Why can't I share processor cycles? Whether I'm doing a left outer join on tables with a couple million rows, or rendering fly-over titles for the grandparents' DVD, machine 1 should be able to reach out and commandeer cycles of machines 2 through N in the workgroup.
I'm sure there are dozens of reasons why this is impractical or impossible from a computer science perspective. (For example, making sure that the benefit of using machines 2 through N actually outweighs the overhead of task coordination.) But conceptually it makes sense: bring clustering technology out of the data center and on to the LAN, and enhance applications that live between personal computing and supercomputing.
http://www.apple.com/macosx/features/rendezvous/
+
http://www.apple.com/acg/xgrid/
...almost there!
Posted by: victor | Apr 19, 2004 at 06:01 PM
Take a look at Alchemi .. http://www.alchemi.net
Posted by: Akshay Luther | Apr 22, 2004 at 11:02 PM
Michael -- Have you checked out OpenMosix?
From the site: "OpenMosix is Linux kernel extension for single-system image clustering which turns a network of ordinary computers into a supercomputer."
http://openmosix.sourceforge.net/
I've been testing it with the Sentinix LiveCD Distro and have been amazed at how easy it it to create a cluster. Check it out...
http://sentinix.34hack.net/
Steve
Posted by: Steven Hatch | Apr 23, 2004 at 01:40 PM