Heterogeneous Job Support

Similar documents
Slurm Birds of a Feather

Slurm Burst Buffer Support

Introduction to Slurm

Slurm Overview. Brian Christiansen, Marshall Garey, Isaac Hartung SchedMD SC17. Copyright 2017 SchedMD LLC

Scheduling By Trackable Resources

Slurm Version Overview

Federated Cluster Support

Directions in Workload Management

Resource Management at LLNL SLURM Version 1.2

Slurm Roadmap. Danny Auble, Morris Jette, Tim Wickberg SchedMD. Slurm User Group Meeting Copyright 2017 SchedMD LLC

Exercises: Abel/Colossus and SLURM

Versions and 14.11

Introduction to SLURM on the High Performance Cluster at the Center for Computational Research

Introduction to RCC. September 14, 2016 Research Computing Center

Introduction to RCC. January 18, 2017 Research Computing Center

Submitting and running jobs on PlaFRIM2 Redouane Bouchouirbat

Slurm basics. Summer Kickstart June slide 1 of 49

NERSC Site Report One year of Slurm Douglas Jacobsen NERSC. SLURM User Group 2016

How to run a job on a Cluster?

Submitting batch jobs

1 Bull, 2011 Bull Extreme Computing

Introduction to SLURM & SLURM batch scripts

Submitting batch jobs Slurm on ecgate Solutions to the practicals

Bash for SLURM. Author: Wesley Schaal Pharmaceutical Bioinformatics, Uppsala University

Introduction to SLURM & SLURM batch scripts

Batch Usage on JURECA Introduction to Slurm. May 2016 Chrysovalantis Paschoulas HPS JSC

SLURM Operation on Cray XT and XE

CRUK cluster practical sessions (SLURM) Part I processes & scripts

SLURM: Resource Management and Job Scheduling Software. Advanced Computing Center for Research and Education

CNAG Advanced User Training

How to access Geyser and Caldera from Cheyenne. 19 December 2017 Consulting Services Group Brian Vanderwende

Introduction to Joker Cyber Infrastructure Architecture Team CIA.NMSU.EDU

ECE 574 Cluster Computing Lecture 4

Scheduler Optimization for Current Generation Cray Systems

Batch Systems & Parallel Application Launchers Running your jobs on an HPC machine

High Performance Computing Cluster Advanced course

Using a Linux System 6

Introduction to SLURM & SLURM batch scripts

Slurm Roadmap. Morris Jette, Danny Auble (SchedMD) Yiannis Georgiou (Bull)

Slurm Workload Manager Introductory User Training

Resource Management using SLURM

cli_filter command line filtration, manipulation, and introspection of job submissions

Sherlock for IBIIS. William Law Stanford Research Computing

Introduction to High-Performance Computing (HPC)

Introduction to UBELIX

Slurm Inter-Cluster Project. Stephen Trofinoff CSCS Via Trevano 131 CH-6900 Lugano 24-September-2014

Student HPC Hackathon 8/2018

June Workshop Series June 27th: All About SLURM University of Nebraska Lincoln Holland Computing Center. Carrie Brown, Adam Caprez

High Throughput Computing with SLURM. SLURM User Group Meeting October 9-10, 2012 Barcelona, Spain

High Scalability Resource Management with SLURM Supercomputing 2008 November 2008

High Performance Computing Cluster Basic course

RHRK-Seminar. High Performance Computing with the Cluster Elwetritsch - II. Course instructor : Dr. Josef Schüle, RHRK

Slurm Workload Manager Overview SC15

SLURM BurstBuffer Integration David Paul! Computational Systems Group! Lawrence Berkeley National Lab! September 26, 2016

Introduction to High Performance Computing at Case Western Reserve University. KSL Data Center

Slurm and Abel job scripts. Katerina Michalickova The Research Computing Services Group SUF/USIT October 23, 2012

Slurm and Abel job scripts. Katerina Michalickova The Research Computing Services Group SUF/USIT November 13, 2013

Duke Compute Cluster Workshop. 3/28/2018 Tom Milledge rc.duke.edu

Parallel Merge Sort Using MPI

Submitting batch jobs Slurm on ecgate

Kimmo Mattila Ari-Matti Sarén. CSC Bioweek Computing intensive bioinformatics analysis on Taito

Scientific Computing in practice

Duke Compute Cluster Workshop. 11/10/2016 Tom Milledge h:ps://rc.duke.edu/

Slurm at UPPMAX. How to submit jobs with our queueing system. Jessica Nettelblad sysadmin at UPPMAX

Slurm. Ryan Cox Fulton Supercomputing Lab Brigham Young University (BYU)

Choosing Resources Wisely. What is Research Computing?

Training day SLURM cluster. Context Infrastructure Environment Software usage Help section SLURM TP For further with SLURM Best practices Support TP

Introduction to HPC2N

Native SLURM on Cray XC30. SLURM Birds of a Feather SC 13

Exascale Process Management Interface

HPC Introductory Course - Exercises

Kamiak Cheat Sheet. Display text file, one page at a time. Matches all files beginning with myfile See disk space on volume

Juropa3 Experimental Partition

Slurm BOF SC13 Bull s Slurm roadmap

Duke Compute Cluster Workshop. 10/04/2018 Tom Milledge rc.duke.edu

A declarative programming style job submission filter.

LAB. Preparing for Stampede: Programming Heterogeneous Many-Core Supercomputers

MPI 1. CSCI 4850/5850 High-Performance Computing Spring 2018

Using the SLURM Job Scheduler

Choosing Resources Wisely Plamen Krastev Office: 38 Oxford, Room 117 FAS Research Computing

P a g e 1. HPC Example for C with OpenMPI

Introduction to the Cluster

Using CSC Environment Efficiently,

Training day SLURM cluster. Context. Context renewal strategy

Batch Systems. Running your jobs on an HPC machine

Intel MPI Cluster Edition on Graham A First Look! Doug Roberts

On the Use of Burst Buffers for Accelerating Data-Intensive Scientific Workflows

From Moab to Slurm: 12 HPC Systems in 2 Months. Peltz, Fullop, Jennings, Senator, Grunau

Slurm at the George Washington University Tim Wickberg - Slurm User Group Meeting 2015

Introduction to GACRC Teaching Cluster

Introduction to HPC2N

Reducing Cluster Compatibility Mode (CCM) Complexity

Introduction to GACRC Teaching Cluster PHYS8602

To connect to the cluster, simply use a SSH or SFTP client to connect to:

Cluster Computing in Frankfurt

Workload Managers. A Flexible Approach

CS 470 Spring Mike Lam, Professor. Performance Analysis

Brigham Young University

INTRODUCTION TO GPU COMPUTING WITH CUDA. Topi Siro

Harmonia: An Interference-Aware Dynamic I/O Scheduler for Shared Non-Volatile Burst Buffers

Transcription:

Heterogeneous Job Support Tim Wickberg SchedMD SC17

Submitting Jobs Multiple independent job specifications identified in command line using : separator The job specifications are sent to slurmctld daemon as a list in a single RPC The entire request is validated and accepted or rejected Response is also a list of data (e.g. job IDs) $ salloc -n1 -C haswell : -n256 -C knl bash

Batch Jobs Job components specified using : command line separator OR Use #SBATCH options in script separating components using #SBATCH packjob Script runs on first component specified $ echo my.bash #!/bin/bash #SBATCH -n1 -C haswell #SBATCH packjob #SBATCH -n256 -C knl $ sbatch my.bash

Job Data Structure Each component of a heterogeneous job has its own job structure entry Head job has pointers to all components (like job arrays) New fields JobID - Unique for each component of the heterogeneous job PackJobID - Common value for all components PackJobOffset - Unique for each component, zero origin PackJobIdSet - List of all job IDs in the heterogeneous job

Sample Job Data Job ID Pack Job ID Pack Job Offset Pack Job ID Set 123 123 0 123-127 124 123 1 123-127 125 123 2 123-127 126 123 3 123-127 127 123 4 123-127

Job Management Standard format ID for managing heterogeneous jobs is <PackJobID>+<PackJobOffset> $ squeue --job=93 JOBID PARTITION NAME USER ST TIME NODES NODELIST 93+0 debug test adam R 4:56 1 nid00001 93+1 debug test adam R 4:56 2 nid000[10-11] 93+2 debug test adam R 4:56 4 nid000[20-23]

Job Management Examples # Update all components of a heterogeneous job $ scontrol update jobid=93 timelimit=1-0 # Update specific component of a heterogeneous job $ scontrol update jobid=123+1 account=abc # Cancel all components of a heterogeneous job $ scancel hold 123 # Get accounting information about all components of a heterogeneous job $ sacct -j 89 # Get accounting information about specific component of a heterogeneous job $ sacct -j 89+4

Job Steps srun launches application only in PackJobOffset=0 by default Use --pack-group option to launch step in other components

Job Step Examples $ salloc -N1 : -N2 bash Granted job allocation 6819 $ squeue JOBID PARTITION NAME USER ST TIME NODES NODELIST 6819+0 debug test adam R 0:02 1 nid00001 6819+1 debug test adam R 0:02 2 nid0000[2-3] $ srun hostname nid00001 $ srun --pack-group=1 hostname nid00002 nid00003 $ srun --pack-group=0,1 --label hostname 0: nid00001 1: nid00002 2: nid00003

MPI Support Environment variables and Slurm s MPI plugins establish environment so that entire environment (possibly spanning multiple job allocations) looks like a single job allocation Job step can not span job components in Slurm version 17.11 More work required for MPI support Only OpenMPI with pmi2 plugin supported today and special Slurm configuration required to enable use (SchedulerParameters=enable_pack_step) Addressed in version 18.08

Environment Variables Component specific information identified with PACK_GROUP_# suffix Otherwise global job information reported SLURM_JOB_ID=6819 SLURM_JOB_ID_PACK_GROUP_0=6819 SLURM_JOB_ID_PACK_GROUP_0=6820 SLURM_JOB_NODELIST=nid0000[1-3] SLURM_JOB_NODELIST_PACK_GROUP_0=nid00001 SLURM_JOB_NODELIST_PACK_GROUP_1=nid0000[2-3]

Burst Buffers Tied to specific job ID Use persistent burst buffer to access from all components #!/bin/bash #SBATCH -n1 -C haswell #BB create_persistent name=alpha capacity=10tb access=striped type=scratch #DW persistentdw name=alpha #SBATCH packjob #SBATCH -n256 -C knl #DW persistentdw name=alpha

Scheduling Only the backfill scheduler will allocate resources All components must be allocated resources at the same time Backfill scheduler resource reservations for all components synchronized Limits of all job components considered before trying to start any component All components must be allocated resources on different nodes (mostly a limitation of MPI API)

Limitations Arrays of heterogeneous jobs not supported All components must run in same cluster (not across federation) Not supported with Cray ALPS Limited support for steps spanning heterogeneous jobs until version 18.08