Using Kure and Killdevil

Slides:



Advertisements
Similar presentations
NERCS Users’ Group, Oct. 3, 2005 Interconnect and MPI Bill Saphir.
Advertisements

Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
TTU High Performance Computing User Training: Part 2 Srirangam Addepalli and David Chaffin, Ph.D. Advanced Session: Outline Cluster Architecture File System.
Software Tools Using PBS. Software tools Portland compilers pgf77 pgf90 pghpf pgcc pgCC Portland debugger GNU compilers g77 gcc Intel ifort icc.
Using Kure and Topsail Mark Reed Grant Murphy Charles Davis ITS Research Computing.
Job Submission on WestGrid Feb on Access Grid.
Overview of Research Computing ITS Research Computing Mark Reed.
Getting Started on Topsail Charles Davis ITS Research Computing April 8, 2009.
Quick Tutorial on MPICH for NIC-Cluster CS 387 Class Notes.
High Performance Computing (HPC) at Center for Information Communication and Technology in UTM.
Getting Started on Emerald ITS- Research Computing Group.
HPCC Mid-Morning Break Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery Introduction to the new GPU (GFX) cluster.
MIGRATING TO THE SHARED COMPUTING CLUSTER (SCC) SCV Staff Boston University Scientific Computing and Visualization.
Project Overview:. Longhorn Project Overview Project Program: –NSF XD Vis Purpose: –Provide remote interactive visualization and data analysis services.
Research Computing with Newton Gerald Ragghianti Newton HPC workshop Sept. 3, 2010.
High Performance Computing G Burton – ICG – Oct12 – v1.1 1.
 Accessing the NCCS Systems  Setting your Initial System Environment  Moving Data onto the NCCS Systems  Storing Data on the NCCS Systems  Running.
Getting Started on Topsail Mark Reed Charles Davis ITS Research Computing.
WORK ON CLUSTER HYBRILIT E. Aleksandrov 1, D. Belyakov 1, M. Matveev 1, M. Vala 1,2 1 Joint Institute for nuclear research, LIT, Russia 2 Institute for.
Tools and Utilities for parallel and serial codes in ENEA-GRID environment CRESCO Project: Salvatore Raia SubProject I.2 C.R. ENEA-Portici. 11/12/2007.
Introduction to HPC resources for BCB 660 Nirav Merchant
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
Introduction to the HPCC Jim Leikert System Administrator High Performance Computing Center.
VIPBG LINUX CLUSTER By Helen Wang March 29th, 2013.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
Bigben Pittsburgh Supercomputing Center J. Ray Scott
Introduction to the HPCC Dirk Colbry Research Specialist Institute for Cyber Enabled Research.
Lab System Environment
Common Practices for Managing Small HPC Clusters Supercomputing 12
CSF4 Meta-Scheduler Name: Zhaohui Ding, Xiaohui Wei
Batch Scheduling at LeSC with Sun Grid Engine David McBride Systems Programmer London e-Science Centre Department of Computing, Imperial College.
Research Computing Environment at the University of Alberta Diego Novillo Research Computing Support Group University of Alberta April 1999.
Linux & Shell Scripting Small Group Lecture 3 How to Learn to Code Workshop group/ Erin.
Nanco: a large HPC cluster for RBNI (Russell Berrie Nanotechnology Institute) Anne Weill – Zrahia Technion,Computer Center October 2008.
1 Lattice QCD Clusters Amitoj Singh Fermi National Accelerator Laboratory.
Getting Started on Emerald Research Computing Group.
Software Tools Using PBS. Software tools Portland compilers pgf77 pgf90 pghpf pgcc pgCC Portland debugger GNU compilers g77 gcc Intel ifort icc.
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Portable Batch System – Definition and 3 Primary Roles Definition: PBS is a distributed workload management system. It handles the management and monitoring.
Introduction to Hartree Centre Resources: IBM iDataPlex Cluster and Training Workstations Rob Allan Scientific Computing Department STFC Daresbury Laboratory.
University of Illinois at Urbana-Champaign Using the NCSA Supercluster for Cactus NT Cluster Group Computing and Communications Division NCSA Mike Showerman.
How to use HybriLIT Matveev M. A., Zuev M.I. Heterogeneous Computations team HybriLIT Laboratory of Information Technologies (LIT), Joint Institute for.
Advanced topics Cluster Training Center for Simulation and Modeling September 4, 2015.
Getting Started: XSEDE Comet Shahzeb Siddiqui - Software Systems Engineer Office: 222A Computer Building Institute of CyberScience May.
Cliff Addison University of Liverpool NW-GRID Training Event 26 th January 2007 SCore MPI Taking full advantage of GigE.
CCJ introduction RIKEN Nishina Center Kohei Shoji.
Debugging Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
Wouter Verkerke, NIKHEF 1 Using ‘stoomboot’ for NIKHEF-ATLAS batch computing What is ‘stoomboot’ – Hardware –16 machines, each 2x quad-core Pentium = 128.
NREL is a national laboratory of the U.S. Department of Energy, Office of Energy Efficiency and Renewable Energy, operated by the Alliance for Sustainable.
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
An Brief Introduction Charlie Taylor Associate Director, Research Computing UF Research Computing.
Advanced Computing Facility Introduction
Compute and Storage For the Farm at Jlab
HPC usage and software packages
Using Longleaf ITS Research Computing
Hodor HPC Cluster LON MNG HPN Head Node Comp Node Comp Node Comp Node
Constructing a system with multiple computers or processors
Using Dogwood Instructor: Mark Reed
CCR Advanced Seminar: Running CPLEX Computations on the ISE Cluster
Advanced Computing Facility Introduction
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
High Performance Computing in Bioinformatics
Constructing a system with multiple computers or processors
Using Dogwood Instructor: Mark Reed
Introduction to High Performance Computing Using Sapelo2 at GACRC
Quick Tutorial on MPICH for NIC-Cluster
Working in The IITJ HPC System
H2020 EU PROJECT | Topic SC1-DTH | GA:
Presentation transcript:

Using Kure and Killdevil The Title Slide: Add the name of the presentation, the appropriate division or presenter and date of the presentation. Mark Reed Sandeep Sarangi ITS Research Computing

Outline Compute Clusters Logging In File Spaces Killdevil Kure Logging In File Spaces User Environment and Applications, Compiling Job Management Basic content slide: Add slide title and slide text in the appropriate places. To create a new slide, go to “Insert > New Slide” from the main menu.

Links UNC Research Computing Getting started Killdevil page http://its.unc.edu/research Getting started Killdevil page http://help.unc.edu/CCM3_031537 Killdevil FAQ http://help.unc.edu/CCM3_031548 Getting started Kure page http://help.unc.edu/ccm3_015682

What is a compute cluster? What exactly is Killdevil? Kure? The Title Slide: Add the name of the presentation, the appropriate division or presenter and date of the presentation. 4

What is a compute cluster? Some Typical Components Compute Nodes Interconnect Shared File System Software Operating System (OS) Job Scheduler/Manager Mass Storage

Compute Cluster Advantages fast interconnect, tightly coupled aggregated compute resources can run parallel jobs to access more compute power and more memory large (scratch) file spaces installed software base scheduling and job management high availability data backup

Multi-Core Computing The trend in High Performance Computing is towards multi-core or many core computing. More cores at slower clock speeds for less heat Dual and quad core processors are now common. Soon 64+ core processors will be common

Kure A HPC/HTC research compute cluster in RC Named after the beach in North Carolina It’s pronounced like the Nobel prize winning physicist and chemist, Madame Curie

Kure Compute Cluster Heterogeneous Research Cluster Hewlett Packard Blades 200+Compute Nodes, mostly Xeon 5560 2.8 GHz Nehalem Microarchitecture Dual socket, quad core 48 GB memory over 1800 cores some higher memory nodes Infiniband 4x QDR priority usage for patrons Buy in is cheap Storage /netscr – 197 TB Isilon space

Kure Cont. The original configuration of Kure was mostly homogeneous but it became increasingly heterogeneous as patrons added to it. Most (non-patron) compute nodes are 48 GB but there are additional high memory nodes 3 nodes each with 192 GB of memory 2 nodes each with 96 GB of memory patron nodes with 72 GB of memory

Multi-Purpose Killdevil Cluster High Performance Computing Large parallel jobs, high speed interconnect High Throughput Computing (HTC) high volume serial jobs Large memory jobs special nodes for extreme memory GPGPU computing computing on Nvidia processors

Killdevil Nodes Three types of nodes: compute nodes large memory nodes GPGPU nodes

Killdevil Cluster – Compute Nodes Intel Xeon processors, Model X5670 Dual socket hex core (12 cores per node) 2.93 GHz processors for each core 48 or 96 GB memory per node

Killdevil Cluster – Compute Nodes Intel Xeon processors, Model E5-2670 Dual socket oct core (16 cores per node) 2.60 GHz processors for each core 64 GB memory per node

Killdevil Cluster – Compute Nodes 68 nodes with 64 GB memory per node 604nodes with 48 GB memory per node 68 nodes with 96 GB memory total of 740 nodes with 9152 cores plus GPU and large memory nodes So 774 nodes with 9600 cores total

Killdevil Extreme Memory Nodes 2 nodes each with 1 TB of memory extremely large shared memory node! Intel Xeon Model X7550 32 cores per node 2.0 GHz processors Use the bigmem queue

Killdevil GPGPU Computing General Purpose computing on Graphics Processing Units (GPGPU) 32 compute nodes are paired with 64 GPU’s in a 2:1 ratio this is configurable and may vary compute nodes are Intel Xeon X5650, 2.67 GHz, 12 cores, 48 GB memory nodes GPUs are Nvidia Tesla (M2070), each with 448 compute cores Use the gpu queue

Infiniband Connections Connection comes in single (SDR), double (DDR), and quad data rates (QDR). Now also FDR and EDR. Killdevil is QDR. Single data rate is 2.5 Gbit/s in each direction per link. Links can be aggregated - 1x, 4x, 12x. Killdevil is 4x. Links use 8B/10B encoding —10 bits carry 8 bits of data — useful data transmission rate is four-fifths the raw rate. Thus single, double, and quad data rates carry 2, 4, or 8 Gbit/s respectively. Data rate for Killdevil is 32 Gb/s or 4 GB/s (4x QDR).

Login to Killdevil/Kure Use ssh to connect: ssh killdevil.unc.edu ssh kure.unc.edu SSH Secure Shell with Windows see http://shareware.unc.edu/software.html For use with X-Windows Display: ssh –X killdevil.unc.edu or ssh –X kure.unc.edu ssh –Y killdevil.unc.edu or ssh –Y kure.unc.edu Off-campus users (i.e. domains outside of unc.edu) must use VPN connection

File Spaces

Killdevil File Spaces Home directories Scratch Space Mass Storage /nas02/home/<a>/<b>/<onyen> a = first letter of onyen, b = second letter of onyen hard limit of 15 GB Scratch Space NOT backed up purged regularly (21 days or less) run jobs with large output in these spaces /netscr – 197 TB (tuned for small files) /lustre – 126 TB (tuned for large files) Mass Storage ~/ms

Kure File Spaces Home directories Scratch Space Mass Storage /nas02/home/<a>/<b>/<onyen> a = first letter of onyen, b = second letter of onyen hard limit of 15 GB Scratch Space NOT backed up purged regularly (21 days or less) run jobs with large output in these spaces /netscr – 197 TB (tuned for small files) Mass Storage ~/ms

File System Notes Note that the same home directory is mounted on Killdevil and Kure Check your home file space usage with the quota command quota –s (this uses more readable units) Lustre file space in Killdevil is attached via Infiniband and may be faster Best practice for jobs with large output is to run them in scratch space, tar and compress results, and store them in mass storage.

Mass Storage “To infinity … and beyond” - Buzz Lightyear long term archival storage access via ~/ms looks like ordinary disk file system – data is actually stored on tape “limitless” capacity data is backed up For storage only, not a work directory (i.e. don’t run jobs from here) if you have many small files, use tar or zip to create a single file for better performance Sign up for this service on onyen.unc.edu “To infinity … and beyond” - Buzz Lightyear

User Environment and Applications, Compiling Code Modules

Modules The user environment is managed by modules. They provide a convenient way to access software applications Modules modify the user environment by modifying and adding environment variables such as PATH or LD_LIBRARY_PATH Typically you set these once and leave them Note there are two module settings, one for your current environment and one to take affect on your next login (e.g. batch jobs running on compute nodes)

Common Module Commands module avail module avail apps module help Change Current Shell module list module add module rm Login version module initlist module initadd module initrm More on modules see http://help.unc.edu/CCM3_006660

Compiling on Killdevil/Kure Serial Programming Suites for C, C++, Fortran90, Fortran77, etc Intel Compilers icc, icpc, ifort GNU gcc, g++, gfortran Portland Group (PGI) pgcc, pgCC, pgf90, pgf77 Generally speaking the Intel or PGI compilers will give slightly better performance

Parallel Jobs with MPI There are three implementations of the MPI standard installed on both systems: mvapich mvapich2 openmpi Performance is similar for all three, all three run on the IB fabric. Mvapich is the default. Openmpi and mvapich2 have more the MPI-2 features implemented.

Compiling MPI programs Use the MPI wrappers to compile your program mpicc, mpiCC, mpif90, mpif77 the wrappers will find the appropriate include files and libraries and then invoke the actual compiler for example, mpicc will invoke either gcc, pgcc or icc depending upon which module you have loaded

Compiling on Killdevil/Kure Parallel Programming MPI (see previous page) OpenMP Compiler flag: -openmp for Intel -fopenmp for GNU -mp for PGI Must set OMP_NUM_THREADS in submission script

Job Scheduling and Management The Title Slide: Add the name of the presentation, the appropriate division or presenter and date of the presentation. LSF 32

What does a Job Scheduler and batch system do? Manage Resources allocate user tasks to resource monitor tasks process control manage input and output report status, availability, etc enforce usage policies

Job Scheduling Systems Allocates compute nodes to job submissions based on user priority, requested resources, execution time, etc. Many types of schedulers Load Sharing Facility (LSF) – Used by Killdevil/Kure IBM LoadLeveler Portable Batch System (PBS) Sun Grid Engine (SGE) Simple Linux Utility for Resource Management (SLURM)

LSF All Research Computing clusters use LSF to do job scheduling and management LSF (Load Sharing Facility) is a (licensed) product from Platform Computing (now owned by IBM) Fairly distribute compute nodes among users enforce usage policies for established queues most common queues: int, now, week, month RC uses Fair Share scheduling, not first come, first served (FCFS) LSF commands typically start with the letter b (as in batch), e.g. bsub, bqueues, bjobs, bhosts, … see man pages for much more info!

Simplified view of LSF job dispatched to run on available host which satisfies job requirements Jobs Queued job_J job_F myjob job_7 Login Node job routed to queue bsub –q week myjob user logged in to login node submits job

Running Programs on Killdevil Upon ssh to Killdevil/Kure, you are on the Login node. Programs SHOULD NOT be run on Login node. Submit programs to one of the many, many compute nodes. Submit jobs using Load Sharing Facility (LSF) via the bsub command.

Common batch commands bsub - submit jobs bqueues – view info on defined queues bqueues –l week bkill – stop/cancel submitted job bjobs – view submitted jobs bjobs –u all bhist – job history bhist –l <jobID>

Common batch commands bhosts – status and resources of hosts (nodes) bpeek – display output of running job Use man pages to get much more info! man bjobs

Submitting Jobs: bsub Command Submit Jobs - bsub Run large jobs out of scratch space, smaller jobs can run out of your home space bsub [-bsub_opts] executable [-exec_opts] Common bsub options: –o <filename> –o out.%J -q <queue name> -q week -R “resource specification” -R “span[ptile=8]” -n <number of processes> used for parallel, MPI jobs

Two methods to submit jobs: bsub example: submit the executable job, myexe, to the week queue and redirect output to the file out.<jobID> (default is to mail output) Method 1: Command Line bsub –q week –o out.%J myexe Method 2: Create a file (details to follow) called, for example, myexe.bsub, and then submit that file. Note the redirect symbol, < bsub < myexe.bsub

Method 2 cont. The file you submitted will contain all the bsub options you want in it, so for this example myexe.bsub will look like this #BSUB –q week #BSUB –o out.%J myexe This is actually a shell script so the top line could be the normal #!/bin/csh, etc and you can run any commands you would like. if this doesn’t mean anything to you then nevermind :)

Batch Command Line Method Parallel Job example Batch Command Line Method bsub –q week –o out.%J -n 64 mpirun myParExe Batch File Method bsub < myexe.bsub where myexe.bsub will look like this #BSUB –q week #BSUB –o out.%J #BSUB –n 64 mpirun myParallelExe

Minor Killdevil caveats Memory limits: Killdevil has a default memory limit of 4 GB for a job- if you need more than the default, use the “-M” LSF option: bsub –q week –o out.%J –M 9 myExe PI groups: On Killdevil when you submit a job make sure you use the correct PI group (only applicable if you belong to more than one PI group) by using the “-G” LSF option: bsub –q week –G itsrc_grp myExe

Minor Killdevil caveats (cont’d) Using the correct PI group is important for bookkeeping we do in regard to cluster usage by the PI groups To check the PI groups to which you belong: bugroup | grep <onyen>

Interactive Jobs To run long shell scripts on Kure, use int (interactive) queue bsub –q int –Ip /bin/bash This bsub command provides a prompt on compute node Can run program or shell script interactively from compute node on Killdevil use hour or day as needed bsub –q hour –Ip /bin/bash

Specialty Scripts There are specialty scripts provided on Kure for the user convenience. Batch scripts bmatlab, bsas, bstata X-window scripts xmatlab, xsas, xstata Interactive scripts imatlab, istata Killdevil only provides the *matlab scripts listed above

MPI/OpenMP Training Courses are taught throughout year by Research Computing http://learnit.unc.edu/workshops http://help.unc.edu/CCM3_008194 See schedule for next course MPI OpenMP

Further Help with Killdevil/Kure More details can be found on the Getting Started help documents: http://help.unc.edu/CCM3_031537 - Killdevil http://help.unc.edu/ccm3_015682 - Kure For assistance with Killdevil/Kure, please contact the ITS Research Computing group Email: research@unc.edu Phone: 919-962-HELP Submit help ticket at http://help.unc.edu For immediate assistance on a particular command, see the manual pages man <command>