[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: available resource declaration language(s)



Hi all:

David L. Nicol" <david@kasey.umkc.edu> wrote:

> Mosix uses a peer-to-peer architecture in which each node periodically
> queries a peer selected at random from its list of peers;

In MOSIX we researched and made extensive simulations of many information
dissemination schemes. We ended up with the following algorithms:
1. Each node continuously monitors its internal resources.
2. Once every unit of time (1 sec.) each node sends a message to
   either a random node (within the predefined cluster range) or
   to a node with which it communicated recently or to an historical
   node (with which it communicated in the not too distance past).
3. Each node maintains a (small revolving) "window to the world" by
   keeping the most recently arrived information messages. This ensures
   that when a node need information about other nodes it looks in its
   own cache and does not need to send any inquiry messages.

   As a result, MOSIX supports:
1. Scalability without overflowing the LAN (each node sends exactly
   one message each unit of time), no broadcasts;
2. A cluster with "sparse" node numbers, e.g. when a subset of nodes fail;
3. "Dynamic" clusters in which nodes leave or join at any time.
4. Flood prevention, e.g. when a new node join an overloaded cluster.
   This is accomplished by the "gradual information dissemination" which
   slow down the propagation of info about the idle (or less loaded) new
   node, thus only a small subset of other nodes attempt to approach the
   new node.
 
There are many more "hidden" algorithms that we researched and tested to
support process migration for load-balancing, e.g. machines with different
speeds or different free memory, etc. 

-Amnon
 The MOSIX team.

Linux-cluster: generic cluster infrastructure for Linux
Archive:       http://mail.nl.linux.org/linux-cluster/