openMosix is a fork of the Mosix clustering package for x86/IA32-based computers running the Linux kernel, up to version 2.4.20. In short, it makes a group of similar Linux computers behave as if they were one larger computer. While no plan is perfect, openMosix works quite well with most types of programs which would benefit from having multiple processors. openMosix achieves clustering by migrating processes to other nodes upon which it has determined they will best run. Nodes can be uniprocessor or multiprocessor, of different speeds, or even of somewhat different architectures, such as having both Pentium and Athlon nodes in the same cluster. Communication between nodes is done over TCP/IP and therefore can be done over 2, 10, 100, or 1000 megabit wired ethernet as well as the various flavors of wireless, IEEE 1394/Firewire, or in fact anything else to which you can bind an IP stack.
openMosix was forked in late 2001 by Moshe Bar when project lead Amnon Barak changed the licensing terms away from the GPL and to a new license which contained only a copyright notice and a clause containing the words "All Rights Reserved". Of course, once something is licensed under the GPL, it cannot be put back in the bag so to speak, and so it was possible to fork Mosix into openMosix. openMosix's more open development model has resulted in more rapid releases, with more features being added, as well as various performance improvements. As a result, openMosix is arguably the more powerful of the packages, and it certainly has a more acceptable license to the open source world.
openMosix, like Mosix, differs from most other clustering technologies in that it does not require applications to be specially modified or written to to gain the advantages of clustering. Even the simplest clustering packages like DQS require that your jobs be able to be split into batches for job processing, which is essentially a step backwards into the early days of mainframes on which a single job was executed at a time. The most popular type of Linux cluster, the Beowulf Cluster, requires use of either the PVM or MPI libraries to share load between cluster nodes. This means that you are either restricted to software designed for the cluster (or at least the library) or you will have to write something yourself, at least a patch to the software in question. Clearly, this approach is not for everyone and in many cases dramatically increases the complexity of the problem.
openMosix offers a number of features not present in Mosix, including support for User mode Linux, and support for Dolphin and IA64. openMosix uses a distributed method for accessing files called DFSA (Direct File System Access) which allows file operations to be executed on the local node, thus minimizing network accesses and therefore improving latency.
- Robbins, Daniel. Advantages of OpenMosix on IBM xSeries: part I of 3
. Intel, 2002. (http://www-1.ibm.com/servers/esdd/articles/openmosix.html)
- Mosix home page (http://www.mosix.org/)
- openMosix home page (http://openmosix.sourceforge.net/)
- Bar, Moshe. The OpenMosix Cluster. (http://sourceforge.net/docman/display_doc.php?docid=10390&group_id=46729)