Running jobs on the CS research cluster

Similar documents
CS276 Homework 1: ns-2

git Tutorial Nicola Chiapolini Physik-Institut University of Zurich June 8, 2015

git Tutorial Nicola Chiapolini Physik-Institut University of Zurich January 26, 2015

Module 2: Quantum Espresso Walkthrough

git Tutorial Nicola Chiapolini University of St. Gallen September 12, 2017

Bfh Ti Control F Ws 2008/2009 Lab Matlab-1

Lab 13: Ordinary Differential Equations

The New Horizons Geometry Visualizer: Planning the Encounter with Pluto

Administrivia. Course Objectives. Overview. Lecture Notes Week markem/cs333/ 2. Staff. 3. Prerequisites. 4. Grading. 1. Theory and application

Fundamentals of Computational Science

Scientific Programming in C XIII. Shell programming

DADI INSTITUTE OF ENGINEERING & TECHNOLOGY

LandscapeDNDC: Getting started

I zm ir I nstiute of Technology CS Lecture Notes are based on the CS 101 notes at the University of I llinois at Urbana-Cham paign

Patrol: Revealing Zero-day Attack Paths through Network-wide System Object Dependencies

Entropy-based data organization tricks for browsing logs and packet captures

Due: since the calculation takes longer than before, we ll make it due on 02/05/2016, Friday

Answers for Homework #6 for CST P

Chapter 3 Engineering Solutions. 3.4 and 3.5 Problem Presentation

EUROPEAN MIDDLEWARE INITIATIVE

Chem Compute Science Gateway for Undergraduates. Mark J. Perri, M.S. Reeves, R.M. Whitnell

Predicting the Structure of Solids by DFT

STATISTICAL PERFORMANCE

(latitudinal form of solar radiation. The part in parentheses is the 2 nd Legendre polynomial, a polynomial that integrates to zero over the sphere)

Local stageout update

Socket Programming. Daniel Zappala. CS 360 Internet Programming Brigham Young University

Today s Agenda: 1) Why Do We Need To Measure The Memory Component? 2) Machine Pool Memory / Best Practice Guidelines

Example: H 2 O (the car file)

Lecture 5b: Starting Matlab

Non-equilibrium Green s Function Calculations with TranSIESTA. a Tutorial

Continuous Performance Testing Shopware Developer Conference. Kore Nordmann 08. June 2013

MATH 350: Introduction to Computational Mathematics

Portal for ArcGIS: An Introduction

MATH 350: Introduction to Computational Mathematics

Spatial Analytics Workshop

Sheffield Computing. Matt Robinson Elena Korolkova Paul Hodgson

A GUI FOR EVOLVE ZAMS

High-Performance Scientific Computing

Workshop on: ATOMIC STRUCTURE AND TRANSITIONS: COMPUTATION USING SUPERSTRUCTURE PRO- GRAM

Graphical User Interfaces for Emittance and Correlation Plot. Henrik Loos

Lecture 2: Metrics to Evaluate Systems

Database Data Mining: Practical R Enterprise and Oracle Advanced Analytics

Senior astrophysics Lab 2: Evolution of a 1 M star

Scheduling I. Today. Next Time. ! Introduction to scheduling! Classical algorithms. ! Advanced topics on scheduling

BOFH meets SystemTap: rootkits made trivial

HW8. Due: November 1, 2018

QUANTUM CHEMISTRY WITH GAUSSIAN : A VERY BRIEF INTRODUCTION (PART 2)

git Tutorial Nicola Chiapolini Physik-Institut University of Zurich March 16, 2015

Computational Material Science Part II-1: introduction. Horng-Tay Jeng ( 鄭弘泰 ) Institute of Physics, Academia Sinica

Transformation of round-trip web application to use AJAX

State of GIS at the High Performance Computing Cluster

CHEM 498Q / CHEM 630Q: Molecular Modeling of Proteins TUTORIAL #3a: Empirical force fields

Introduction to AutoDock and AutoDock Tools

Tutorial workshop on methods for large-scale phonetic data analysis

Lab 2: Photon Counting with a Photomultiplier Tube

CDS 101: Lecture 2.1 System Modeling

Infrastructure Automation with Salt

31545 Medical Imaging systems

Introduction to Computer Science and Programming for Astronomers

This tutorial is intended to familiarize you with the Geomatica Toolbar and describe the basics of viewing data using Geomatica Focus.

Lab 6: Linear Algebra

Large Scale Evaluation of Chemical Structure Recognition 4 th Text Mining Symposium in Life Sciences October 10, Dr.

Investigating Limits in MATLAB

COMS 6100 Class Notes

Autodock tutorial VINA with UCSF Chimera

ECEN 449: Microprocessor System Design Department of Electrical and Computer Engineering Texas A&M University

Solutions to EoPL3 Exercises

Introduction to MATLAB Practical 2

Lab 3: Handout Quantum-ESPRESSO: a first principles code, part 2.

Lab Manual for ICEN 553/453 Cyber-Physical Systems Fall 2018

Introduction to Portal for ArcGIS. Hao LEE November 12, 2015

YYT-C3002 Application Programming in Engineering GIS I. Anas Altartouri Otaniemi

Scripting Languages Fast development, extensible programs

The Monte Carlo Method

2.1 Computational Tractability. Chapter 2. Basics of Algorithm Analysis. Computational Tractability. Polynomial-Time

CS 370. FCFS, SJF and Round Robin. Yashwanth Virupaksha and Abhishek Yeluri

Checkpoint Questions Due Monday, October 1 at 2:15 PM Remaining Questions Due Friday, October 5 at 2:15 PM

FACTORS AFFECTING CONCURRENT TRUNCATE

Introduction to ArcGIS Server Development

Homework Assignment 4 Root Finding Algorithms The Maximum Velocity of a Car Due: Friday, February 19, 2010 at 12noon

HeidiSongs & Dolch List Correlation

MEDEA USERS GUIDE MEDEA 2.4. MEDEA Users Guide. Materials Design Inc., 2008 Page 1

Automata Theory CS S-12 Turing Machine Modifications

CPU SCHEDULING RONG ZHENG

Theory versus Experiment: Analysis and Measurements of Allocation Costs in Sorting (With Hints for Applying Similar Techniques to Garbage Collection)

APBS electrostatics in VMD - Software. APBS! >!Examples! >!Visualization! >! Contents

M. Smith. 6 September 2016 / GSAC

Big Computing in High Energy Physics. David Toback Department of Physics and Astronomy Mitchell Institute for Fundamental Physics and Astronomy

An Introduction to Matlab

MATH 333: Partial Differential Equations

Time Series Analysis with SAR & Optical Satellite Data

QUANTUM CHEMISTRY PROJECT 2: THE FRANCK CONDON PRINCIPLE

Lab 4 CAPACITORS & RC CIRCUITS

Changes in Esri GIS, practical ways to be ready for the future

Cluster Computing: Updraft. Charles Reid Scientific Computing Summer Workshop June 29, 2010

More Dynamic Programming

Multidomain Design and Optimization based on COMSOL Multiphysics: Applications for Mechatronic Devices Ara Bissal, Octavian Craciun, Veronica

Generate i/o load on your vm and use iostat to demonstrate the increased in i/o

CS425: Algorithms for Web Scale Data

Calculating K corrections using S Lang and Sherpa

Transcription:

C o m p u t e r S c i e n c e S e m i n a r s Running jobs on the CS research cluster How to get results while web surfing! by October 10, 2007

O u t l i n e Motivation Overview of CS cluster(s) Secure remote access (ssh+vnc) Monitoring multiple jobs Getting and processing results fast Find the least-loaded node Utilizing nodes remotely Summary and next

M o t i v a t i o n Why do you care? Have fun Fair-share Keep admin@cs happy Keep your advisor happy Graduate faster!

C S C l u s t e r Nodes that you can run jobs at: Cars: Old(!) desktop machines Generals: rommel, nimitz, etc. Players: pele, ziko, etc. (beware!) Newer ones: Dual/Dual (64 ct.): node00 node3f Dual/Quad (32 ct.): node40 node5f A complete list is available!

S e c u r e R e m o t e A c c e s s VNC for graphical interface How make it secure on linux/unix: ssh yournode vncserver :81 ssh -f -N -T -l erdil -L5966:localhost:5981 yournode vncviewer localhost:66 VNC server will run all the time accessible from anywhere!

S e c u r e R e m o t e A c c e s s VNC for graphical interface How make it secure on wintel+putty: ssh yournode vncserver :81 create a tunnel with putty ssh into yournode using putty vncviewer localhost:66 VNC server will run all the time accessible from anywhere!

M o n i t o r i n g M u l t i p l e J o b s Better alternatives: Condor, Sun Grid Engine, Globus(?), etc. may not always be available! Home cooked solution Keep It Simple, Stupid basic unix tools + bash commands you can carry your scripts with you!

M o n i t o r i n g M u l t i p l e J o b s Simple solution: do run program(s) get results parse results while (!satisfied) Requires interaction Slow

M o n i t o r i n g M u l t i p l e J o b s Let's try to automate things: for param in `cat parameters.txt` do./mytest $param Errors and output?

M o n i t o r i n g M u l t i p l e J o b s Errors and output: for param in `cat parameters.txt` do echo input1 yes >input.txt echo input2 no >>input.txt./mytest $param <input.txt >output.txt 2>&1 & Separate output files?

M o n i t o r i n g M u l t i p l e J o b s Separate output files: for param in `cat parameters.txt` do echo input1 yes >input${param}.txt echo input2 no >>input${param}.txt./mytest $param <input${param}.txt >output${param}.txt 2>&1 & Separate directories?

M o n i t o r i n g M u l t i p l e J o b s Separate directories: for param in `cat parameters.txt`; do for i in `seq 2 2 10`; do mkdir result_${i}_${param} cd result_${i}_${param}./mytest $param $i & cd.. Pause between sequences?

M o n i t o r i n g M u l t i p l e J o b s Pause between sequences? for param in `cat parameters.txt`; do [...] PS_OUT=`ps -ef grep mytest grep erdil grep specialinputfilename grep [...] wc -l` ((SECS=0)) while [ $PS_OUT -gt 0 ]; do echo -n $PS_OUT sleep 300 ((SECS+=300)) PS_OUT=`ps -ef grep [...]` for param in `cat parameters.txt`; do [...]

G e t t i n g r e s u l t s f a s t Home directories are on NFS! creating a network access at each read/write Run tests in local directories! $ df -lh /dev/sda5 38G 4.4G 34G 12% /var/work Parse results there Move clean and smaller result set to NFS Please clean your files afterwards! Bug those who don't (including me!)

P a s s w o r d l e s s l o g i n $ ssh-keygen -t rsa $ ls.ssh/id_rsa* id_rsa id_rsa.pub $ cat.ssh/id_rsa.pub >>.ssh/authorized_keys2 $ ssh yournode yournode$ logout $ ssh yournode uname -n yournode $

F i n d t h e L e a s t - L o a d e d N o d e Most nodes are heavily utilized Some don't: for gnrl in `cat generals.txt`; do ssh $gnrl uptime ssh $grnl free grep Mem awk '{print $3}' Pick one! Can we automate this?

F i n d m e 1 0 n o d e s Can we automate this? for node in `cat generals.txt`; do./testmachine $node & # wait until all nodes are added to list [...] # sort nodes in the order of current CPU usage cat workingnodes sort -k 2 -g awk '{print $1}' # strip the excess cat workingnodes [...] head -10 Utilize remote nodes?

U t i l i z i n g n o d e s r e m o t e l y # teststorun: a list of test scripts./getworkingnodes ${TC} >workingnodes WN=`wc -l workingnodes` if [ ${WN} -lt ${TC} ]; then fi echo not enough nodes ; exit diff -y -W 300 teststorun workingnodes awk '{print $4 $2 $1}' >matched.lst exec <matched.lst while read line; do [...]

U t i l i z e n o d e s r e m o t e l y [...] PWD=`pwd` exec <matched.lst while read line; do GNRL=`echo $line awk '{print $1}'` TSTNM=`echo $line awk '{print $2}'` TSTNR=`echo $line awk '{print $3}'` ssh -X ${GNRL} cd /var/work/erdil; /home/erdil/local/scripts/do_multiple_tests.sh ${TSTNM} ${RUNCNT} ${PWD} ${TSTNR} >run_${gnrl}.out 2>&1 & Now you can do this from NFS!

C o l l e c t r e s u l t s exec <finishedtests while read line; do TESTNUMBER=`echo $line awk '{print $1}'` GENERAL=`echo $line awk '{print $2}'` TESTDIR=`echo $line awk '{print $3}'` DU=`echo $line awk '{print $4}'` echo "ssh $GENERAL mv $TESTDIR $PWD ;" >>movescript chmod 755 movescript./movescript echo "Done."

C o l l e c t r e s u l t s a s t a r b a l l s exec <finishedtests while read line; do TESTNUMBER=`echo $line awk '{print $1}'` GENERAL=`echo $line awk '{print $2}'` TESTDIR=`echo $line awk '{print $3}'` DU=`echo $line awk '{print $4}'` echo "ssh $GENERAL mv /var/work/erdil/runtime_logs_test${testnumber}.tgz $PWD; >>moveastgzscript chmod 755 moveastgzscript./moveastgzscript echo "Done."

S u m m a r y a n d n e x t Access the cluster securely Have a remote terminal there Find free nodes Run jobs on them output to local directories Collect results Next: Parse output via matlab Use HTML templates and sed to create graphs on the fly

Q u e s t i o n s a n d C o m m e n t s Thank You! erdil@cs.binghamton.edu