Topology
From MosixWiki
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