Chapter 4. Installing ACE Software


Note: To perform an upgrade, see Chapter 9, “Upgrading an Existing Cluster”.

You can install Linux ACE using the installace utility in either interactive or batch mode. After installing, you can run a simple script to verify that PBS and MPICH are working properly.

The installace utility will install the selected Linux ACE software on the specified nodes, and will optionally perform some configuration tasks required for PBS and MPICH. It also creates a file named /etc/ace/nodes on the head node that contains the list of nodes in the cluster; the first node listed is the head node.

To get help for installace, use the -h option. If you want debug information, use the -v option.


Note: All nodes in the cluster must be running the Linux operating system in order to use the installace utility.

The installace utility creates the following files:

Install ACE using Interactive Mode

This section tells you how to use installace in interactive mode and provides an example.

Interactive Mode Instructions

To install using interactive mode, do the following:

  1. Log in as root on the host from which you want to perform the installation. Typically, you will do this from the head node.

  2. Insert the Linux ACE CD-ROM.

  3. Mount the CD-ROM by entering the following:

    # /bin/mount /dev/cdrom /mnt/cdrom

  4. Change to the /mnt/cdrom directory:

    # cd /mnt/cdrom


    Note: You must be in this directory. If you are not, installace will not function properly.


  5. Start the installace utility:

    # ./installace

    If you want to see debug information, use the -v option to installace.

  6. Choose the products you want to install. No matter which package you choose, additional packages for ACE documentation (sgi-acedocs-print and sgi-acedocs) and tools (sgi-ace-tools) will also be installed on the head node .

    Installation Entry

    Packages to be Installed

    ethernet

    mpich, pbs-client, pbs-server, pcp, pcp-pro, pcp-ace, lconsole

    myrinet

    gm, gm-mpich, pbs-client, pbs-server, pcp, pcp-pro, pcp-ace, lconsole

    hoover

    hoover

    lconsole

    lconsole

    gm

    gm

    gm-mpich

    gm-mpich

    mpich

    mpich

    pbs

    pbs-client, pbs-server

    pcp

    pcp, pcp-pro, pcp-ace

    systemimager

    systemimager



    Note: The following packages are mutually exclusive:

    • lconsole and hoover

    • mpich and gm-mpich


    If you want to choose products individually, you can do so by listing them after the ACE> prompt, separating them with white space.

    Examples:

    • To install the set of products appropriate to an Ethernet environment (mpich, pbs, pcp, and lconsole), enter the following:

      ACE> ethernet


      Note: You can abbreviate the ethernet and myrinet entries to a unique set of characters. For example, eth.


    • To install just pcp and lconsole, enter the following:

      ACE> pcp lconsole

  7. To install the software on multiple nodes, you must provide their hostnames (the output from the hostnames(1) file). Choose the method you prefer:

    • Option 1, enter the hostnames individually at the ACE> prompt. For example:

      Enter your choice (1, 2, 3, or 4).
      ACE> 1
      
          Enter the hostname of the head node.
          The head node is the host from which users will launch
          execution of parallel jobs.
      ACE> node01
      
          Enter the hostnames for each execution node in the
          cluster.  After you have entered all hostnames,
          enter '.' or <control-D> to end the list.
      ACE> node02 node03 node04
      ACE> .


      Note: If you want to use the head node as an execution node for PBS, you can enter the node name here.


    • Option 2, specify a file containing the list of hostnames. To use this method, you must first create a file that contains a list of the cluster nodes, where the first node listed is the head node. For example, you could create a file named /tmp/ace.config that would contain the following (where node01 is the head node):

      node01
      node02
      node03
      node04

      You can insert comments in the file by using # as the first character on the line.

      You would enter the following:

      Enter your choice (1, 2, 3, or 4).
      ACE> 2
      
           Enter the full pathname of the file containing your
           list of hostnames.  The first node in the list must
           be the head node (from which users will launch execution
           of parallel jobs).
      
      Enter the full pathname of the file containing hostnames.
      ACE> /tmp/ace.config

    • Option 3, specify a pattern for hostnames. This option is useful if you have several nodes that have the same hostname except for a number in sequential order. For example, suppose that you have 7 nodes named node01.acme.com through mode07.acme.com. You would enter the following:

      Enter your choice (1, 2, 3, or 4).
      ACE> 3
      
          Enter the basename of the hostname of the first node in your
          cluster.  For example, if your hostnames have the form
          "base1.domain.com", enter 'base'.
      
      ACE> node
      
          Now enter the domain name of each node in your cluster.
          For example, if your hostnames have the form
          "base1.domain.com", enter 'domain.com'.
      
      ACE> acme.com
      
          Now enter the number at which your node numbering starts.
          For example, if 'base1.domain.com' is the name of your
          head
       node, enter '1'.
      
      ACE> 01
      
          How many nodes are there in your cluster?  For example,
          if 'base1.domain.com' is the name of your head node and
          you have 8 nodes in your cluster, enter '8'.
      
      ACE> 7

    • Option 4, install software only on this node. To install only on the node where installace is running, enter the following:

      Enter your choice (1, 2, 3, or 4).
      ACE> 4

    The installace utility will verify that all of the nodes are accessible.

  8. Specify whether or not the head node should also be configured as an execution node.


    Note: This question is only asked if you install PBS and you have not already listed the head node as an execution node.

    For example, if the head node will be used only for job submission, enter the following:

    Should the head node headnode_name also be configured as an execution node?
    ACE (y/n)> n

  9. If you want to use the installace(8) utility to allow rsh(1).rsync(1), and rcp(1) access for user accounts to all nodes in the cluster using the /etc/hosts.equiv files, enter 1 or 2. For example:

          1) Add the specified hostnames to the existing /etc/hosts.equiv files.
             If the file does not exist, create it.
          2) Replace the current /etc/hosts.equiv file with a new one
             containing only the specified cluster hostnames.  The current
             /etc/hosts.equiv will be saved as /etc/hosts.equiv.old.
          3) Do not change the existing /etc/hosts.equiv file.
    
    Enter choice (1, 2, or 3).
    ACE> 2

    For more information, see “/etc/hosts.equiv or $HOME/.rhosts” in Chapter 3.

Interactive Mode Example

The following example shows an entire interactive installation.


Note: The package versions shown in the following output may not match the released system.


[root@ace08 /root]# /bin/mount /dev/cdrom /mnt/cdrom
[root@ace08 /root]# cd /mnt/cdrom
[root@ace08 cdrom]# ./installace
[root@ace08 cdrom]# ./installace

    Advanced Cluster Environment v. 1.4 for Linux i686 includes the
    following products:

        pbs       PBS batch-queuing system
        pcp       Performance Co-Pilot
        mpich     MPICH message-passing library - ethernet
        gm-mpich  Myricom's MPICH message-passing library
        gm        Myricom's GM driver
        lconsole  Command-line serial console
        hoover    Hoover cluster manager & serial console

    Enter "ethernet" to select:
        mpich pbs pcp lconsole

    Enter "myrinet" to select:
        gm gm-mpich pbs pcp lconsole

    Or enter the individual products separated by white space.

Please enter all desired products separated by white space.
ACE> ethernet

    Note:  When providing a hostname, use the fully qualified name
    such as "foo.domain.com". If the hostname is resolved on all
    nodes, you can abbreviate it to "foo".

    The installace utility can modify hosts.equiv files on your nodes.
    These files are used by MPICH, GM-MPICH, and PBS.

    You can choose to provide the information required to edit these files
    or avoid this action by entering the appropriate number:

         1)  Enter the hostnames individually
         2)  Specify a file containing the list of hostnames
         3)  Specify a pattern for hostnames (NAME1.domain.com)
         4)  Install software only on this node

Enter choice (1, 2, 3, or 4).
ACE> 1

    Enter the hostname of the head node.
    The head node is the host from which users will launch
    execution of parallel jobs.
Enter the hostname of the head node.
ACE> ace08

    Enter the hostnames for each execution node in the
    cluster.  After you have entered all hostnames,
    Enter '.' or <control-D> on a new line to end the list.

ACE> ace07
ACE> .

Should the head node ace08 also be configured
as an execution node?
ACE (y/n)> y

    The install process can update the /etc/hosts.equiv file on all
    the hosts in the cluster.  The /etc/hosts.equiv will allow access
    to the hosts.  If /etc/hosts.equiv file is not being used, each user
    must update their .rhosts file to allow rcp/rsh type access to all
    cluster nodes.  Enter one of the following:

      1) Add the specified hostnames to the existing /etc/hosts.equiv files.
         If the file does not exist, create it.
      2) Replace the current /etc/hosts.equiv file with a new one
         containing only the specified cluster hostnames.  The current
         /etc/hosts.equiv will be saved as /etc/hosts.equiv.old.
      3) Do not change the existing /etc/hosts.equiv file.

Enter choice (1, 2, or 3).
ACE> 1

    Checking rsync/rcp/rsh access ...

    Checking disk space requirements ...

    Installing selected ACE products on node(s)
      ace-tools ........... [yes]
      ace-docs ............ [yes]
      pcp ................. [yes]
      pbs ................. [yes]
      mpich ............... [yes]
      gm .................. [no]
      gm-mpich ............ [no]
      lconsole ............ [yes]
      hoover .............. [no]

     Installing head node software on ace08
    Installing package sgi-ace-tools-1.4-1 on ace08 ...
    Installing package sgi-acedocs-1.4-1 on ace08 ...
    Installing package sgi-acedocs-print-1.4-1 on ace08 ...
    Installing package mpich-1.2.1-1 on ace08 ...
MPICH postinstall script
    Installing package pcp-2.1.9-12 on ace08 ...
    Installing package pcp-pro-2.1.5-2 on ace08 ...
    Installing package pcp-ace-1.3.0-4 on ace08 ...
Creating MPI wrapper
...Done, output in /var/tmp/pcp-ace-1.3.0-4-mpi_wrapper
    Package textutils-2.0e-3 already installed on ace08, skipping.
    Installing package lconsole-1.1-5 on ace08 ...
    Installing package OpenPBS-2-3 on ace08 ...
PBS preinstall script
PBS postinstall script

    Installing execution node software on ace07
    Installing package mpich-1.2.1-1 on ace07 ...
MPICH postinstall script
    Installing package pcp-2.1.9-12 on ace07 ...
    Installing package pcp-pro-2.1.5-2 on ace07 ...
    Installing package pcp-ace-1.3.0-4 on ace07 ...
Creating MPI wrapper
...Done, output in /var/tmp/pcp-ace-1.3.0-4-mpi_wrapper
    Package textutils-2.0e-3 already installed on ace07, skipping.
    Installing package OpenPBS-mom-2.3 on ace07 ...
PBS mom preinstall script
PBS mom postinstall script

    Configuring selected ACE products on node(s) ...
    Configuring PBS on head node ace08 ...
    Configuring PBS on ace07 ...
    All PBS nodes registered as seen via /usr/local/bin/pbsnodes
    Starting PCP daemons ...
    Starting PCP on ace08 ...
    Starting PCP on ace07 ...

    Post configuration ...
    Adding to the /etc/hosts.equiv file on all nodes ...
    Placed node information in ace08:/etc/ace/nodes
    Placed log information in ace08:/etc/ace/installace.log
    Placed manifest information in ace08:/etc/ace/manifest
    Installed ACE documentation in ace08:/usr/doc/sgi/ace-1.4
    Placed install configuration file in ace08:/etc/ace/installace.conf

    This ACE release also contains third-party evaluation
    software. See /mnt/cdrom/ace-demos/README.TXT for
    more information.

    The installation/configuration process has been completed!

Install ACE using Batch Mode

This section tells you how to use installace in batch mode and provides an example.

Batch Mode Instructions

To install the Linux ACE software using batch mode, do the following:

  1. Log in as root on the host from which you want to perform the installation. Typically, you will do this from the head node.

  2. Insert the Linux ACE CD-ROM.

  3. Mount the CD-ROM by entering the following:

    # /bin/mount /dev/cdrom /mnt/cdrom

  4. Change to the /mnt/cdrom directory:

    # cd /mnt/cdrom


    Note: You must be in this directory. If you are not, installace will not function properly.


  5. Copy the install.conf file template from the CD-ROM (use the -i option to prompt before an overwrite):

    # /bin/cp -i install.conf /tmp/install.conf

  6. Change the permissions on the copy of install.conf:

    # chmod 644 /tmp/install.confj

  7. Edit the /tmp/install.conf file so that it contains the required information. Enclose variable settings within double quotation marks. See the comments for more information about each item. For an example of a modified file, see “Batch Mode Example” below.


    Note: Do not install both lconsole and hoover. These packages are mutually exclusive.


  8. Start the installace utility:

    # ./installace /tmp/install.conf

    If you want to see debug information, use the -v option to installace.

    You will see output similar to the interactive mode as the installace utility proceeds through the installation. If an error occurs, the process will fail.

Batch Mode Example

This section shows you a modified install.conf file and example output.

Modified install.conf File

The following example shows user changes to the install.conf file in bold. This example shows the use of a node as both the head node and an execution node.

#
# This file contains Advanced Cluster Environment (ACE)
# configuration information that can be used by installace.
#
# This file must be /bin/sh parsable.
#
#
# Advanced Cluster Environment for Linux, includes the
# following products:
#
#       pbs       PBS batch-queuing system
#       pcp       Performance Co-Pilot
#       gm        Myricom's GM driver
#       gm-mpich  Myricom's enhanced MPICH message-passing library
#       mpich     MPICH message-passing library
#       lconsole  Command-line serial console
#       hoover    Hoover cluster manager & serial console

#
#    Enter "ethernet" to select:
#        mpich pbs pcp lconsole
#
#    Enter "myrinet" to select:
#        gm gm-mpich pbs pcp lconsole
#
# List all desired products (separated by commas or white space)
# in the 'Products' variable.

Products="eth"


#
# ACE needs to know about all the nodes in the cluster.
# There are two ways to specify this information:
# 1) Create a separate file containing all the nodes in the cluster.
#    The first node listed must be the head node.
#    If you want to use this option, list the full pathname in
#    he 'Nodes_filename' variable below.
#
# 2) Define the head and execution nodes in this configuration file.
#    To do this, fill in the 'Head_node' and the 'Execution_nodes'
#    variables below.
#

#
# List the full path to the file containing all cluster nodes.
# The first node listed must be the head node.
# Leave empty if you want to specify nodes below.
#

Nodes_filename=""


#
# List the head node.  The head node is the host from which
# users will submit PBS requests and launch the execution of parallel
# jobs.  Use the fully qualified name such as "foo.domain.com".
#
# If you have left 'Nodes_filename' variable empty and you do not
# fill in a node for 'Head_node', only the software appropriate to
# execution nodes will be installed.  In this case, you must manually
# configure PBS on the head node for the execution nodes.

Head_node="ace08"


#
# NOTE: If you have left 'Nodes_filename' variable empty and
#       you do not list a node for 'Head_node', only the software
#       appropriate to execution nodes will be installed.  In this case,
#       you must manually configure PBS for each new execution node
#       by doing the following:
#
#       1) Add the name of the head node to /usr/spool/pbs/server_name
#          on the execution nodes.
#       2) Edit /usr/spool/pbs/mom_priv/config on the execution nodes
#          to add the following:
#              $logevent 0x1ff
#              $clienthost
#       3) Edit the /usr/spool/pbs/server_priv/nodes file on the head node
#          and add the name of the execution nodes.

#
# List all execution nodes in the cluster.  They can be comma or
# white space, including newline, separated.
# Use the fully qualified name such as "foo.domain.com".
#
# If you want the head to also be an execution node, you
# must also list it in the 'Execution_nodes' variable.
#

Execution_nodes="ace08 ace07"


#
# The install process can update the /etc/hosts.equiv file on all
# the nodes in the cluster.  The /etc/hosts.equiv file allows access
# to the nodes.  The MPICH, PBS, and GM products use rsh/rcp to access
# other nodes.  If /etc/hosts.equiv is not updated, all users will
# have to update their .rhosts file on all nodes.
# Set the 'Hosts_equiv_file' variable below to one of
# the following values:
#
#      "add") Add the specified nodes to the existing /etc/hosts.equiv files.
#             If /etc/hosts.equiv does not exist, installace will create one.
#  "replace") Replace the current /etc/hosts.equiv file with a new one
#             containing only the specified nodes.  The current
#             /etc/hosts.equiv will be saved as /etc/hosts.equiv.old.
# "nochange") Do not change the existing /etc/hosts.equiv file.
#             If the variable is not set, the default will be "nochange".

Hosts_equiv_file="replace"

Batch Output

When using the preceding file, you would get the following output:


# /bin/cp -i install.conf /tmp/install.conf
# chmod 644 /tmp/install.conf
# vi /tmp/install.conf
# ./installace /tmp/install.conf
Using install config file '/tmp/install.conf'.

    Checking rsync/rcp/rsh access ...

    Checking disk space requirements ...

    Installing selected ACE products on node(s)
      ace-tools ........... [yes]
      ace-docs ............ [yes]
      pcp ................. [yes]
      pbs ................. [yes]
      mpich ............... [yes]
      gm .................. [no]
      gm-mpich ............ [no]
      lconsole ............ [yes]
      hoover .............. [no]

    Installing head node software on ace08
    Installing package sgi-ace-tools-1.4-1 on ace08 ...
    Installing package sgi-acedocs-1.4-1 on ace08 ...
    Installing package sgi-acedocs-print-1.4-1 on ace08 ...
    Installing package mpich-1.2.1-1 on ace08 ...
MPICH postinstall script
    Installing package pcp-2.1.9-12 on ace08 ...
    Installing package pcp-pro-2.1.5-2 on ace08 ...
    Installing package pcp-ace-1.3.0-4 on ace08 ...
Creating MPI wrapper
...Done, output in /var/tmp/pcp-ace-1.3.0-4-mpi_wrapper
    Package textutils-2.0e-3 already installed on ace08, skipping.
    Installing package lconsole-1.1-5 on ace08 ...
    Installing package OpenPBS-2-3 on ace08 ...
PBS preinstall script
PBS postinstall script

    Installing execution node software on ace07
    Installing package mpich-1.2.1-1 on ace07 ...
MPICH postinstall script
    Installing package pcp-2.1.9-12 on ace07 ...
    Installing package pcp-pro-2.1.5-2 on ace07 ...
    Installing package pcp-ace-1.3.0-4 on ace07 ...
Creating MPI wrapper
...Done, output in /var/tmp/pcp-ace-1.3.0-4-mpi_wrapper
    Package textutils-2.0e-3 already installed on ace07, skipping.
    Installing package OpenPBS-mom-2-3 on ace07 ...
PBS mom preinstall script
PBS mom postinstall script

    Configuring selected ACE products on node(s) ...
    Configuring PBS on head node ace08 ...
    Configuring PBS on ace07 ...
    All PBS nodes registered as seen via /usr/local/bin/pbsnodes
    Starting PCP daemons ...
    Starting PCP on ace08 ...
    Starting PCP on ace07 ...

    Post configuration ...
    Replacing /etc/hosts.equiv file on all nodes ...
    Placed node information in ace08:/etc/ace/nodes
    Placed log information in ace08:/etc/ace/installace.log
    Placed manifest information in ace08:/etc/ace/manifest
    Installed ACE documentation in ace08:/usr/doc/sgi/ace-1.4
    Placed install configuration file in ace08:/etc/ace/installace.conf

    This ACE release also contains third-party evaluation
    software. See /mnt/cdrom/ace-demos/README.TXT for
    more information.

    The installation/configuration process has been completed!


Note: Special software is not installed on node01 when it is used as both an execution node an a head node. However, configuration will be performed to make it both a head node and an execution node.


PBS Status

After you complete the installation, PBS is set up with one queue. To change this, see the PBS Administrator's Guide.