Versions and 14.11

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

Slurm Birds of a Feather

Slurm Version Overview

Introduction to Slurm

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

Heterogeneous Job Support

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

1 Bull, 2011 Bull Extreme Computing

SLURM Operation on Cray XT and XE

Directions in Workload Management

Hosts & Partitions. Slurm Training 15. Jordi Blasco & Alfred Gil (HPCNow!)

Resource Management at LLNL SLURM Version 1.2

Slurm Workload Manager Introductory User Training

High Scalability Resource Management with SLURM Supercomputing 2008 November 2008

Slurm Workload Manager Overview SC15

Scheduling By Trackable Resources

High Performance Computing Cluster Advanced course

Introduction to High-Performance Computing (HPC)

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

High Performance Computing Cluster Basic course

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

How to run a job on a Cluster?

Slurm basics. Summer Kickstart June slide 1 of 49

Federated Cluster Support

Slurm Burst Buffer Support

Scheduler Optimization for Current Generation Cray Systems

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

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

Graham vs legacy systems

Slurm Support for Linux Control Groups

Submitting batch jobs

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

Choosing Resources Wisely. What is Research Computing?

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

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

An Introduction to Gauss. Paul D. Baines University of California, Davis November 20 th 2012

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

Using a Linux System 6

Extending SLURM with Support for GPU Ranges

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

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

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

CEA Site Report. SLURM User Group Meeting 2012 Matthieu Hautreux 26 septembre 2012 CEA 10 AVRIL 2012 PAGE 1

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

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

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

Chapter 3. Design of Grid Scheduler. 3.1 Introduction

Using the SLURM Job Scheduler

Managing and Deploying GPU Accelerators. ADAC17 - Resource Management Stephane Thiell and Kilian Cavalotti Stanford Research Computing Center

SLURM Simulator improvements and evaluation

Moab Workload Manager on Cray XT3

Submitting and running jobs on PlaFRIM2 Redouane Bouchouirbat

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

A declarative programming style job submission filter.

Introduction to SLURM & SLURM batch scripts

An introduction to checkpointing. for scientific applications

Introduction to High-Performance Computing (HPC)

Chapter 1: Distributed Information Systems

Adaptive Cluster Computing using JavaSpaces

Linux Clusters Institute: Scheduling

Sherlock for IBIIS. William Law Stanford Research Computing

HPC Introductory Course - Exercises

QoS-Aware Admission Control in Heterogeneous Datacenters

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

Introduction to GACRC Teaching Cluster

Designing and Building Efficient HPC Cloud with Modern Networking Technologies on Heterogeneous HPC Clusters

Using and Modifying the BSC Slurm Workload Simulator. Slurm User Group Meeting 2015 Stephen Trofinoff and Massimo Benini, CSCS September 16, 2015

Processes and Threads

Submitting batch jobs Slurm on ecgate Solutions to the practicals

Vulkan: Scaling to Multiple Threads. Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics

Introduction to GACRC Teaching Cluster PHYS8602

CNAG Advanced User Training

Moab Passthrough. Administrator Guide February 2018

Good to Great: Choosing NetworkComputer over Slurm

CSCS Proposal writing webinar Technical review. 12th April 2015 CSCS

Leveraging Flash in HPC Systems

Introduction to GACRC Teaching Cluster

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

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

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

CHAPTER 7 CONCLUSION AND FUTURE SCOPE

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

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

Brigham Young University

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

Linux Clusters Institute: Scheduling and Resource Management. Brian Haymore, Sr IT Arch - HPC, University of Utah May 2017

Grid Computing with Voyager

Training day SLURM cluster. Context. Context renewal strategy

Introduction to SLURM & SLURM batch scripts

LRZ Site Report. Athens, Juan Pancorbo Armada

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

Exascale Process Management Interface

Whitepaper: Back Up SAP HANA and SUSE Linux Enterprise Server with SEP sesam. Copyright 2014 SEP

Requirement and Dependencies

Gustavo Alonso, ETH Zürich. Web services: Concepts, Architectures and Applications - Chapter 1 2

Introduction to RCC. September 14, 2016 Research Computing Center

Dynamic RDMA Credentials

Cluster Computing. Resource and Job Management for HPC 16/08/2010 SC-CAMP. ( SC-CAMP) Cluster Computing 16/08/ / 50

Introduction to RCC. January 18, 2017 Research Computing Center

Guide to SATA Hard Disks Installation and RAID Configuration

Transcription:

Slurm Update Versions 14.03 and 14.11 Jacob Jenson jacob@schedmd.com Yiannis Georgiou yiannis.georgiou@bull.net

V14.03 - Highlights Support for native Slurm operation on Cray systems (without ALPS) Run multiple jobs per node. Status running jobs with sstat Full accounting support for job steps Run multiple jobs/steps in background from the same session New partition configuration parameters AllowAccounts DenyAccounts AllowQOS DenyQOS

V14.03 - Highlights Load based scheduling Allocate Least Loaded Nodes to maximize serial job performance SelectTypeParameters=CR_LLN Support for enterprise-wide and cluster resources (Licenses Management) Improved user support for fault-tolerance Through the use of hot spare resources A pool of hot-spare resources can be used to replace failed or failing resources in the current allocation Extending a job's time limit to recover from failures

V14.11 - Highlights Core specialization Improved job array performance and scalability Support for heterogeneous generic resources New user options to set the CPU governor Automatic job requeue policy based on exit value API usage statistics by user, type, count and time consumed

V14.11 - Highlights Communication gateway nodes Support for non-consumable generic resources SelectTypeParameters option CR_PACK_NODES Cray support for Multiple-Program Multiple-Data Job "reboot" option for Linux clusters Database performance enhancements

V14.11 - Highlights Layouts Framework Generic Resource accounting information with sacct New QOS Limit : MinCPUs Write slurm configuration on a file with scontrol Plugins to improve message fowarding logic

V14.11 Core Specialization Support for reserving cores on a compute node for system services Uses Linux cgroup Minimizes system noise Specialized cores can be reserved on each node by default in slurm.conf Application can modify default specialized core count --core-spec=# Change from default requires whole node allocation

V14.11 Job Arrays New job array data structure Individual job records created as needed Typically when a task is allocated resources rather than at submit time Many APIs modified to operate on job arrays instead of individual job records Removed 64,000 job array size limit Practical limit 1,000,000 tasks

V14.11 Job Array v14.03 60k tasks v14.11 60k tasks v14.11 1m tasks Submit (sbatch) 2.6 sec 0.02 sec 0.02 sec Status (squeue) 0.2 sec 0.02 sec 0.03 sec Cancel (scancel) 0.2 sec 0.01 sec 0.01 sec

V14.11 Heterogeneous Generic Resources Support different Generic Resource types Use case: User specification of desired GPU types --gres=gpu:kepler:1 --gres=gpu:kepler:1,gpu:tesla:1 --gres=gpu:2 Any GPU type is acceptable

V14.11 Power Management Users can now set CPU governor or frequency Governor Options OnDemand, Performance, PowerSave, Conservative and UserSpace Usage --cpu-freq=ondemand --cpu-freq=high CPU governor and frequency are preserved with job preemption, including gang scheduling

V14.11 API Statistics from sdiag $ sdiag. Remote Procedure Call statistics by message type REQUEST_JOB_INFO_SINGLE ( 2021) count:36 ave_time:228 total_time:8225 REQUEST_NODE_INFO ( 2007) count:36 ave_time:201 total_time:7246 REQUEST_BUILD_INFO ( 2001) count:24 ave_time:232 total_time:5570 REQUEST_PING ( 1008) count:24 ave_time:163 total_time:3912 REQUEST_COMPLETE_BATCH_SCRIPT ( 5018) count:16 ave_time:439 total_time:7037 REQUEST_SUBMIT_BATCH_JOB ( 4003) count:9 ave_time:432 total_time:3888.. Remote Procedure Call statistics by user jacob ( 1234) count:190 ave_time:1838 total_time:349302 joseph ( 1235) count:26 ave_time:351 total_time:9147. sdiag shows information related to slurmctld execution about: threads, agents, jobs, and scheduling algorithms. The goal is to obtain data from slurmctld behavior helping to adjust configuration parameters or queues policies.

V14.11 Communication Gateway Many simultaneous messages from compute nodes to slurmctld on the head node may cause performance problems Communication gateway nodes collect and combine messages to minimize load on slurmctld Adds message fan-in capability to match previous fan-out Compute slurmd slurmctld Gateway slurmd Compute slurmd Compute slurmd Compute slurmd

V14.11 SelectTypeParameters CR_Pack_Nodes Rather than evenly distributing a job's tasks across allocated nodes, pack them as tightly as possible on the nodes. Two node allocation with 8 cores each and 10 tasks Default Behavior Core 1 Task 0 Core 2 Task 1 Core 1 Task 5 Core 2 Task 6 CR_Pack_Nodes Tux001 Tux002 Tux001 Tux002 Core 1 Task 0 Core 2 Task 1 Core 1 Task 8 Core 2 Task 9 Core 3 Task 2 Core 3 Task 7 Core 3 Task 2 Core 3 Core 4 Task 3 Core 4 Task 8 Core 4 Task 3 Core 4 Core 5 Task 4 Core 5 Task 9 Core 5 Task 4 Core 5 Core 6 Core 6 Core 6 Task 5 Core 6 Core 7 Core 7 Core 7 Task 6 Core 7 Core 8 Core 8 Core 8 Task 7 Core 8

V14.11 Reboot Option Job reboot option for Linux clusters Invokes the configured RebootProgram to reboot nodes allocated to a job before it begins execution Clean environment

V14.11 Database Speed Massive database performance enhancements Primarily benefit systems running many short lived jobs 1001 node registrations 1001 job starts 14.03 7.05 sec 5.14 sec 14.11 3.20 sec 0.10 sec

V14.11 Layouts Framework Not a plugin, a new framework Containing layouts as plugins Generic and simple insertion of new information types Features Easy and fast browsing Simple browsing inside entities relations Indexed and constant time browsing, optimized access Quick creation of layouts Code factorization of main workflow Configuration extension Extended slurm parser

V14.11 Message Forwarding Optimizations Provides an opportunity to choose message forwarding nodes based on patterns, other than the TreeWidth Parameter. Can off load some communication overhead from slurmctld. Plugin Implementations RoutePlugin=route/default (functions using treewidth) RoutePlugin=route/topology (functions using underlying network topology description)