User Tools

Site Tools


skill-tree:use:2:b

**This is an old revision of the document!**

USE2-B Running of Parallel Programs

Background

Parallel computers are operated differently than a normal PC, all users must share the system. Therefore, various operative procedures are in place. Users must understand these concepts and procedures to be able to use the available resources of a system to run a parallel application. Moreover, individual solutions can often be found in a specific system.

Batch jobs submitted to a job queue define the workloads in batch systems. A workload manager of a cluster system typically deals with

  • Job Control to provide a user interface for submitting jobs to job queues, monitoring their state during processing (e.g. to check their estimated starting time), and intervening in their execution (e.g. to abort them manually)
  • Scheduling and Resource Management to select a waiting job for execution and to allocate nodes to the job meeting all its other demands for computing resources (memory, special processing elements like GPUs, etc.)
  • Accounting to record historical data about how many computing resources (e.g. computing time) have been consumed by a job

Aim

  • To enable practitioners to comprehend the concepts and procedures for running parallel applications in HPC environments
  • To use a workload manager like SLURM or TORQUE to allocate HPC resources (e.g. CPUs) and to submit a batch job
  • To use the system to run and monitor the execution of parallel applications on the HPC system

Outcomes

  • run parallel programs in an HPC environment
  • use the command line interface
  • write robust job scripts, e.g. to simplify job submissions by the help of automated job chaining
  • select the appropriate software environment
  • use a workload manager like SLURM or TORQUE to allocate HPC resources (e.g. CPUs) and to submit a batch job
    • Job submission and cancellation (SLURM)
      • sbatch
      • salloc
      • srun
    • Monitoring job and system information (SLURM)
      • sinfo
      • squeue
      • sstat
      • scontrol
    • Retrieving accounting information
      • sacct
      • sacctmgr
  • consider cost aspects
  • measure system performance as a basis for benchmarking a parallel program
  • benchmark a parallel program
  • tune a parallel program from the outside via runtime options
  • apply the workflow for tuning

Subskills

skill-tree/use/2/b.1593108655.txt.gz · Last modified: 2020/06/25 20:10 by kai_h