Your Company Name Here
23 Node openMosix Cluster
23 Node openMosix Cluster
These are my note on my twenty three (23) node Beowulf cluster. Nineteen of the
core nodes form the basis of an
openMosix single-system image cluster.

The openMosix core was build around 2004 using the highest performance AMD
processors available at the time. The other four nodes are now comprised intel
and AMD quad core processors.

When motherboards and CPU becomes affordable  I hope to upgrade all the
nodes to four (4) way motherboards, where each CPU in the 4 way motherboard
is at least a quad core CPU. It is interesting to note that I have read rumors of
CPU in the near future with eight (8) cores.

Boost.MPI, build on top of LAM MPI is main method of communication between
processes running within the cluster.

A wonderful feature of openMosix is it automatically load balances any process
running within its environment; that includes any MPI process. This is a
particularly nice feature since there is no need to consider/optimize what physical
node a MPI process is going to run. This is done automatically by openMosix.

The cluster is primarily used for my studies in very larger Neural Networks,
Genetic Algorithms and Evolutionary Algorithms.

Even though the cluster as of this writing in near five years old it performance is
still relatively very good for the type of inquires I do.

Several libraries of keen interest for this cluster are:

Any exciting application of this technology is my
Colossus M1-20 project which is
being expanded to Colossus M3-20 as described in my
Cramer's Artificial
Intelligence project.
Beowulf Cluster Links:
openMosix Links:
click to enlarge image
NOTES:
Since LAM MPI is Message Passing Interface I use the following, written by
Cristiano De Michele <demichel@na.infn.it>, is of particular interest to me.
    "Get latest tarball of LAM mpi from LAM then untar it as usual,i.e. :

    % tar xzf lam-X.Y.Z.tar.gz

    where '%' is the shell prompt, then go to dir lam-X.Y.Z:

    % cd lam-X.Y.Z

    and then do:

    % configure --prefix<installation_dir> --with-rpi=tcp
    % make
    % make install

    option '--with-rpi=tcp' ensures that no shared memory will be used so that
    processes will get migrated otherwise they will not.

    Now compile your MPI sources using mpicc (C), mpiCC (C++), mpif77
    (fortran 77) and create a file you can call boot, whose content will be the
    following one:

    localhost cpu=<numberofcpusof yourOM_cluster>

    now launch the LAM daemon as follows:

    % lamboot -v boot

    so that you can finally execute your MPI program doing:

    % mpirun -np <numberof processes> <yourMPI_program>


    you can kill all MPI processes using 'lamkill' command or you can even
    shut down LAM daemon with 'lamhalt' command. It's worth noting that after
    you've launched LAM daemon you can run several jobs by 'mpirun'
    command."

I have standardize on BOOST LIBRARIES 1.37. I no longer directly use MPI API's.
Using
Boost MPI far more versatile.
Colossus M1-20 utilized Neural Networks, Genetic and Evolutionary Algorithms
and a number of unique learning algorithms operating in a runtime environment
of a relatively large scale parallel processing system. The core Colossus M1-20
had as many as 5000 threads of execution running across 20 nodes of an
openMosix cluster.

Colossus M1-20 was successful in learning how to make market predictions up
to 5 hours into the future on any given equity. Given enough time, about one to
three hours, its performance was always impressive.

Colossus M1-20 had a weakness It lacked the ability to select equities that
would maximize profits within a given day or other period of time.


See
The Cramer's Artificial Intelligence project for further details on further
applications of the Colossus M1-20.
Colossus: