High Performance Computing



Similar documents
Cluster Computing With R

Streamline Computing Linux Cluster User Training. ( Nottingham University)

Grid 101. Grid 101. Josh Hegie.

Introduction to Sun Grid Engine (SGE)

1.0. User Manual For HPC Cluster at GIKI. Volume. Ghulam Ishaq Khan Institute of Engineering Sciences & Technology

An Introduction to High Performance Computing in the Department

Grid Engine Users Guide p1 Edition

Tutorial: Using WestGrid. Drew Leske Compute Canada/WestGrid Site Lead University of Victoria

User s Manual

SGE Roll: Users Guide. Version Edition

Linux für bwgrid. Sabine Richling, Heinz Kredel. Universitätsrechenzentrum Heidelberg Rechenzentrum Universität Mannheim. 27.

Grid Engine Basics. Table of Contents. Grid Engine Basics Version 1. (Formerly: Sun Grid Engine)

Using WestGrid. Patrick Mann, Manager, Technical Operations Jan.15, 2014

Getting Started with HPC

Beyond Windows: Using the Linux Servers and the Grid

High Performance Computing Facility Specifications, Policies and Usage. Supercomputer Project. Bibliotheca Alexandrina

Manual for using Super Computing Resources

Introduction to Running Hadoop on the High Performance Clusters at the Center for Computational Research

Parallel Computing using MATLAB Distributed Compute Server ZORRO HPC

GRID Computing: CAS Style

New High-performance computing cluster: PAULI. Sascha Frick Institute for Physical Chemistry

The SUN ONE Grid Engine BATCH SYSTEM

High Performance Computing with Sun Grid Engine on the HPSCC cluster. Fernando J. Pineda

The RWTH Compute Cluster Environment

Introduction to ACENET Accelerating Discovery with Computational Research May, 2015

Hodor and Bran - Job Scheduling and PBS Scripts

Introduction to Linux and Cluster Basics for the CCR General Computing Cluster

Work Environment. David Tur HPC Expert. HPC Users Training September, 18th 2015

HPC at IU Overview. Abhinav Thota Research Technologies Indiana University

How To Run A Tompouce Cluster On An Ipra (Inria) (Sun) 2 (Sun Geserade) (Sun-Ge) 2/5.2 (

SLURM Workload Manager

OpenMP & MPI CISC 879. Tristan Vanderbruggen & John Cavazos Dept of Computer & Information Sciences University of Delaware

Parallel Debugging with DDT

How To Run A Steady Case On A Creeper

Introduction to Running Computations on the High Performance Clusters at the Center for Computational Research

Debugging and Profiling Lab. Carlos Rosales, Kent Milfeld and Yaakoub Y. El Kharma

The Asterope compute cluster

CycleServer Grid Engine Support Install Guide. version 1.25

LSKA 2010 Survey Report Job Scheduler

Simple Introduction to Clusters

Introduction to parallel computing and UPPMAX

Installing and running COMSOL on a Linux cluster

Automating Big Data Benchmarking for Different Architectures with ALOJA

Grid Engine. Application Integration

The CNMS Computer Cluster

MPI / ClusterTools Update and Plans

PBS Tutorial. Fangrui Ma Universit of Nebraska-Lincoln. October 26th, 2007

Running applications on the Cray XC30 4/12/2015

Miami University RedHawk Cluster Working with batch jobs on the Cluster

Using ESXi with PowerChute Business Edition

Linux Labs: mini survival guide

Tutorial-4a: Parallel (multi-cpu) Computing

Grid Engine Training Introduction

Clusters: Mainstream Technology for CAE

Notes on the SNOW/Rmpi R packages with OpenMPI and Sun Grid Engine

Matlab on a Supercomputer

Grid Engine 6. Troubleshooting. BioTeam Inc.

Introduction to the SGE/OGS batch-queuing system

Distributed convex Belief Propagation Amazon EC2 Tutorial

HPC Wales Skills Academy Course Catalogue 2015

How to Run Parallel Jobs Efficiently

Microsoft Compute Clusters in High Performance Technical Computing. Björn Tromsdorf, HPC Product Manager, Microsoft Corporation

Using the Yale HPC Clusters

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

High Performance Computing. Course Notes HPC Fundamentals

Secure Shell. The Protocol

Installing a Symantec Backup Exec Agent on a SnapScale Cluster X2 Node or SnapServer DX1 or DX2. Summary

ICS 351: Today's plan

Agenda. HPC Software Stack. HPC Post-Processing Visualization. Case Study National Scientific Center. European HPC Benchmark Center Montpellier PSSC

Hadoop Installation. Sandeep Prasad

ABAQUS High Performance Computing Environment at Nokia

High-Performance Computing Clusters

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

PRIMERGY server-based High Performance Computing solutions

NEC HPC-Linux-Cluster

High Performance. CAEA elearning Series. Jonathan G. Dudley, Ph.D. 06/09/ CAE Associates

HPC system startup manual (version 1.30)

Working with HPC and HTC Apps. Abhinav Thota Research Technologies Indiana University

Installation Manual for Grid Monitoring Tool

Cloud Computing through Virtualization and HPC technologies

Configuring and Launching ANSYS FLUENT Distributed using IBM Platform MPI or Intel MPI

Instructions for Accessing the Advanced Computing Facility Supercomputing Cluster at the University of Kansas

Linux Cluster Computing An Administrator s Perspective

High-Performance Computing

Miami University RedHawk Cluster Connecting to the Cluster Using Windows

Quick Tutorial for Portable Batch System (PBS)

Introduction to Supercomputing with Janus

MFCF Grad Session 2015

Configuration of High Performance Computing for Medical Imaging and Processing. SunGridEngine 6.2u5

LAE Enterprise Server Installation Guide

locuz.com HPC App Portal V2.0 DATASHEET

Lab 1 Beginning C Program

AstroCompute. AWS101 - using the cloud for Science. Brendan Bouffler ( boof ) Scientific Computing AWS. ska-astrocompute@amazon.

Using Parallel Computing to Run Multiple Jobs

Transcription:

High Performance Computing at Stellenbosch University Gerhard Venter

Outline 1 Background 2 Clusters 3 SU History 4 SU Cluster 5 Using the Cluster 6 Examples

What is High Performance Computing? Wikipedia High-performance computing (HPC) uses supercomputers and computer clusters to solve advanced computing problems. The term is most commonly associated with computing used for scientific research. Supercomputers Bleeding edge technology Typically one-of-a-kind, custom design EXPENSIVE Computer cluster Group of closely linked computers working together in parallel Number of ordinary (off the shelf) processors (CPU s) Relatively inexpensive

What is High Performance Computing? Wikipedia High-performance computing (HPC) uses supercomputers and computer clusters to solve advanced computing problems. The term is most commonly associated with computing used for scientific research. Supercomputers Bleeding edge technology Typically one-of-a-kind, custom design EXPENSIVE Computer cluster Group of closely linked computers working together in parallel Number of ordinary (off the shelf) processors (CPU s) Relatively inexpensive

What is High Performance Computing? Wikipedia High-performance computing (HPC) uses supercomputers and computer clusters to solve advanced computing problems. The term is most commonly associated with computing used for scientific research. Supercomputers Bleeding edge technology Typically one-of-a-kind, custom design EXPENSIVE Computer cluster Group of closely linked computers working together in parallel Number of ordinary (off the shelf) processors (CPU s) Relatively inexpensive

What is a Computer Cluster? Wikipedia A computer cluster is a group of linked computers, working together closely so that in many respects they form a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability. Linux is the OS of choice

Background Clusters SU History SU Cluster Using the Cluster What Does a Linux Cluster Look Like? Examples

Background Clusters SU History SU Cluster Using the Cluster What Does a Linux Cluster Look Like? Examples

What Does a Linux Cluster Look Like?

What Does a Linux Cluster Look Like?

Typical Linux Cluster Layout

History at Stellenbosch University M&M had some money and the need for a fast computer Number of small white box clusters exist at SU Computer Science Physics Biochemistry Chemistry and Polymer Science M&M decided campain for a central facility that is accessable to all researchers Final funding from both M&M and the University

History at Stellenbosch University... Initial thought was roughly 70 white box PC s in a room System housed at M&M With the help of IT we decided to go with: Rack mounted system System housed in IT s data centre IT provides system admin IT manages (and upgrades) facility free of charge for all researchers

Stellenbosch University Linux Cluster Worked with IT to start an official tender process Quickly realised that it is extremely difficult to provide specifications for the system General lack of knowledge Fast changing environment No single solution that will satisfy everybody in a general environment The tender process when through two cycles and the final bid went to Sun Microsystems Job scheduler is Sun Grid Engine (SGE)

Stellenbosch University Linux Cluster... rhasatsha(the rha is pronounced as gaan in Afrikaans) a clever person/object; highly intelligent; something that acts promptly; a wide awake person/object who/that is always on the spot; a versatile person/object that can tackle anything successfully. Currently the system is still referred to as head001.sun.ac.za

Stellenbosch University Linux Cluster... rhasatsha(the rha is pronounced as gaan in Afrikaans) a clever person/object; highly intelligent; something that acts promptly; a wide awake person/object who/that is always on the spot; a versatile person/object that can tackle anything successfully. Currently the system is still referred to as head001.sun.ac.za

Rhasatsha: Specifications

Rhasatsha: Photos

How do I use the Cluster? Work through the network Need to make a ssh connection to the head node Copy data using scp Can connect from either Linux or Windows Most Linux have both ssh and scp clients installed by default Windows require the addition of a ssh and a scp client

A Typical Session Connect to the head node Access your own account/home directory No direct access to the compute nodes Setup your job Copy/create your input data and source code Port your source code or use a commercial code Specify a submit script for the scheduler Submit your job Remember that you are working on a Linux system Windows programs do not run on Linux Linux file system is case sensitive

Some Useful Commands A Linux few commands for Windows users The following commands can be executed in the ssh client Most other actions can be performed using the scp client Linux ls -lrt List files pwd Present work directory cd <dir name> Change directory SGE qsub <script name> Submit your job qstat -f Check status of your job qdel <job number> Delete a running job

Why do I Submit a Job? To run a job on the compute nodes - submit the job to SGE The job and the required resources are specified in a script The scheduler decides when and where to run the job The scheduler can handle different types of jobs The most common jobs can be classified as: Serial jobs Parallel array jobs OpenMP parallel jobs MPI (OpenMPI) parallel jobs

Serial Jobs Run a serial (single core) instance of a job No parallel computing is involved Serial Script #! / bin / bash #$ cwd j y / vrand / bin / genesis beam. dat

Array Jobs Simply run multiple instances of the same executable Each instance will typically process different input files No communication between instances Useful when doing a parametric or a DOE study Array Script #! / bin / bash #$ cwd j y #$ t 1 10 / vrand / bin / genesis beam_$ {SGE_TASK_ID }. dat

OpenMP Jobs Useful for some commercial software (e.g. DYTRAN, GENESIS) Useful for creating your own code in a shared memory parallel (SMP) environment Can automatically create parallel code using compiler flags Limited to multiple processors/cores on a single machine OpenMP Script #! / bin / bash #$ pe openmp 8 #$ cwd j y export PATH=/ apps / msc / dytran2007r1 / bin :$PATH dytran bat=no j i d =beam ncpus=$nslots

MPI Jobs Useful for some commercial software (e.g. Fluent) Useful for creating your own code in a shared or distributed memory parallel (DMP) environment Can run on a single or multiple machines No automatic generate of parallel code OpenMP Script #! / bin / bash #$ pe openmpi_ rr 128 #$ cwd j y export PATH=/ apps / Fluent. Inc / bin :$PATH export LM_LICENSE_FILE =\ / apps / Fluent. Inc / FSLM10. 8 / l i c e n s e. dat f l u e n t 3d g t$nslots ssh i wing. j n l

What if I don t Know Linux? You can still access the cluster from Windows You need ssh and scp clients for Windows Putty for the ssh client WinSCP for the scp client Obtain both from archive.sun.ac.za Example Problems

What if I don t Know Linux? You can still access the cluster from Windows You need ssh and scp clients for Windows Putty for the ssh client WinSCP for the scp client Obtain both from archive.sun.ac.za Example Problems

Example: Fluent Application Commercial CFD software with DMP parallel capabilities Very easy to use in the parallel environment Setup your model as normal Create a work directory on the cluster Copy your model to the cluster Create a submit script (work from a sample) Submit your job

Example: GENESIS Application Commercial FEM software with SMP parallel capabilities Very easy to use in the parallel environment Setup your model as normal Create a work directory on the cluster Copy your model to the cluster Create a submit script (work from a sample) Submit your job

Example: MPI Application Very simple example that shows message passing Master node is identified and sends a greeting to all worker nodes Worker nodes receive the greeting, append a response and reply back to the master node Master node prints messages from worker nodes as they are received Demonstrates the basic nature of a MPI program Write and test the source code with message passing between nodes Compile the source code on the cluster Create a submit script Submit your job

Conclusions HPC computing is a reality at SU The Linux cluster is available to all researchers Keep in mind that there is no perfect solution for a general purpose cluster The SU cluster should provide a real working environment to develop and test new HPC code and applications The SU cluster can be used as an easy stepping stone to the CHPC cluster

How do I get Access? The cluster is available to all researchers Faculty can request access themselves Post-graduate students must apply for access through their study leaders To obtain an account, please contact Johann Spies (jspies@sun.ac.za) at IT US number E-mail address Office phone number Study leader for post-graduate students Department Short motivation

Questions