5.7 Is openMosix Right for You?
openMosix has a lot to recommend
it. Not having to change your application code is probably the
biggest advantage. As a control mechanism, it provides both
transparency to the casual user and a high degree of control for the
more experienced user. With precompiled kernels, setup is very
straightforward and goes quickly.
There is a fair amount of communication overhead with openMosix, so
it works best on high-performance networks, but that is true of any
cluster. It is also more operating system-specific than most
approaches to distributed computing. For a high degree of control for
highly parallel code, MPI is probably a better choice. This is
particularly true if latency becomes an issue. But you should not
overlook the advantages of using both MPI and openMosix. At the very
least, openMosix may improve performance by migrating processes to
less-loaded nodes.
There are a couple of other limitations to openMosix that are almost
unfair to mention since they are really outside the scope of the
openMosix project. The first is the inherit granularity attached to
process migration. If your calculation doesn't fork
off processes, much of the advantage of openMosix is lost. The second
limitation is a lack of scheduling control. Basically, openMosix
deals with processes as it encounters them. It is up to the user to
manage scheduling or just take what comes. Keep in mind that if you
are using a scheduling program to get very tight control over your
resources, openMosix may compete with your scheduler in unexpected
ways.
In looking at openMosix, remember that it is a product of an ongoing
and very active research project. Any description of openMosix is
likely to become dated very quickly. By the time you have read this,
it is likely that openMosix will have evolved beyond what has been
described here. This is bad news for writers like me, but great news
for users. Be sure to consult the openMosix documentation.
If you need to run a number of similar applications simultaneously
and need to balance the load among a group of computers, you should
consider openMosix.
|