Friday, December 15, 2006

OpenMosix/Mosix (Clustering)

Something about what's going with OpenMosix and clustering :

Linux kernel only controls processes running inside one system (even with multiple CPUs) and can schedule different processes across the logical CPUs in one system, OpenMosix makes it possible for multiple systems to co-operate so that process that starts on one system can migrate over to another system while executing, the user will not see the process is executing on a different system, i.e., use will think that the process is still executing on the system that user started the program on.

And talking more deeply we can distinguish between IPC / MPI i.e. , Clustering View:

Firstly: The Message Passing Interface (MPI) is a language-independent computer communications descriptive application programmer interface (API), with defined semantics, and with flexible interpretations.

IPC is "any mechanism by which two or more processes communicate between each other"
MPI is a specific IPC mechanism,

if we'll mean SysV/ Posix IPC mechanisms, then it's different story.

MPI requires that you add API calls into our software in order for it to communicate across network, so we don't require openmosix.
Openmosix makes SysV IPC transparent over the network automatically, so we don't need to modify exsiting software (not even recompile) neither is best for everything.

There is also TIPC, which was included in 2.6.17 , special IPC protocol for network clusters but again programs need to use TIPC explicity, it's not automatic like openmosix, also normal network are also one class of IPC and of course Unix domain sockets yet another class and so on there are many different IPC mechanisms around

No comments: