cluster:Torque/236

From Dgiref
Jump to: navigation, search

Contents

Introduction

Geographylogo.png TORQUE (Tera-scale Open-source Resource and QUEue manager) is a resource manager providing control over batch jobs and distributed compute nodes. Maui is an advanced cluster scheduler capable of optimizing scheduling and node allocation decisions. It allows site administrators extensive control over which jobs are considered eligible for for scheduling, how the jobs are prioritized, and where these jobs are run. Maui supports advance reservations, QOS levels, backfill, and allocation management. Each of these features, if enabled, may require some adjustment on the part of the user to optimize system performance.

TORQUE and Maui are the parts of the batch system to submit jobs into the cluster. Batch systems are comprised of four different component types:

  1. a batch system will have a master node where pbs_server is running. Depending on the needs of the systems, a master node may be dedicated to this task or may fulfill the roles of other components as well.
  2. Submit/Interactive Nodes provide an entry point to the system for users to be able to manage their workload. For these nodes, users are able to submit and track their jobs. Additionally, some sites have one or more nodes reserved for interactive use, such as testing and troubleshooting environment problems. These nodes will have client commands (e.g., qsub, qhold, etc) available.
  3. Compute Nodes are the work horses of the system. Their role is to execute submitted jobs. On each compute node, pbs_mom will be running to start, kill and manage submitted jobs. It communicates with pbs_server on the master node.
  4. Some systems are organized for the express purpose of managing a collection of resources beyond compute nodes. Resources can include high-speed networks, storage systems, license managers, etc. Availability of these resources is limited and need to be managed intelligently to promote fairness and increased utilization.

The life cycle of a job can be divided into four stages (basic job flow)

  1. creation. Typically, a submit script is written to hold all of the job parameters. These parameters could include how long a job should run (i.e., wall time), what resources are necessary to run and what to execute.
  2. submission. A job is submitted with the command qsub. Once submitted, the policies set by the administration and technical staff of the site will dictate the priority of the job and therefore, when it will start executing.
  3. execution. Jobs often spend most of their life cycle executing. While a job is running, its status can be queried with qstat.
  4. finalization. When a job has completed, by default, the stdout and stderr files will be copied to the directory where the job was submitted.

Package:    torque v. 2.5.7 (MAUI v.326p21)
 os:             Scientific Linux version 5.6 64 bit
 server:        dgiref-batch.fzk.de
 manuals:  server / client / wn client


Archive links
Information links
Download links
Guidelines links



Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

TORQUE server v.2.3.6

Prepare

Operating system
Scientific Linux version 5.4 64 bit
Note-icon.png
  
If you want to use the maui scheduler instead of the torque scheduler, do not start the TORQUE's pbs_sched daemon after the torque installation.
Firewall configuration

Be sure that if you have firewalls running on the server or node machines that you allow connections on the appropriate ports for each machine. TORQUE pbs_mom daemons use UDP port 1023 and the pbs_server/pbs_mom daemons use ports 15001-15004 by default (how to open port in firewall).

Note-icon.png
  
Firewall based issues are often associated with server to mom communication failures and messages such as 'premature end of message' in the log files.

Also, the tcpdump program can be used to verify the correct network packets are being sent.

Install

  • Torque client and server should be installed on the torque server host (client includes qmgr).

Configure

  • Configure torque server
    • Setup WNs addresses. Configuration file /var/spool/pbs/server_priv/nodes on the torque server must hold all host names of the WNs information.
    • Fill out the configuration file /etc/hosts.equiv with the list of the FQDNs for all Torque Clients, e.g. gLite-CE, Globus GRAM and Unicore NJS
  • Configure maui
  • Create users for gLite: edginfo und rgma with the same UIDs like in gLite-CE. These users information are required to gLite with. The gLite-CE asks the MAUI server about this.
  • Create queues
  • The D-Grid operational concept provides for the two queues: dgiseq for sequential and dgipar for parallel jobs (the currently assigned queue limits are based on the values, as they are used in GridKa)
  • Make NFS export /var/spool/pbs/server_logs
Note-icon.png
  
do not forget to update the queues for every VO with
  • qmgr -c "set queue dgiseq acl_groups += ${vo_names}"
  • qmgr -c "set queue dgipar acl_groups += ${vo_names}"

More: http://www.clusterresources.com/torquedocs21/4.1queueconfig.shtml

Proceed

To start / stop use the commands:


Initial test

  • The result of the following command qstat -Q should be something like:
# Queue   |   Max  | Tot |  Ena |  Str  | Que  | Run  | Hld  | Wat  | Trn  | Ext T
# dgiseq  |     0  |   0 |  yes |  yes  |   0  |   0  |   0  |   0  |   0  |   0 E
# dgipar  |     0  |   0 |  yes |  yes  |   0  |   0  |   0  |   0  |   0  |   0 E

Update

Upgrading TORQUE can generally be done without shutting down the whole cluster and disrupting running jobs. Simply build and install the new version and restart the daemons. Here is the safest procedure for upgrading TORQUE:
  1. Kill the scheduler.
  2. Wait a few minutes for all new jobs to complete startup.
    1. All running jobs in qstat -a have some elapsed walltime.
  3. Restart pbs_server.
  4. Verify the new pbs_server is working correctly.
    1. nodes should come up (not down or state-unknown)
    2. job walltimes should increase
  5. If upgrading from an earlier 2.1 build, MOMs can automatically restart themselves with:
    1. momctl -q enablemomrestart=1 -h :ALL
    2. Start the scheduler.
  6. If upgrading from 2.0 or earlier,
    1. Restart MOMs on all idle nodes.
    2. Wait a minute, make sure node and job states are updating correctly.
    3. Delete the previous static archive library files: (libattr.a, libcmds.a, liblog.a, libnet.a, libpbs.a, libsite.a
    4. Mark busy nodes offline.
    5. Start the scheduler.
    6. Restart MOMs on offline nodes after their jobs exit.
Note-icon.png
  
All external software like maui, perl-PBS, or pbs_python built with the 2.0.x static archives will need to be rebuilt with the newer 2.1.x shared libraries.


Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

Maui server v.3.2.6p21

Prepare

It is required to install the Torque server (version 2.1.6 or version 2.3.6) before the maui scheduler packages.

Install

To install Maui, the following RPMs are needed :

  • maui
  • maui-server

Install rpms from dgiref binary repository.

Configure

By default, batch systems like OpenPBS or Torque have their own job scheduler. Normally, this is much more simple-minded than Maui; for example, in the case of OpenPBS and Torque, the default is a simple fifo scheduler. Therefore, before Maui can be used, the batch system must be told to use it.

With OpenPBS or Torque, this is accomplished setting the scheduling state of the server to False:

qmgr -c "set server scheduling = False"
qmgr -c "list server"
  ...
  server_state = Idle
  scheduling = False
  ...

The scheduling policies are defined in Maui’s configuration file : /var/spool/maui/maui.cfg

Proceed

Start service maui


Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

TORQUE client v.2.3.6

Prepare

Operating system
Scientific Linux version 5.4 64 bit
Note-icon.png
  
If you want to use the maui scheduler instead of the torque scheduler, do not start the TORQUE's pbs_sched daemon after the torque installation.
Firewall configuration

Be sure that if you have firewalls running on the server or node machines that you allow connections on the appropriate ports for each machine. TORQUE pbs_mom daemons use UDP port 1023 and the pbs_server/pbs_mom daemons use ports 15001-15004 by default (how to open port in firewall).

Note-icon.png
  
Firewall based issues are often associated with server to mom communication failures and messages such as 'premature end of message' in the log files.

Also, the tcpdump program can be used to verify the correct network packets are being sent.

Install

MAUI use encrypted connections between the client and server. Symmetric encryption keys embedded in the binaries. Therefore absolutely necessary to install, RPM packages for clients and servers from the same source, i.e. with the same keys in the binaries!


Configure

  • For each compute host, the MOM server must be configured to trust the pbs_server daemon. In TORQUE 2.0.0p5 and later, this can also be done by creating the $(TORQUECFG)/server_name file and placing the server hostname inside.
  • Additional config parameters may be added to $(TORQUECFG)/mom_priv/config (see the MOM config page for details.)

Data management allows jobs’ data to be staged in/out or to and from the server and compute nodes.

  • For shared filesystems (i.e., NFS, DFS, AFS, etc.) use the $usecp parameter in the mom_priv/config files to specify how to map a user’s home directory. (Example: $usecp gridmaster.tmx.com:/home /home)
  • For local, non-shared filesystems, rcp or scp must be configured to allow direct copy without prompting for passwords (key authentication, etc.)
  • To use the PBS StageIN /out mechanism to copy the input/output files between CEs and Worker Nodes, add the configuration into /var/spool/pbs/mom_priv/config like this:
$usecp *:/home /home
$usecp *:/srv/nfs/home /srv/nfs/home


Initial test

  • From a user account, it should be possible to use a 'Hello World' job submitting, as well as an interactive shell on a WN
  • The job results are as files STDIN.o<JOBID> (std-output) and STDIN.e<JOBID> (std-error).
  • test MAUI
  • The test on the gLite-CE should work as edginfo user configuration of gLite-packages.
  • To check the status of the job query, the following command is used within the lifetime of submitted jobs:
qstat 
# The result should be something like the following: 
# Job id  |   Name    |   User  | Time Use  | S | Queue
# 6.node1 |   STDIN   |  user1  | 0         | R |  batch

Update

To update use the standart rpm command syntax.


Please open a NGI-DE ticket if you experience any Installation or Configuration problem.

Maui client v.3.2.6p21

Prepare

It is required to install the Torque client before the maui scheduler packages. It is required to install the Torque client (version 2.1.6 or version 2.3.6 depending on the Torque server version) before the maui scheduler packages.

Install

To install Maui, the following RPMs are needed :

  • maui
  • maui-client

Install rpms from dgiref binary repository.

Configure

Assign the torque server into /var/spool/maui/maui.cfg

Initial test

  • test with diagnose command
Personal tools