Topology

From MosixWiki
Revision as of 16:39, 7 November 2007 by Amnon (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
TOPOLOGY(M7)                   MOSIX Description                  TOPOLOGY(M7)
 
NAME
    TOPOLOGY - incorporating networking costs in MOSIX
 
TUNING
    MOSIX can make better migration decisions when it knows the costs
    involved in running processes away from home.  The program tune, with its
    front-end tune_mosix, can be used to measure the 26 networking cost con-
    stants between pairs of nodes.
 
    Since using tune might be tedious, a library of tuning-results for com-
    monly used combinations of processors and networks is provided.  This
    library is in /etc/mosix/tunes, where each file contains 2 lines: the
    first describes the computers and the network used to produce the results
    and the second contains the 26 (space-separated) constants produced by
    tune.
 
    The parameters that are taken into account include the network speed and
    latency, processor type, memory type, network card, and most importantly,
    whether using a VPN layer on top of IP.
 
INTRODUCING TOPOLOGY
    Since the communication costs might not be uniform across the clus-
    ter/grid, the topology is defined as a set of tuning constants from a
    subset of nodes to the local node.  MOSIX supports up to 10 topologies,
    i.e., each node can define up to 10 different networking costs for dif-
    ferent sets of nodes in the cluster and/or grid.
   
    MOSIX comes with a built-in default topology of 1, that is a set of con-
    stants 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, MOSIX will automatically update its topology
    within one minute.
 
    Each line in /etc/mosix/mostune should contain 29 (space-separated) con-
    stants: 26 for tuning and 3 for topological condition (see below), stat-
    ing to which node(s) should the corresponding set of 26 tuning constants
    refer (note that the last line may contain only 26 constants, in which
    case the last 3 are assumed 0).
 
    To select the costs for a given node, MOSIX scans the above conditions,
    starting with the first line and proceeding down the list until a condi-
    tion is found that is satisfied by the given node (if no condition is
    satisfied, the first line is selected).
 
TOPOLOGICAL CONDITIONS
    Topological conditions are constructed from three constants (unsigned
    32-bit integers), named: FIRST, LAST, and FEATURES.  FIRST and LAST are
    IP addresses (host order), while FEATURES is a bitmap.
 
    In MOSIX, each node is associated with an IP address (IP) and a list of
    features associated with it ("F").  A condition is said to be satisfied
    by a node when:
 
    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)
 
    The features of a node are listed in /etc/mosix/myfeatures by a (comma-
    separated) list of symbols.  The only purpose of these symbols is to aid
    in constructing useful combinations of topological conditions. It is up
    to the grid/cluster administrators to assign values to the symbols that
    are listed in /etc/mosix/features.  While MOSIX comes with 32 predefined
    symbols, administrators could modify those symbols if necessary, provided
    they do the same throughout the cluster/grid.
 
SEE ALSO
    mosix(7).
 
MOSIX                              May 2006                              MOSIX