NODEFILE(1L) Misc. Reference Manual Pages NODEFILE(1L)
NAME
NodeFile - Node specific information and variables
SYNOPSIS
./.nodefile ~/.nodefile
DESCRIPTION
The nodefile is a file that contains in each line the name
--------
of the node and a float value(preference) that represents an
estimation of the processing power of the node, that is, the
bigger this value is, the more powerful the node is. This
estimation is just a relative power measure of the nodes
listed in a nodefile and should need not be very accurate.
--------
Its meaning is that the eval's will be done first in the
nodes that have this value higher than the others. If you
compile the system with DYNAMIC flag some load information
will be gathered and used with the preference value to find
the most preferred node. Unfortunately, this is done by
using the get rusage() rpc call that is supported only in
-
Suns. If you plan to use the system in an environment with
other machines, you should not define this compilation flag.
An entry can be commented out, if you precede the name of
the node with an exclamation mark (!). After a node entry
the user can specify up to 10 (#0 - #9) node dependent vari-
ables and their content. These variables can be used with
the arguments to the eval() calls as well as the arguments
to the startup command. When such a variable is found in
these places it is replaced with its content. A good convev-
tion is to use the #0 variable for the path of the Tuple
Manager and the #1 variable for the architecture of the
node.
EXAMPLES
example% cat sample nodefile
-
alkistis 4
#0 ~sxoinas/try/bin/tmanager.sun4
#1 ~sxoinas/try/demos/xmandel/slave.sun4
antigone 2
#0 ~sxoinas/try/bin/tmanager.sun3
#1 ~sxoinas/try/demos/xmandel/slave.sun3
!ekavi 0.5 (commented)
!#0 ~sxoinas/try/bin/tmanager.sun3 (commented)
!#1 ~sxoinas/try/demos/xmandel/slave.sun3 (commented)
example% startup -f sample nodefile #0
-
In this example #0 will be replaced with
~sxoinas/try/bin/tmanager.sun4 for node alkistis and with
~sxoinas/try/bin/tmanager.sun3 for node antigone.
SunOS 5.5.1 Last change: 1 March 1991 1
NODEFILE(1L) Misc. Reference Manual Pages NODEFILE(1L)
example% cat main.c
...
for (i=0;i<nworkers;i++)
eval l("#1",NULL);
-
...
In this example #1 will be replaced with
~sxoinas/try/demos/xmandel/slave.sun4 for node alkistis and
with ~sxoinas/try/demos/xmandel/slave.sun3 for node anti-
gone.
FILES
~/.nodefile,
./.nodefile
SEE ALSO
startup(1L), system(1L), tmanager(1L), posybl(1L)
BUGS (Some call them features)
Some load information should be maintained by exchanging
messages between the Tuple Managers, instead of using the
get rusage() rpc calls. But when I implemented this code it
-
was much more easier to use this call and I wasn't really
interested in such a feature. I should have changed it by
now to a scheme according to which, load information mes-
sages would be exchanged between the Tuple Managers by
broadcasts every few minutes and before the eval is executed
a call to the local Tuple Manager could be made to get the
node with the highest (preference / load) value. The only
problem with this scheme is that we should send to the Tuple
Manager the list of nodes that we are interested in and he
should choose the best among them. If I find time, I will
try it.
AUTHOR
Ioannis Schoinas, sxoinas@csd.uch.gr
ACKNOWLEDGEMENTS
I would like to thank everybody that helped me in writing
this program and especially I. Kavaklis for offering his
ideas, some pieces of code, demo programs, and for being the
first subject to test this system.
SunOS 5.5.1 Last change: 1 March 1991 2