BIMSB Bioinformatics Coordination

Slides:



Advertisements
Similar presentations
© Crown copyright Met Office Met Office Unified Model I/O Server Paul Selwood.
Advertisements

Running DiFX with SGE/OGE Helge Rottmann Max-Planck-Institut für Radioastronomie Bonn, Germany DiFX Meeting Sydney.
Parallel ISDS Chris Hans 29 November 2004.
Using the Argo Cluster Paul Sexton CS 566 February 6, 2006.
Southgreen HPC system Concepts Cluster : compute farm i.e. a collection of compute servers that can be shared and accessed through a single “portal”
PBS Job Management and Taskfarming Joachim Wagner
Introduction to HPC Workshop October Introduction Rob Lane HPC Support Research Computing Services CUIT.
High Performance Computing
DCC/FCUP Grid Computing 1 Resource Management Systems.
Job Submission on WestGrid Feb on Access Grid.
6/2/20071 Grid Computing Sun Grid Engine (SGE) Manoj Katwal.
Sun Grid Engine Grid Computing Assignment – Fall 2005 James Ruff Senior Department of Mathematics and Computer Science Western Carolina University.
Quick Tutorial on MPICH for NIC-Cluster CS 387 Class Notes.
Installing and running COMSOL on a Windows HPCS2008(R2) cluster
HPCC Mid-Morning Break Interactive High Performance Computing Dirk Colbry, Ph.D. Research Specialist Institute for Cyber Enabled Discovery.
JGI/NERSC New Hardware Training Kirsten Fagnan, Seung-Jin Sul January 10, 2013.
Thomas Finnern Evaluation of a new Grid Engine Monitoring and Reporting Setup.
Gilbert Thomas Grid Computing & Sun Grid Engine “Basic Concepts”
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.
VIPBG LINUX CLUSTER By Helen Wang March 29th, 2013.
Bigben Pittsburgh Supercomputing Center J. Ray Scott
March 3rd, 2006 Chen Peng, Lilly System Biology1 Cluster and SGE.
GXP Make Kenjiro Taura. GXP make What is it? –Another parallel & distributed make What is it useful for? –Running jobs with dependencies in parallel –Running.
17-April-2007 High Performance Computing Basics April 17, 2007 Dr. David J. Haglin.
Advanced SCC Usage Research Computing Services Katia Oleinik
Building a Real Workflow Thursday morning, 9:00 am Greg Thain University of Wisconsin - Madison.
HPC for Statistics Grad Students. A Cluster Not just a bunch of computers Linked CPUs managed by queuing software – Cluster – Node – CPU.
E-science grid facility for Europe and Latin America E2GRIS1 Gustavo Miranda Teixeira Ricardo Silva Campos Laboratório de Fisiologia Computacional.
Weekly Report By: Devin Trejo Week of June 14, 2015-> June 20, 2015.
1 High-Performance Grid Computing and Research Networking Presented by David Villegas Instructor: S. Masoud Sadjadi
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.
Threaded Programming Lecture 2: Introduction to OpenMP.
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 HPC Workshop October Introduction Rob Lane & The HPC Support Team Research Computing Services CUIT.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Portable Batch System – Definition and 3 Primary Roles Definition: PBS is a distributed workload management system. It handles the management and monitoring.
Advanced topics Cluster Training Center for Simulation and Modeling September 4, 2015.
Cliff Addison University of Liverpool NW-GRID Training Event 26 th January 2007 SCore MPI Taking full advantage of GigE.
Active-HDL Server Farm Course 11. All materials updated on: September 30, 2004 Outline 1.Introduction 2.Advantages 3.Requirements 4.Installation 5.Architecture.
Advanced SCC Usage Research Computing Services Katia Oleinik
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarksEGEE-III INFSO-RI MPI on the grid:
CFI 2004 UW A quick overview with lots of time for Q&A and exploration.
Grid Computing: An Overview and Tutorial Kenny Daily BIT Presentation 22/09/2016.
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
Gridengine Configuration review ● Gridengine overview ● Our current setup ● The scheduler ● Scheduling policies ● Stats from the clusters.
Advanced Computing Facility Introduction
Intermediate SCC Usage
Compute and Storage For the Farm at Jlab
GRID COMPUTING.
Auburn University
Welcome to Indiana University Clusters
OpenPBS – Distributed Workload Management System
Welcome to Indiana University Clusters
Using Paraguin to Create Parallel Programs
CS 425 / ECE 428 Distributed Systems Fall 2016 Nov 10, 2016
Joker: Getting the most out of the slurm scheduler
Hodor HPC Cluster LON MNG HPN Head Node Comp Node Comp Node Comp Node
HPCC New User Training Getting Started on HPCC Resources
HPCC New User Training Getting Started on HPCC Resources
Paul Sexton CS 566 February 6, 2006
Compiling and Job Submission
Requesting Resources on an HPC Facility
Michael P. McCumber Task Force Meeting April 3, 2006
Sun Grid Engine.
Software - Operating Systems
Quick Tutorial on MPICH for NIC-Cluster
Working in The IITJ HPC System
Presentation transcript:

BIMSB Bioinformatics Coordination 18-01-2010 Sun GridEngine BIMSB Bioinformatics Coordination 18-01-2010

TOC Why use a scheduler Concepts Use cases NFS bottleneck Getting infos Q/A

Why BIMSB cluster consisting of 100 4-core nodes and 5 “bignodes” (16 cores, 256GB RAM) Use of computing resources as optimal as possible “Fair” sharing of resources wanted Manual managment of “who can run what on which node” not feasible

Concepts list of pending jobs queue1 queue2 queue3

Concepts ... list of pending jobs node1 node2 node3 node4 nodeX queue1

Concepts ... list of pending jobs node1 node2 node3 node4 nodeX queue1 scheduler job job job queue2 job job job queue3 job job ...

Concepts (cont.) Queues defined: standard, standard-big (slots = cores) high, high-big (slots=cores/4) longrun (1 slot per host) interactive (1 slot per host) Resources Measured resources (load, free mem. ) Admin. defined Consumables: licenses Boolean: “has scratch disk”, “special software installed”

Job prioritization 1.0 * priority (self or administrator) 0.1 * urgency (waiting time, resource consumption) 0.01 * ticket (past cluster usage) => scheduling priority lot of fine tuning possible

Run a simple command: qsub [options] -b y <my command> common options: -v <ENV_VAR> -l <resource>[=limit] e.q. -l virtual_free=80G -cwd -e <filename> -o <filename> -N <job_name> -q <quename>[@<node>]

Run a cluster script: qsub [options] <my script> Cluster script: #!/bin/sh #$ some option #$ another option my_command another_command

Interactive usage: # qrsh [options] # qrsh [options]<command> Can also start an X11 application: Add “ForwardX11” to your ~/.ssh/config file

Parallel applications Different ways to run jobs in parallel: Multithreaded (single node) Multiprocess (single node) make based (single/multi node) Array jobs (multi node) MPI jobs (multi node)

Single node parallelism Program is multi-threaded / multi-process: # qsub -pe smp <slots> <my_program> <programm options> make sure <my_program> only runs <slots> number of processes or threads, programs usually have a option for this Make based: # qsub -pe smp <slots> make -j <slots> <my_make_target> If variable number of slots requested, use $NSLOTS

Multi node parallelism Make based: # qmake -pe make <slots> <make_target> Requests a fixed number of slots for whole runtime of qmake # qmake <make_target> -j <slots> Variable number of slots depending on current runnable subjobs

Multi node parallelism (cont.) MPI (Message Passing Interface): Programming interface for inter-process communication Installed implementation: OpenMPI Application needs to be programmed to use this # qsub -pe orte <slots> -b y "mpiexec -n <slots> <mpiprogram>" mpiblast installed, see http://bbc.mdc-berlin.de/howto/

Multi node parallelism (cont.) Array jobs Ideal if you can split up your input or task into multiple similar parts # qsub -t 1-<slots> <my job> Starts <slots> number of <my job> differing only in $SGE_TASK_ID

NFS bottleneck All important data is on fileservers Fileservers have bandwidth of ~ 200 MB/s Nodes bandwidth ~ 100 MB/s If many nodes read from same fileserver at same time, bandwidth exhaustion => Worst case: all jobs stalled

NFS bottleneck (cont.) 2 Strategies against: Delayed job start File stageing Delayed start, simple method: Estimate how long reading input takes Delay start of jobs accordingly Unreliable

NFS bottleneck (cont.) Delayed start, more difficult method: Put jobs on hold # qsub -h u <job> When a job/task is finished with reading input, release next one qrls <job_id.task_id> Needs some scripting and tuning, good for recurring tasks and pipelines

NFS bottleneck (cont.) File staging: Before start of job, copy input files to local directory on all nodes /tmp/<my_dir> on all nodes /scratch on some bignodes (-l scratch) Make sure no NFS bottleneck in staging phase !!!

“NoNo’s“ You can ssh into all nodes for controlling your job status but not for running computations !!! If you qrsh/qlogin into a node, start a job in background and logout, the job keeps running but you give back slots -> Don’t !!! Don’t run multiprocess / multithreaded programs without requesting slots

Getting info Ganglia: http://141.80.186.22/ganglia/?c=BIMSB

Getting info (cont.) About the cluster queues in general: # qstat -g c About scheduler decisions # qstat -j [<job_id>] About a finished job # qacct -j <job_id> About jobs on a specific host # qhost -h <hostname> -j About job priorisation # qstat -pri

In case of an error Contact me, best by email: andreas.kuntzagk@mdc-berlin.de Submit following informations: What did you do Full command line Which node Which directory Expected behaviour Experienced behaviour Full error messages

Q/A