Brigham Young University Fulton Supercomputing Lab. Ryan Cox

Similar documents
Brigham Young University

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

Before We Start. Sign in hpcxx account slips Windows Users: Download PuTTY. Google PuTTY First result Save putty.exe to Desktop

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

University at Buffalo Center for Computational Research

HPC Resources at Lehigh. Steve Anthony March 22, 2012

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

Introduction to PICO Parallel & Production Enviroment

Minnesota Supercomputing Institute Regents of the University of Minnesota. All rights reserved.

Your Microservice Layout

Introduction to the Cluster

Introduction to the Cluster

CNAG Advanced User Training

Introduction to Discovery.

Transitioning to Leibniz and CentOS 7

UAntwerpen, 24 June 2016

CENTER FOR HIGH PERFORMANCE COMPUTING. Overview of CHPC. Martin Čuma, PhD. Center for High Performance Computing

Exercises: Abel/Colossus and SLURM

Genius Quick Start Guide

Introduction to Discovery.

OBTAINING AN ACCOUNT:

Outline. March 5, 2012 CIRMMT - McGill University 2

Introduction to HPC Using the New Cluster at GACRC

Introduction to Discovery.

WVU RESEARCH COMPUTING INTRODUCTION. Introduction to WVU s Research Computing Services

LBRN - HPC systems : CCT, LSU

Sherlock for IBIIS. William Law Stanford Research Computing

SuperMike-II Launch Workshop. System Overview and Allocations

Introduction. Kevin Miles. Paul Henderson. Rick Stillings. Essex Scales. Director of Research Support. Systems Engineer.

Cluster Network Products

INTRODUCTION TO THE CLUSTER

HPC Capabilities at Research Intensive Universities

LRZ Site Report. Athens, Juan Pancorbo Armada

ACCRE High Performance Compute Cluster

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

Minnesota Supercomputing Institute Regents of the University of Minnesota. All rights reserved.

Answers to Federal Reserve Questions. Training for University of Richmond

Advanced Research Compu2ng Informa2on Technology Virginia Tech

Slurm basics. Summer Kickstart June slide 1 of 49

Introduction to High-Performance Computing (HPC)

Guillimin HPC Users Meeting March 17, 2016

Introduction to GALILEO

Submitting and running jobs on PlaFRIM2 Redouane Bouchouirbat

ACEnet for CS6702 Ross Dickson, Computational Research Consultant 29 Sep 2009

Moab, TORQUE, and Gold in a Heterogeneous, Federated Computing System at the University of Michigan

High Performance Computing Resources at MSU

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

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

Comet Virtualization Code & Design Sprint

Answers to Federal Reserve Questions. Administrator Training for University of Richmond

How to run applications on Aziz supercomputer. Mohammad Rafi System Administrator Fujitsu Technology Solutions

Heterogeneous Job Support

TECHNICAL GUIDELINES FOR APPLICANTS TO PRACE 13 th CALL (T ier-0)

Guillimin HPC Users Meeting. Bryan Caron

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

Queuing and Scheduling on Compute Clusters

New User Seminar: Part 2 (best practices)

Batch system usage arm euthen F azo he Z J. B T

X Grid Engine. Where X stands for Oracle Univa Open Son of more to come...?!?

The BioHPC Nucleus Cluster & Future Developments

Introduction to SLURM & SLURM batch scripts

Moab Workload Manager on Cray XT3

Introduction to Slurm

Habanero Operating Committee. January

Knights Landing production environment on MARCONI

Using ITaP clusters for large scale statistical analysis with R. Doug Crabill Purdue University

Introduction to High-Performance Computing (HPC)

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

Minnesota Supercomputing Institute Regents of the University of Minnesota. All rights reserved.

How to run a job on a Cluster?

Introduction to GALILEO

Slurm Birds of a Feather

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

Introduction to High Performance Computing (HPC) Resources at GACRC

Migrating from Zcluster to Sapelo

The cluster system. Introduction 22th February Jan Saalbach Scientific Computing Group

CYFRONET SITE REPORT IMPROVING SLURM USABILITY AND MONITORING. M. Pawlik, J. Budzowski, L. Flis, P. Lasoń, M. Magryś

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

Introduction to GALILEO

Martinos Center Compute Cluster

Workshop Set up. Workshop website: Workshop project set up account at my.osc.edu PZS0724 Nq7sRoNrWnFuLtBm

TECHNICAL GUIDELINES FOR APPLICANTS TO PRACE 11th CALL (T ier-0)

BRC HPC Services/Savio

HPCC User Group Meeting

Using the Yale HPC Clusters

Queue systems. and how to use Torque/Maui. Piero Calucci. Scuola Internazionale Superiore di Studi Avanzati Trieste

PART-I (B) (TECHNICAL SPECIFICATIONS & COMPLIANCE SHEET) Supply and installation of High Performance Computing System

Introduction to the NCAR HPC Systems. 25 May 2018 Consulting Services Group Brian Vanderwende

Center for Research Informatics

Leibniz Supercomputer Centre. Movie on YouTube

The Why and How of HPC-Cloud Hybrids with OpenStack

MERCED CLUSTER BASICS Multi-Environment Research Computer for Exploration and Discovery A Centerpiece for Computational Science at UC Merced

Lustre HSM at Cambridge. Early user experience using Intel Lemur HSM agent

Reduces latency and buffer overhead. Messaging occurs at a speed close to the processors being directly connected. Less error detection

Introduction to CINECA HPC Environment

pbsacct: A Workload Analysis System for PBS-Based HPC Systems

Guillimin HPC Users Meeting March 16, 2017

1 Bull, 2011 Bull Extreme Computing

LUG 2012 From Lustre 2.1 to Lustre HSM IFERC (Rokkasho, Japan)

Choosing Resources Wisely. What is Research Computing?

Transcription:

Brigham Young University Fulton Supercomputing Lab Ryan Cox SLURM User Group 2013

Fun Facts ~33,000 students ~70% of students speak a foreign language Several cities around BYU have gige at home #6 Top Entrepreneurial Programs: Undergrad (Princeton Review) Many BYU grads go on to write schedulers #1 Stone Cold Sober 15 years running (Princeton Review) #1 on 25 Colleges Where Students Are Both Hot And Smart (Business Insider / College Prowler)

Staff 4 FTEs Operations Director 2 x Systems Administrator Applications Specialist / User Support 4 Students Hardware Technician Web Developer 2 x Applications Specialist

Organization Supercomputing reports to CIO Support BYU, BYU-Idaho, BYU-Hawaii Free access for faculty, grads, undergrads, collaborators Large number of undergrad research assistants

Compute Hardware m6-320 Dell M620 blades Dual eight core Sandy Bridge (2.2 GHz) Infiniband m7-512 Dell M610 blades Dual six core Westmere (2.67 GHz) Gigabit Ethernet 8 Dell M910 blades (256 GB RAM each) 4 Privately-owned Dell blade enclosures (52 x M610's) A few GPUs, Xeon Phi, other assorted hardware Total: 12,100 cores

Using SLURM since January Switched to SLURM from Moab/Torque in January Commercial support from SchedMD Very tight timeline to switch due to license expiration and a hectic schedule No desire to immediately retrain users on SLURM

Transition to SLURM Split-brain, rolling upgrade to SLURM from Moab/Torque Moved nodes to SLURM as jobs freed and queue drained Wrapper scripts: $jobid < 4000000? That's a SLURM job! SLURM? Use SLURM wrapper Moab? Call real Torque/Moab command Heavily modified SLURM's qsub wrapper to work with our installation, should have written from scratch. ~99% compat. Wrote Moab wrappers (not contrib-worthy code, trust me)* * Contact me if you're not scared off by hacked-together PHP code from our web developer that we use in production... it does work but we don't want our names attached to it :)

What they don't know won't hurt them Users worry about change, why give advance notice? No notification whatsoever to users before switch to SLURM* Email from us: New jobs go to SLURM, your scripts and the PBS commands stay the same. Running jobs keep running Transition went well Most users oblivious, others excited to try SLURM tools Excellent support from SchedMD Few bugs Bugs typically patched within hours * Yes, we are that crazy

General policies (1 of 2) Max walltime is 16 days. Will reduce to 7 days in January What is the max walltime at your site? Shared node access Users must request memory. Enforced w/cgroups pam_namespace creates temporary /tmp and /dev/shm per user* Future: require disk allocation & use quotas? Defaults: 30 min timelimit, 512M mem/core, 1 core Each PI has a SLURM account, all accounts equal * http://tech.ryancox.net/2013/07/per-user-tmp-and-devshm-directories.html

General policies (2 of 2) GrpCPURunMins per account Staggers the job start/end times Encourages shorter jobs No maximum node/job/core count per user or account Ticket-Based multifactor (previously multifactor2) Feature-based scheduling: no requesting queue/partition

Feature-based scheduling Users select necessary node features ib, avx, sse4.2, sse4.1 Features + Lua script limits which partitions are available to the job Least capable nodes are prioritized Users don't have to watch utilization of each partition; better load balancing

Job Submit Plugin all_partitions plugin lists all partitions for lua to examine (subject to AllowGroups) If special empty partition is present, lua script knows the user didn't request a specific partition Remove any partitions they can't or shouldn't run in Example: Allow access to big memory nodes if the job needs that much memory, deny partition access if not

Transient node failures We miss Torque's ERROR handling on compute nodes Filesystem check timed out? That should clear soon Drain/resume tracking of transient failures + real hardware problems + others: too complex Health check scripts create 10 minute reservations Scripts run at least once every ten minutes

User Experience Wrote whypending tool to make obvious SLURM messages even more obvious. Shows partial/full idle count within partition, taking into account memory req Web services API WIP: Custom script parses Gaussian params and others to submit sane resource requests 2-5 minute training videos on YouTube channel Web-based Script Generator (SLURM/PBS) https://marylou.byu.edu/documentation/slurm/script-generator

Script Generator (1 of 2)

Script Generator (2 of 2)

Wishlist (1 of 2) Custom job submit plugin error messages (in 13.12) Only n jobs per user or account accrue queue time for priority calculation purposes (eliminate benefits of queue stuffing) Include accrued CPU time of running jobs in fairshare calculations Currently, infrequent users can flood the system with jobs until some of the jobs finish Transient failure handler like Torque pbs_mom's ERROR: messages (we use reservations instead)

Wishlist (2 of 2) Per node per job stats Memory and CPU efficiency (used / allocated) cgroup enhancement: catch processes launched through ssh Create cgroups on each allocated node for a job even if the node has no job steps (conf option?) Use /etc/ssh/sshrc to assign to job cgroup ssh{,d}_config: AcceptEnv/SendEnv SLURM_JOB_ID Finish jobacct_gather/cgroup plugin (13.12?) New option? scontrol cgroup addpid jobid=<jobid> pid=<pid>

Questions?