Illinois Campus Cluster Program User Forum April 24, 2012 NCSA Room 1030 10:00 AM - 11:00 AM.

Slides:



Advertisements
Similar presentations
CST8177 awk. The awk program is not named after the sea-bird (that's auk), nor is it a cry from a parrot (awwwk!). It's the initials of the authors, Aho,
Advertisements

Linux commands exercise 1. What do you need, if you try to these at home? You need to download and install Ubuntu Linux from the Internet – DVD is need.
Cluster Computing at IQSS Alex Storer, Research Technology Consultant.
Shell Script Assignment 1.
Learning Unix/Linux Bioinformatics Orientation 2008 Eric Bishop.
Running Jobs on Jacquard An overview of interactive and batch computing, with comparsions to Seaborg David Turner NUG Meeting 3 Oct 2005.
Job Submission on WestGrid Feb on Access Grid.
CS Lecture 03 Outline Sed and awk from previous lecture Writing simple bash script Assignment 1 discussion 1CS 311 Operating SystemsLecture 03.
Sun Grid Engine Grid Computing Assignment – Fall 2005 James Ruff Senior Department of Mathematics and Computer Science Western Carolina University.
Introduction to MATLAB Northeastern University: College of Computer and Information Science Co-op Preparation University (CPU) 10/22/2003.
Quick Tutorial on MPICH for NIC-Cluster CS 387 Class Notes.
Lecture 01CS311 – Operating Systems 1 1 CS311 – Lecture 01 Outline Course introduction Setting up your system Logging onto the servers at OSU with ssh.
CMPE 151: Network Administration Spring Class Description Focus: system and network administration. Sequence of exercises. E.g., installing/configuring.
Illinois Campus Cluster Program User Forum October 24, 2012 Illini Union Room 210 2:00PM – 3:30PM.
Introduction to Linux and Shell Scripting Jacob Chan.
Understanding the Basics of Computational Informatics Summer School, Hungary, Szeged Methos L. Müller.
ISG We build general capability Purpose After this tutorial, you should: Be comfortable submitting work to the batch queuing system of olympus and be familiar.
Using Macs and Unix Nancy Griffeth January 6, 2014 Funding for this workshop was provided by the program “Computational Modeling and Analysis of Complex.
Shell Programming, or Scripting Shirley Moore CPS 5401 Fall August 29,
Introduction to Linux Workshop February Introduction Rob Lane & The HPC Support Team Research Computing Services CUIT.
Introduction to UNIX/Linux Exercises Dan Stanzione.
Lesson 7-Creating and Changing Directories. Overview Using directories to create order. Managing files in directories. Using pathnames to manage files.
Writing Shell Scripts ─ part 1 CSE 2031 Fall September 2015.
MySQL + PHP.  Introduction Before you actually start building your database scripts, you must have a database to place information into and read it from.
Essential Unix at ACEnet Joey Bernard, Computational Research Consultant.
Agenda User Profile File (.profile) –Keyword Shell Variables Linux (Unix) filters –Purpose –Commands: grep, sort, awk cut, tr, wc, spell.
– Introduction to the Shell 10/1/2015 Introduction to the Shell – Session Introduction to the Shell – Session 2 · Permissions · Users.
VIPBG LINUX CLUSTER By Helen Wang March 29th, 2013.
Bigben Pittsburgh Supercomputing Center J. Ray Scott
Compiled Matlab on Condor: a recipe 30 th October 2007 Clare Giacomantonio.
Additional UNIX Commands. 222 Lecture Overview  Multiple commands and job control  More useful UNIX utilities.
Introduction to Using SLURM on Discover Chongxun (Doris) Pan September 24, 2013.
Session 2 Wharton Summer Tech Camp Basic Unix. Agenda Cover basic UNIX commands and useful functions.
Module 6 – Redirections, Pipes and Power Tools.. STDin 0 STDout 1 STDerr 2 Redirections.
Quiz 15 minutes Open note, open book, open computer Finding the answer – working to get it – is what helps you learn I don’t care how you find the answer,
Using UNIX Shell Scripts Michael Griffiths Corporate Information and Computing Services The University of Sheffield
Introduction to Scripting Workshop October
Lesson 3-Touring Utilities and System Features. Overview Employing fundamental utilities. Linux terminal sessions. Managing input and output. Using special.
Cluster Computing Applications for Bioinformatics Thurs., Sept. 20, 2007 process management shell scripting Sun Grid Engine running parallel programs.
Running Parallel Jobs Cray XE6 Workshop February 7, 2011 David Turner NERSC User Services Group.
CS 245 – Part 1 Using Operating Systems and Networks for Programmers Jiang Guo Dept. of Computer Science California State University Los Angeles.
Linux+ Guide to Linux Certification, Second Edition
Portable Batch System – Definition and 3 Primary Roles Definition: PBS is a distributed workload management system. It handles the management and monitoring.
Illinois Campus Cluster Program User Forum January 24, 2012 Illini Union Room :00 AM - Noon.
Advanced topics Cluster Training Center for Simulation and Modeling September 4, 2015.
Parallel MATLAB jobs on Biowulf Dave Godlove, NIH February 17, 2016 While waiting for the class to begin, log onto Helix.
CS 403: Programming Languages Lecture 20 Fall 2003 Department of Computer Science University of Alabama Joel Jones.
Learning Unix/Linux Based on slides from: Eric Bishop.
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.
Linux Administration Working with the BASH Shell.
Introduction to Scripting Workshop February 23, 2016.
Using ROSSMANN to Run GOSET Studies Omar Laldin ( using materials from Jonathan Crider, Harish Suryanarayana ) Feb. 3, 2014.
Introduction to the Linux Command Line Interface Research Computing Systems Bob Torgerson July 19, 2016.
Advanced Computing Facility Introduction
Hackinars in Bioinformatics
PARADOX Cluster job management
Unix Scripts and PBS on BioU
HPC usage and software packages
Prepared by: Eng. Maryam Adel Abdel-Hady
Bash Introduction (adapted from chapters 1 and 2 of bash Cookbook by Albing, Vossing, & Newham) CPTE 440 John Beckett.
Some Linux Commands.
Architecture & System Overview
The Linux Operating System
Shell Script Assignment 1.
INTRODUCTION TO UNIX: The Shell Command Interface
Engineering Innovation Center
CSE 303 Concepts and Tools for Software Development
Quick Tutorial on MPICH for NIC-Cluster
Introduction to Bash Programming, part 3
Working in The IITJ HPC System
Presentation transcript:

Illinois Campus Cluster Program User Forum April 24, 2012 NCSA Room :00 AM - 11:00 AM

Welcome and Agenda Welcome General Updates – Upgrades to the Illinois Campus Cluster Program webpage – Governance – Status of the second instance of the Illinois Campus Cluster Program, Golub “Cluster Basics - Submitting arrays of serial Mathematica jobs” an Overview presented by Jonathan Manton Open Floor for User Discussion Adjourn

Illinois Campus Cluster Program Webpage Update User Discussion Forum System Status Usage/Queue Info Exchange calendar for events/outages SSH terminal (java) Globus Online interface

Governance Update Executive Governance Committee Membership Finalized – Jonathan Greenberg, Asst. Prof, Geography (Investor Forum chair) – Mark Neubauer, Asst. Prof, Physics (Investor Forum representative) – Eric Shaffer, Asst. Dir., Computational Science and Engineering (Investor Forum representative) – Patty Jones, Assoc. Dir. for Research, Beckman (OVCR representative) – Chuck Thompson, Asst. Dean and Dir., Engineering IT Shared Services (IT Governance Research Committee Representative) – Neal Merchen, Assoc. Dean for Research, ACES (Office of the Chancellor Representative) – Charley Kline, IT Architect, CITES (CIO's Office Representative) – John Towns, Dir. of Collaborative eScience Programs, NCSA (ex-officio, Manager of Illinois Campus Cluster Operators) First meeting scheduled for May 1 st Next Investor Forum being planned

Golub Status All Hardware is on site as of 4/8/2013. Worked through a power design issue with DELL. Last PM+ migrated Torque/Moab over to Golub End game schedule being developed.

Cluster Basics Submitting arrays of serial Mathematica jobs Jonathan Manton

Topics Intended Audience Introduction Conceptual Overview Job Preparation PBS File Preparation Submitting and Monitoring Post-Processing Recap

Intended Audience Intended audience is novice users Also applicable to experienced users who have never used PBS job arrays If this is not new to you, please provide feedback to improve this tutorial

Introduction This tutorial covers submitting large numbers of identical serial (vs. parallel) jobs to the cluster Each job does the same work, but on different input parameters or data sets Procedure developed for Mathematica jobs, but can be easily adapted for Matlab, C, etc. This presentation is based on a post from the user forum

Conceptual Overview Create a program that takes arguments from the command line to determine what work to do Prepare a text file that has the appropriate input parameters, each line representing one run of the program Use the PBS job array functionality to launch many jobs, each with different input parameters If necessary, consolidate the data at the end

Job Preparation Mathematica Script #!/usr/local/Mathematica-8.0/bin/math -script (* tell the shell to interpret the rest of this file using Mathematica *) (* grab the command line arguments and put them in Mathematica variables *) i = ToExpression[$CommandLine[[4]]]; j = ToExpression[$CommandLine[[5]]]; (* multiply the prime before the first argument by the prime after the second *) f[x_, y_] := NextPrime[x,-1] * NextPrime[y,1] (* format result using comma-separated values, to make post- processing easy *) fmt[x_, y_, result_] := StringJoin[ToString[x],",",ToString[y],",",ToString[result]]; (* print to standard output *) Print[StandardForm[fmt[ i, j, f[i,j] ]]];

Job Preparation Script Permissions and Input File Need to set Mathematica script file to be executable chmod a+x myscriptname.m Input file has one line per program run, arguments separated by spaces Example input text file for an array of 5 jobs:

PBS File Preparation The arguments at the top of the PBS file: – Tell the scheduler not to waste resources and to schedule many (12) jobs per node – Defines the size of the job array and the starting and ending job array indices The shell script at the bottom of the PBS file: – Figures out what job array index is running – Grabs the appropriate line from the input data file – Executes the program with those arguments – Saves output data in a filename made unique using those arguments

PBS File Preparation Example (1 of 2) #!/bin/bash # # This batch script is an example of running lots of copies of a serial # job using a single input file with one line per set of input arguments. # # Many of our "casual" users want to just run a lot of jobs, not necessarily # one job with lots of cores. # #PBS -l walltime=00:10:00 ## ## these tell the scheduler to use one core per job, and to schedule multiple ## jobs per node. On the secondary queue at least, if you don't have the ## naccesspolicy=singleuser argument, you will schedule one job per *node*, ## wasting 11 out of 12 cores for serial jobs #PBS -l nodes=1:ppn=1 #PBS -l naccesspolicy=singleuser ## #PBS -N primepair_test #PBS -q secondary ## ## This says to run with job array indices 3 through 7. These indices are used ## below to get the right lines from the input file #PBS -t 3-7 ## #PBS -j oe # CONTINUED NEXT SLIDE…

PBS File Preparation Example (2 of 2) …CONTINUED FROM PREVIOUS SLIDE ## grab the job id from an environment variable and create a directory for the ## data output export JOBID=`echo "$PBS_JOBID" | cut -d"[" -f1` mkdir $PBS_O_WORKDIR/"$JOBID" cd $PBS_O_WORKDIR/"$JOBID" module load mathematica ## grab the appropriate line from the input file. Put that in a shell variable ## named "PARAMS" export PARAMS=`cat $HOME/mexample/inputs | sed -n ${PBS_ARRAYID}p` ## grab the arguments, using the linux "cut" command to get the right field ## modify to match the number of arguments you have for your program export ST1=`echo "$PARAMS" | cut -d" " -f1` export ST2=`echo "$PARAMS" | cut -d" " -f2` ## Run Mathematica script, directing output to a file named based on the ## input parameters. The assumption is the combination of parameters is unique ## for the job. Modify for the number of parameters you have by adding $ST#. $HOME/mexample/primepair.m $ST1 $ST2 > data$ST1-$ST2

Submitting and Monitoring Submit as usual qsub job-inputarray.pbs Monitor as usual qstat | grep $USER Note that job arrays have a different job name format – Instead of a job with the name cc- mgmt1 it will be [].cc-mgmt1 – Some commands will behave differently, brackets are a special character in bash

Post-Processing The example PBS script will create a subdirectory with the same name as the job number Each job will have a different output file in that directory It is easy to consolidate the small files into one big file using the Linux cat command cat /data* > outputs.csv

Recap Create your program so it takes input from the command line Put your unique inputs, one per line, in a text file Submit the job – one instance of the program for each line in the input file Consolidate your data at the end

Open Discussion This is your opportunity to share with the Illinois Campus Cluster Program Team your thoughts. Next meeting – July timeframe (meet in summer?)

Adjourn Thank you for providing your thoughts. Please feel free to contact us at