Using The Cluster. What We’ll Be Doing Add users Run Linpack Compile code Compute Node Management.

Slides:



Advertisements
Similar presentations
© 2007 IBM Corporation IBM Global Engineering Solutions IBM Blue Gene/P Job Submission.
Advertisements

Chapter 3. MPI MPI = Message Passing Interface Specification of message passing libraries for developers and users –Not a library by itself, but specifies.
Parallel ISDS Chris Hans 29 November 2004.
Using the Argo Cluster Paul Sexton CS 566 February 6, 2006.
Setting up of condor scheduler on computing cluster Raman Sehgal NPD-BARC.
Southgreen HPC system Concepts Cluster : compute farm i.e. a collection of compute servers that can be shared and accessed through a single “portal”
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 Job Submission on the Olympus Cluster J. DePasse; S. Brown, PhD; T. Maiden Pittsburgh Supercomputing Center Public Health.
Job Submission on WestGrid Feb on Access Grid.
Introducing the Command Line CMSC 121 Introduction to UNIX Much of the material in these slides was taken from Dan Hood’s CMSC 121 Lecture Notes.
Sun Grid Engine Grid Computing Assignment – Fall 2005 James Ruff Senior Department of Mathematics and Computer Science Western Carolina University.
Using the P4-Xeon cluster HPCCC, Science Faculty, HKBU Usage Seminar for the 64-nodes P4-Xeon Cluster in Science Faculty March 24, 2004.
Quick Tutorial on MPICH for NIC-Cluster CS 387 Class Notes.
Asynchronous Solution Appendix Eleven. Training Manual Asynchronous Solution August 26, 2005 Inventory # A11-2 Chapter Overview In this chapter,
Lecture 02CS311 – Operating Systems 1 1 CS311 – Lecture 02 Outline UNIX/Linux features – Redirection – pipes – Terminating a command – Running program.
Linux System Administration LINUX SYSTEM ADMINISTRATION.
Introduction to UNIX/Linux Exercises Dan Stanzione.
Rocks cluster : a cluster oriented linux distribution or how to install a computer cluster in a day.
Thrive Installation.
 Accessing the NCCS Systems  Setting your Initial System Environment  Moving Data onto the NCCS Systems  Storing Data on the NCCS Systems  Running.
Lab How to Use WANem Last Update Copyright 2011 Kenneth M. Chipps Ph.D. 1.
Electronic Visualization Laboratory, University of Illinois at Chicago MPI on Argo-new Venkatram Vishwanath Electronic Visualization.
PVM. PVM - What Is It? F Stands for: Parallel Virtual Machine F A software tool used to create and execute concurrent or parallel applications. F Operates.
Guide to Linux Installation and Administration, 2e1 Chapter 8 Basic Administration Tasks.
Sun Grid Engine. Grids Grids are collections of resources made available to customers. Compute grids make cycles available to customers from an access.
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
MSc. Miriel Martín Mesa, DIC, UCLV. The idea Installing a High Performance Cluster in the UCLV, using professional servers with open source operating.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
VIPBG LINUX CLUSTER By Helen Wang March 29th, 2013.
Bigben Pittsburgh Supercomputing Center J. Ray Scott
Linux Administration. Pre-Install Different distributions –Redhat, Caldera, mandrake, SuSE, FreeBSD Redhat Server Install –Check HCL –Significant issues.
Network Queuing System (NQS). Controls batch queues Only on Cray SV1 Presently 8 queues available for general use and one queue for the Cray analyst.
HPC for Statistics Grad Students. A Cluster Not just a bunch of computers Linked CPUs managed by queuing software – Cluster – Node – CPU.
Automated Scheduling and Operations for Legacy Applications.
APST Internals Sathish Vadhiyar. apstd daemon should be started on the local resource Opens a port to listen for apst client requests Runs on the host.
1 High-Performance Grid Computing and Research Networking Presented by David Villegas Instructor: S. Masoud Sadjadi
Cluster Software Overview
Getting Started on Emerald Research Computing Group.
How to for compiling and running MPI Programs. Prepared by Kiriti Venkat.
Software Tools Using PBS. Software tools Portland compilers pgf77 pgf90 pghpf pgcc pgCC Portland debugger GNU compilers g77 gcc Intel ifort icc.
Cluster Computing Applications for Bioinformatics Thurs., Sept. 20, 2007 process management shell scripting Sun Grid Engine running parallel programs.
The Saigon CTT Chapter 10 Managing Users. The Saigon CTT  Objectives  Define the requirements for user accounts  Explain group and group accounts 
System Administration. Logging in as System Administrator System Admin login (aka superuser, aka root) –login id: root –Default PS1 prompt: # –Home directory:
ISG We build general capability Introduction to Olympus Shawn T. Brown, PhD ISG MISSION 2.0 Lead Director of Public Health Applications Pittsburgh Supercomputing.
Linux Operations and Administration
CSC414 “Introduction to UNIX/ Linux” Lecture 6. Schedule 1. Introduction to Unix/ Linux 2. Kernel Structure and Device Drivers. 3. System and Storage.
Portable Batch System – Definition and 3 Primary Roles Definition: PBS is a distributed workload management system. It handles the management and monitoring.
Hands-On Microsoft Windows Server 2008 Chapter 5 Configuring Windows Server 2008 Printing.
Agenda The Bourne Shell – Part I Redirection ( >, >>,
Advanced topics Cluster Training Center for Simulation and Modeling September 4, 2015.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Cliff Addison University of Liverpool NW-GRID Training Event 26 th January 2007 SCore MPI Taking full advantage of GigE.
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.
A Web Based Job Submission System for a Physics Computing Cluster David Jones IOP Particle Physics 2004 Birmingham 1.
An Brief Introduction Charlie Taylor Associate Director, Research Computing UF Research Computing.
1 High-Performance Grid Computing and Research Networking Presented by Javier Delgodo Slides prepared by David Villegas Instructor: S. Masoud Sadjadi
Advanced Computing Facility Introduction
GRID COMPUTING.
Welcome to Indiana University Clusters
PARADOX Cluster job management
OpenPBS – Distributed Workload Management System
Welcome to Indiana University Clusters
Using Paraguin to Create Parallel Programs
Paul Sexton CS 566 February 6, 2006
Compiling and Job Submission
Sun Grid Engine.
Introduction to High Performance Computing Using Sapelo2 at GACRC
Quick Tutorial on MPICH for NIC-Cluster
Working in The IITJ HPC System
Presentation transcript:

Using The Cluster

What We’ll Be Doing Add users Run Linpack Compile code Compute Node Management

Add a User

Adding a User Account Execute: # useradd

Output from ‘useradd’ Creating user: gb make: Entering directory `/var/411' /opt/rocks/bin/411put --comment="#" /etc/auto.home 411 Wrote: /etc/411.d/etc.auto..home Size: 514/207 bytes (encrypted/plain) Alert: sent on channel with master /opt/rocks/bin/411put --comment="#" /etc/passwd 411 Wrote: /etc/411.d/etc.passwd Size: 2565/1722 bytes (encrypted/plain) Alert: sent on channel with master /opt/rocks/bin/411put --comment="#" /etc/shadow 411 Wrote: /etc/411.d/etc.shadow Size: 1714/1093 bytes (encrypted/plain) Alert: sent on channel with master /opt/rocks/bin/411put --comment="#" /etc/group 411 Wrote: /etc/411.d/etc.group Size: 1163/687 bytes (encrypted/plain) Alert: sent on channel with master make: Leaving directory `/var/411'

411 Secure Information Service Secure NIS replacement Distributes files within the cluster  Default 411 configuration is to distribute user account files, but one can use 411 to distribute any file to all nodes

411 Secure Information Service When a 411 monitored file changes, an alert is multicast  When a node receives an alert, it pulls the file associated with the alert Compute nodes periodically pull all files under the control of 411

User Accounts All user accounts are housed on the frontend under:  /export/home/ All nodes use ‘autofs’ to automatically mount the user directory when a user logs into a node  This method provides for a simple global file system On the frontend and every compute node, the user account is available at “/home/ ”

Deleting a User Use: # userdel Note: the user’s home directory (/export/home/ ) will not be removed  For safety, this must be removed by hand

Running Linpack

Linpack Linpack is a floating point matrix multiply benchmark Measures sustained floating-point operations per second  “Giga flops” - 1 billion floating point operations per second This benchmark is used to rate the Top500 fastest supercomputers in the world We use it as a comprehensive test of the system  Stresses the CPU  Uses the MPICH layer  Sends a modest number of messages  Ensures a user can launch a job on all nodes  Can run through queueing system to also test queueing system

Running Linpack From the Command Line Make a ‘machines’ file  Execute: vi machines  Input the following: compute-0-0 Get a test Linpack configuration file: $ cp /var/www/html/rocks-documentation/3.2.0/examples/HPL.dat. # su - Login as non-root user

Run It Load your ssh key into your environment: $ /opt/mpich/gnu/bin/mpirun -nolocal -np 2 \ -machinefile machines /opt/hpl/gnu/bin/xhpl $ ssh-agent $SHELL $ ssh-add Execute Linpack: Flags:  -nolocal : don’t run Linpack on host that is launching the job  -np 2 : give the job 2 processors  -machinefile : run the job on the nodes specified in the file ‘machines’

Successful Linpack Output The following parameter values will be used: N : 2000 NB : 64 P : 1 Q : 2 PFACT : Left Crout Right NBMIN : 8 NDIV : 2 RFACT : Right BCAST : 1ringM DEPTH : 1 SWAP : Mix (threshold = 80) L1 : transposed form U : transposed form EQUIL : yes ALIGN : 8 double precision words The matrix A is randomly generated for each test. - The following scaled residual checks will be computed: 1) ||Ax-b||_oo / ( eps * ||A||_1 * N ) 2) ||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) 3) ||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) - The relative machine precision (eps) is taken to be e-16 - Computational tests pass if scaled residuals are less than 16.0 ============================================================================ T/V N NB P Q Time Gflops W11R2L e ||Ax-b||_oo / ( eps * ||A||_1 * N ) = PASSED ||Ax-b||_oo / ( eps * ||A||_1 * ||x||_1 ) = PASSED ||Ax-b||_oo / ( eps * ||A||_oo * ||x||_oo ) = PASSED

Running Linpack Through a Job Management System Get a test SGE submission script: $ cp /var/www/html/rocks-documentation/3.2.0/examples/sge-qsub-test.sh. Examine the script  Most of the script concerns adding (and removing) a temporary ssh key to your environment

/opt/mpich/gnu/bin/mpirun -nolocal -np $NSLOTS \ -machinefile $TMPDIR/machines \ /opt/hpl/gnu/bin/xhpl Important Part Of The Script At the top  Requested number of processors In the middle  What job to run #$ -pe mpi 2

Submit the Job Send the job off to SGE: $ qsub sge-qsub-test.sh

Monitoring the Job Command line $ qstat -f queuename qtype used/tot. load_avg arch states compute-0-0q BIP 2/ glinux 3 0 sge-qsub-t bruno r 06/03/ :48:15 MASTER 0 sge-qsub-t bruno r 06/03/ :48:15 SLAVE Status

Job Output SGE writes 4 files:  sge-qsub-test.sh.e0 Stderr for job ‘0’  sge-qsub-test.sh.o0 Stdout for job ‘0’  sge-qsub-test.sh.pe0 Stderr from the queueing system regarding job ‘0’  sge-qsub-test.sh.po0 Stdout from the queueing system regarding job ‘0’

Removing a Job from the Queue Execute: $ qdel queuename qtype used/tot. load_avg arch states compute-0-0q BIP 2/ glinux 3 0 sge-qsub-t bruno r 06/03/ :48:15 MASTER 0 sge-qsub-t bruno r 06/03/ :48:15 SLAVE Find the job id with ‘qstat -f’ To remove the job above: $ qdel 3

Monitoring SGE Via The Web Setup access to web server  Local access Configure X: redhat-config-xfree86  Remote access Open http port in “/etc/sysconfig/iptables”  Or, port forwarding “ssh -L 8080:localhost:80” Then point web browser to “

Frontend Web Page

SGE Job Monitoring

Ganglia Monitoring

Scaling Up Linpack Tell SGE to allocate more processors  Edit ‘sge-qsub-test.sh’ and change: #$ -pe mpi 2  To: #$ -pe mpi 4 Tell Linpack to use more processors  Edit ‘HPL.dat’ and change 1 Ps  To: 2 Ps  The number of processors Linpack uses is P * Q

Scaling Up Linpack Submit the larger job $ qsub sge-qsub-test.sh To make Linpack use more memory (and increase performance, edit ‘HPL.dat’ and change 1000 Ns  To: 4000 Ns  Linpack operates on an N * N matrix  Goal: consume 75% of memory on each compute node

Using Linpack Over Myrinet Scale up the job in the same manner as described in the previous slides. Submit the Myrinet-based job $ qsub sge-qsub-test-myri.sh Get a test Myrinet SGE submission script: $ cp /var/www/html/rocks-documentation/3.2.0/examples/sge-qsub-test-myri.sh.

Executing Commands Across the Cluster Collect “ps” status  cluster-ps  To get the status of all the processes being executed by user ‘bruno’ Execute: cluster-ps bruno Kill processes  cluster-kill  To kill all the Linpack jobs Execute: cluster-kill xhpl Execute any command line executable  cluster-fork  To restart the ‘autofs’ service on all compute nodes Execute: cluster-fork “service autofs restart”

Executing Commands Across the Cluster All cluster-* commands can query the database to generate a node list  To restart the ‘autofs’ service only on the nodes in cabinet 1 Execute: cluster-fork --query=“select name from nodes where rack=1” “service autofs restart”

Compile Code

Compile Test MPI Program with gcc Compile cpi $ cp /opt/mpich/gnu/examples/cpi.c. $ cp /opt/mpich/gnu/examples/Makefile. $ make cpi /opt/mpich/gnu/bin/mpicc -c cpi.c /opt/mpich/gnu/bin/mpicc -o cpi cpi.o -lm Run it $ /opt/mpich/gnu/bin/mpirun -nolocal -np 2 -machinefile machines $HOME/cpi/cpi Process 0 on compute-2-1.local pi is approximately , Error is wall clock time = Process 1 on compute-2-1.local

Compile Test MPI Program with gcc Compile cpi $ cp /opt/mpich/gnu/examples/cpi.c $HOME $ cp /opt/mpich/gnu/examples/Makefile $HOME $ make cpi /opt/mpich/gnu/bin/mpicc -c cpi.c /opt/mpich/gnu/bin/mpicc -o cpi cpi.o -lm Run it $ /opt/mpich/gnu/bin/mpirun -nolocal -np 2 -machinefile machines $HOME/cpi Process 0 on compute-2-1.local pi is approximately , Error is wall clock time = Process 1 on compute-2-1.local

Compile MPI Code with Intel Compiler Simply change ‘gnu’ to ‘intel’ $ cp /opt/mpich/intel/examples/cpi.c $HOME $ cp /opt/mpich/intel/examples/Makefile $HOME $ make cpi /opt/mpich/intel/bin/mpicc -c cpi.c /opt/mpich/intel/bin/mpicc -o cpi cpi.o -lm

Bring In Your Own Code FTP your code to the frontend Let’s compile and try to run it!

Compute Node Management

Adding a Compute Node Execute “insert-ethers” If adding to a specific rack:  For example, if adding to cabinet 2: “insert-ethers --cabinet=2” If adding to a specific location within a rack:  “insert-ethers --cabinet=2 rank=4”

Replacing a Dead Node To replace node compute-0-4: # insert-ethers --replace=“compute-0-4” Remove the dead node Power up the new node Put the new node into “installation mode”  Boot with Rocks Base CD, PXE boot, etc. The next node that issues a DHCP request will assume the role of compute-0-4

Removing a Node If decommissioning a node: # insert-ethers --remove=“compute-0-2” Insert-ethers will remove all traces of compute-0- 2 from the database and restart all relevant services  You will not be asked for any input