Topology

From MosixWiki
Revision as of 15:58, 23 November 2007 by Amnon (Talk | contribs)

Jump to: navigation, search
TOPOLOGY(M7)                   MOSIX Description                  TOPOLOGY(M7)
 
NAME
    TOPOLOGY - incorporating networking overheads in MOSIX
 
TUNING
    MOSIX can make better migration decisions when it has a good estimate of
    the overheads involved in running processes away from home: the program
    tune, with its front-end tune_mosix, can be used to measure 26 different
    constants that reflect those overheads between any given two nodes.
 
    Those contants depend on various factors such as network speed and
    latency, processor type, memory type, network card, whether a VPN layer
    is used on top of the IP protocol, etc.
   
INTRODUCING TOPOLOGY
    The overheads of running a process away from its home may not be uniform
    across the cluster or multi-cluster grid: the topology is therefore
    defined as a set of overhead constants measured between the local node
    and a subset of other nodes.  MOSIX supports up to 10 topologies, allow-
    ing each node to define up to 10 sets of overhead constants, measured
    between itself and different sets of nodes in the cluster and/or multi-
    cluster grid.
 
    MOSIX comes with a built-in single default topology - a set of pre-mea-
    sured constants that applies uniformly to all nodes.  To override this
    default, the system-administrator needs to create the file:
    /etc/mosix/mostune (once that file is created or modified, MOSIX will
    automatically update its topology within one minute).
 
    Each line in /etc/mosix/mostune should contain 29 space-separated inte-
    gers: 26 are the overhead constants (generated by tune_mosix) and 3 are
    topological conditions (see below) that describe to which node(s) those
    overhead constants apply (the last line can have only 26 constants, mak-
    ing it unconditional).
 
    To decide which overhead constants apply for a given node, MOSIX scans
    the above conditions, starting with the first line and proceeding down
    the list until a condition is found that is satisfied by the given node
    (if no condition is satisfied, the first line is selected).
   
TOPOLOGICAL CONDITIONS
     Topological conditions consist of three numbers (unsigned 32-bit inte-
    gers), named: FIRST, LAST, and FEATURES.  FIRST and LAST are IP
    addresses, while FEATURES is a bitmap (1st symbol in /etc/mosix/features
    is 1, 2nd symbol is 2, 3rd symbol is 4, etc.).  The IP addresses are rep-
    resented as an unsigned integer in host order, so for example, IP address
    123.45.67.89 is represented as:
    ((123*256+45)*256+67)*256+89 = 2066563929
 
    To test whether a given node satisfies a condition, we consider both its
    IP address ("IP") and its features ("F"): the features are configured in
    /etc/mosix/myfeatures (see below) and are 0 if that file does not exist.
 
    The table below covers all the 5 possible combinations of FIRST and LAST,
    describing when a condition is satisfied by a given node:
 
    FIRST == LAST == 0      Always: unconditional
 
    FIRST == 0; LAST != 0   (F & FEATURES) != 0
 
    LAST == 0; FIRST != 0   IP != FIRST && ~(F & FEATURES)
 
    0 < FIRST <= LAST       FIRST <= IP <= LAST || (F & FEATURES)
 
    FIRST > LAST > 0        (IP < FIRST || IP > LAST) && ~(F & FEATURES)
 
CONFIGURING FEATURES
    The features of a node are listed in the file /etc/mosix/myfeatures by a
    comma-separated list of symbols, selected out of the 32 symbols in the
    file /etc/mosix/features.
 
    These symbols have no particular meaning other than to aid in construct-
    ing useful combinations of topological conditions. It is up to the multi-
    cluster system-administrators to agree between them on conventional mean-
    ings to those symbols.
 
    System-administrators are also allowed to modify those symbols if they
    wish, provided that they keep /etc/mosix/features the same throughout the
    multi-cluster Grid (if they do so, they must remember to restore that
    file after upgrading to a new version of MOSIX). 
 
SEE ALSO
    mosix(7).
 
MOSIX                              May 2006                              MOSIX