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