K12LTSP + MOSIX Howto
Paul Nelson writes "Richard Camp posted a very complete, step by step guide to building a MOSIX cluster. "...The objective of this howto is to guide the reader on setting up a Mosix cluster with diskless nodes. The setup is based on K12ltsp Project. This should provide an easily scalable system."
This is exactly where I feel Linux should be used. The idea of dumb terminals and a central server has proven to be the most cost effective way for companies to implement computer technology.
It's becoming clear that Intel/AMD etc are going to crush most other general purpose CPUs. Be it with SMP or SMT or both. With the increase in PCI bandwidth coming and the heralded 64bit chips intel will start to take over more and more server machines. Remember in the steel industry people scoffed at mini mills, kodak scoffed at digital cameras etc etc.
In the future most companies will have dumb terminals and a server room with racks of cheap intel boxes. The OS on the server will be fault tolerant to the max, oh I lost a node ahh well only 255 left. Uptimes measured in years. Hang on a sec that sounds like an IBM or SUN mainframe.
What is rapidly becoming apparent is that network speed is now more important than CPU/MEMORY speed.
I think this is where clustering should be done, for now at least, at the thread level. Most programs are multi-threaded. Most people don't want to rewrite programs to support MPI or PVM. Lots of projects that previously had to implement their own clustering protocols can just utilize Mosix instead. If I could talk my boss into it, I would put Linux/Mosix on every desktop at work and have a giant Mosix cluster. This is the future of computing.
"I assumed blithely that there were no elves out there in the darkness"
no, but with the $100 you saved not buying a disk you could have an extra 256MB of VERY FAST scratch space.
"I assumed blithely that there were no elves out there in the darkness"
Your explanation has errors too.
There is no inherent 640kB limitation to bootp/DHCP/tftp. A protected mode boot loader such as Etherboot can access extended memory. Even a real mode boot loader can access extended memory by using BIOS calls that date back to the AT.
Of course you have to download the whole thing before booting. You wouldn't want the kernel to start on incomplete segments would you? But perhaps you imagine that it has to be copied out of the lower 640kB. Not so. The boot loader can place the bzImage kernel exactly where another boot loader like LILO would place it, at 0x100000. The initrd is another matter, this is a historic shortcoming in kernel support for initrd so it has to be relocated to the top of memory (well, not exactly the top, there are limitations there due to Linux, see setup version 0x203 for the extra variable which tells the boot loader the highest valid address).
One of the real reasons for not sending a raw kernel is finally mentioned in your penultimate paragraph, the need to pass options. Another is that the ROM boot loader is general and shouldn't have to know anything about Linux. Hence you need a secondary loader like PXELinux or a wrapper around the kernel image, like Etherboot.
My credentials? http://etherboot.sourceforge.net/
I don't think I'll be buying your book anytime soon.
This isn't Beowulf clustering. You don't have to write or modify applications specifically for the cluster. MOSIX migrates individual processes to the least used or best system available in the cluster. Think of it like SMP processing.
Has anyone in this thread even bothered to check out the MOSIX site? It doesn't seem like it because it sounds like everyone is thinking beowulf.
Do yourselves a favor and see:
The MOSIX Site
What is MOSIX?