OpenMosix
September 19, 2007
Posted by nhabibi in Distributed Computing, Linux, Operating System.
In Computer Cluster post, I introduced computer clusters generally. OpenMosix is a Linux kernel extension for creating Linux-based high-performance clusters.
openMosix is a kernel extension for single-system image clustering. openMosix is a tool for a Unix-like kernel, such as Linux, consisting of adaptive resource sharing algorithms. It allows multiple uniprocessors (UP) and symmetric multiprocessors (SMP nodes) running the same kernel to work in close cooperation. The openMosix resource sharing algorithms are designed to respond on-line to variations in the resource usage among the nodes. This is achieved by migrating processes from one node to another, preemptively and transparently, for load-balancing and to prevent thrashing due to memory swapping. The goal is to improve the cluster-wide performance and to create a convenient multiuser, time-sharing environment for the execution of both sequential and parallel applications. The standard runtime environment of openMosix is a computing cluster, in which the cluster-wide resources are available to each node.
For installing OpenMosix, you need to download the OpenMosix patch and apply it to Linux kernel and compile the kernel again. In addition, OpenMosix userland tools should be installed after that.
openMosixView is a graphical user interface to manage OpenMosix clusters easily. It has several features for monitoring and managing processes and clusters.
You can test your cluster by OpenMosix Stress-Test.
ClusterKnoppix is a compiled Linux kernel with openMosixView installed. just download and install it, and then you will get your cluster ready! It’s very easy to use.
More information:
* OpenMosix Home
* openMosixView Home
* A good article about introducing, compiling and internals of OpenMosix
* An article from the OpenMosix developers
* Our report in Persain
PS: A special Thanks to friend, who introduced OpenMosix to me.
Posted by nhabibi in Distributed Computing.
It may be useful to describe briefly some terms related to distributed computing, an interesting and complicated subject.
Computer Cluster: is a group of loosely coupled computers that work together closely so that in many respects they can be viewed as a single computer.
Cluster Types:
1-High-availability clusters: are implemented for improving the availability of services which the cluster provides. They operate by having redundant nodes, which provide service when system components fail.
2-Load-balancing clusters: operate by having all workload come through one or more load-balancing front ends, which then distribute it to a collection of back end servers. It’s referred to as server farm.
3-High-performance clusters: are implemented to provide increased performance by splitting a computational task across many different nodes in the cluster, and are most commonly used in scientific computing.
Grid computing (Grid clusters): a technology closely related to cluster computing. The key difference is that a cluster is a single set of nodes sitting in one location, while a Grid is composed of many clusters and other kinds of resources (e.g. networks, storage facilities). Grids typically support more heterogeneous collections than are commonly supported in clusters.
SunCluster : a High-availability cluster software package for Solaris operating systems. Sun Cluster is a kernel-level clustering software.
Sun Grid: is an on-demand grid computing service operated by Sun Microsystems.The Sun Grid is an open source project with its source code available.
Source : Wikipedia
More info:
SunCluster Tour
A good overview on wikipedia
Berkeley Open Infrastructure for Network Computing