SCore INSTALLATION

[English Versiopn], [Japanese Version]
  • operating environment
  • setting up WWW server
  • setting up msgbserv
  • environment setting
  • running a SCore-S program
  • setting up SCore-D
  • running SCore program under SCore-D

  • operating environment

    You have to set up all machines to satisfy the following conditions:

    setting up WWW server

    WWW server (httpd) is optional, and only required if you will use the Java applets to monitor SCore environment.

    You can run WWW server on any machine you like. The machine do not have to be one of the SCore nodes (The machine do not have to be listed in configuration file of msgbserv). You may also choose a node machine in a cluster, however, this may degrade performance of your cluster.

    Please provide the following directory by the WWW server.

    $(INSTALL_ROOT)/html


    setting up msgbserv

    msgbserv is a server program to manage which nodes on a cluster are currently being used. (msgb is one of clients for monitoring for msgbserv).

    You can run msgbserv on any machine you like. The machine don't have to be one of the SCore nodes. But, if you will use Java applet version of Message Board Client, you have to run msgbserv on same machine of the WWW server.

    configuration file
    $(INSTALL_ROOT)/lib/score.conf
    configuration file format
    See Setting up the PM configuration file.
    msgbserv invocation
    On SunOS 4.1.x or NetBSD, Add the following line to /etc/rc.local of the machine which is chosen to run msgbserv, and reboot the machine.
    $(INSTALL_ROOT)/sbin/msgbserv -config $(INSTALL_ROOT)/lib/score.conf &
    
    On linux, run the following command of the machine which choosen to run msgbserv, and reboot the machine.
    # cp $(INSTALL_ROOT)/lib/msgbserv.init /etc/rc.d/init.d/msgbserv
    # chkconfig --add msgbserv
    
    make sure msgbserv is properly running
    Run the following command.
    % $(INSTALL_ROOT)/bin/msgb -server hostname_which_msgbserv_is_running &
    If the msgbserv properly started up, the following window will appear.

    window image of [msgb]

    confirm that msgbserv is correctly running
    Type the following command on a cluster node:
    % msgblock sleep 1
    The corresponding node in the msgb window will turn red for a second. If ``pe=2'' is specified, 2 nodes should turn red.
    % msgblock -score pe=2 sleep 1

    environment setting


    running a SCore-S program

    1. To watch who uses processor nodes:
      % msgb &
    2. To compile MPC++ program:
      % cd $(TOP)/tools/examples/L0
      % mpc++ --l0 -o pingpong pingpong.cc
      
      SCore runtime libraries including PM is automatically linked by this command.

    3. Login the first node of the nodes you will use.

      In case of the SCore-S program, the machine which the SCore program is invoked is treated as PE (processor element) number 0 in the program, and subsequent nodes which are specified in msgbserv configuration file are used as subsequent of processor node(s). So, at first, you should login to the node which will be processor element number 0.

      For example, if you login to node number 2, and invoke SCore-S program with option ``-score pe=2'', node number 2 will be the processor element number 0, and node number 3 will be processor number 1, and SCore-S program runs in parallel on these 2 processor nodes.

      If some of cluster node(s) that you are going to use are (is) already locked via msgbserv, then your SCore-S program invokation will fail.

      Do not compile or run a normal (non-SCore-S) program on a cluster node. Non-SCore-S programs do not lock cluster nodes via msgbserv. The other users may run SCore-S programs for evaluation. If you DO run a non-SCore-S program on a cluster node, use msgblock command to lock the host.

      % msgblock mpc++ --l0 -o pingpong pingpong.cc
      

    4. To get usage (on a cluster node):
      % ./pingpong -score usage
    5. To run a program (on a cluster node):
      % ./pingpong -score pe=2
      This command invokes the ``pingpong'' program by using 2 processor elements. The argument ``pe=number'' specifies the number of processor elements your program requires. (default is 1)

      The nodes you are using are locked and used exclusively until the program finishes.

      Note the prefix "./" found at the beginning of pingpong program. SCore program can only be invoked when its command path is explicitly specified. The PATH environment setting is not effective.


    setting up SCore-D

    When you run SCore-S program, you occupy the processor node where you run the program. When you use SCore-D daemon, in contrast to SCore-S, multiple programs and multiple users can share same processor node (by time sharing).
    1. To run SCore-D syslog daemon:

      This daemon process is optional. If you will use this daemon, do the following command on the machine where the WWW server is running. You don't have to run this daemon under root privilege.

      % $(INSTALL_ROOT)/sbin/sc_syslog &
      sc_syslog program logs users logins and logouts.

    2. To run DQT scheduling monitor daemons:

      This daemon is not needed when you choose tss scheduling, and also optional even if you choose dqt scheduling. If you will use this daemon, do the following command on the machine where the WWW server is running. You don't have to run this daemon under root privilege.

      % $(INSTALL_ROOT)/sbin/dqtmonitor &
    3. To create a temporary directry for SCore-D:

      SCore-D requires temporary directory, /var/scored on each cluster host. SCore-D administrater must prepare this directory. The following procedure is an example to create the directory using rsh-all shell script, assuming that the administrater already logged in the very first host in the order specified by the msgbserv configuration file. If /var directory is owned by root user, this is a very typical case, you must have a root permission.

      % rsh-all mkdir /var/scored
      % rsh-all chmod a+rwx /var/scored
    4. To run SCore-D:

      If multiple user will share same node processors, SCore-D should be invoked with root privilege. If merely one user will run multiple SCore programs on same node processors, only the users's privilege is needed.
      Please note that above environment setting is needed in both cases.

      In the following example, SCore-D daemon controls from the node which the daemon is invoked, to subsequent 63 processor elements in the order specified by the msgbserv configuration file. Option ``-tq 200'' specifies scheduling time slice to 200 msec.

      with DQT scheduling:
      % $(INSTALL_ROOT)/sbin/dqt -score pe=64 -tq 200
      with simple time-sharing scheduling:
      % $(INSTALL_ROOT)/sbin/tss -score pe=64 -tq 200
      Basically dqt and tss are SCore-S programs, and they takes the same argument as the normal SCore-S prorams take.

      To run dqt or tss with the sc_syslog daemon running already:

      with DQT scheduling:
      % $(INSTALL_ROOT)/sbin/dqt -score pe=64 -tq 200 -loghost hostname
      with simple time-sharing scheduling:
      % $(INSTALL_ROOT)/sbin/tss -score pe=64 -tq 200 -loghost hostname
      Here, hostname indicates the hostname where the sc_syslog daemon is running.

      To run dqt with the dqtmonitor daemon:

      # $(INSTALL_ROOT)/sbin/dqt -score pe=64 -tq 200 -dqtmhost hostname
      Here, hostname indicates the hostname where the dqtmonitor daemon is running.

      To run dqt with both the sc_syslog daemon and the dqtdaemon, please specify both ``-loghost hostname'' option and ``-dqtmhost hostname'' option.


    running SCore program under SCore-D

    Unlike SCore-S program, it is not necessary to login the first node to use under SCore-D. You can invoke program from any host if the host satisfies the first 3 conditions in the first section. In other words, the host doesn't have to have Myrinet connection.
    1. To watch who uses processor nodes:
      % msgb &
      The nodes controlled by SCore-D are displayed by purple color.

    2. To use Java applet version of SCore monitor programs:

      Please access the following page via WWW server invoked by the above procedure, by the WWW browser like Netscape which supports Java applets.

      $(INSTALL_ROOT)/html/java/
      The ``Cluster Message Board'' in the page is a client of the msgbserv, and the ``SCore-D Monitor'' is a client of the sc_syslog, and the ``DQT Monitor'' is a client of dqtmonitor.

      The applets can run only if accessed via WWW server (i.e. URL is ``http://...''), and can not run if accessed via direct file access (i.e. URL is ``file:...''), due to limitation of security model of Java applets.

    3. To compile MPC++ program:
      % cd $(TOP)/tools/examples/L0
      % mpc++ --l0 -o pingpong pingpong.cc
      
      SCore runtime library is automatically linked by this command. As this example shows, binary for SCore-S and SCore-D are same image, and only determined by the option in invocation.

    4. To run user programs under SCore-D:
      % ./pingpong -score pe=2,scored=hostname
      Connected (pid=0)
      <0> SCore: 2 processors are ready
      
      Here, hostname indicates the SCore-D server hostname. The default SCore-D server host is the host having the largest PE number of hosts controlled under the SCore-D. That is the hostname of the PE number 63 in this example.
      If the message "Connected ..." is displayed, then the program is successfully running under SCore-D.

    $Id: install.html,v 1.5 1998/06/12 03:06:37 hori Exp $