Parallel ISDS Chris Hans 29 November 2004.

Slides:



Advertisements
Similar presentations
Lecture 12: MapReduce: Simplified Data Processing on Large Clusters Xiaowei Yang (Duke University)
Advertisements

Practical techniques & Examples
© 2007 IBM Corporation IBM Global Engineering Solutions IBM Blue Gene/P Job Submission.
Running DiFX with SGE/OGE Helge Rottmann Max-Planck-Institut für Radioastronomie Bonn, Germany DiFX Meeting Sydney.
Using the Argo Cluster Paul Sexton CS 566 February 6, 2006.
Chess Problem Solver Solves a given chess position for checkmate Problem input in text format.
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”
Condor and GridShell How to Execute 1 Million Jobs on the Teragrid Jeffrey P. Gardner - PSC Edward Walker - TACC Miron Livney - U. Wisconsin Todd Tannenbaum.
Tutorial on MPI Experimental Environment for ECE5610/CSC
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.
Scientific Programming OpenM ulti- P rocessing M essage P assing I nterface.
Reference: Message Passing Fundamentals.
A Grid Parallel Application Framework Jeremy Villalobos PhD student Department of Computer Science University of North Carolina Charlotte.
4/26/05Han: ELEC72501 Department of Electrical and Computer Engineering Auburn University, AL K.Han Development of Parallel Distributed Computing System.
High Performance Computing (HPC) at Center for Information Communication and Technology in UTM.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
Research Computing with Newton Gerald Ragghianti Newton HPC workshop Sept. 3, 2010.
High Performance Computation --- A Practical Introduction Chunlin Tian NAOC Beijing 2011.
Parallel Processing LAB NO 1.
Parallel Programming with R ENDER AHMET YURT
Gilbert Thomas Grid Computing & Sun Grid Engine “Basic Concepts”
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.
Using The Cluster. What We’ll Be Doing Add users Run Linpack Compile code Compute Node Management.
Bigben Pittsburgh Supercomputing Center J. Ray Scott
A Metadata Based Approach For Supporting Subsetting Queries Over Parallel HDF5 Datasets Vignesh Santhanagopalan Graduate Student Department Of CSE.
March 3rd, 2006 Chen Peng, Lilly System Biology1 Cluster and SGE.
Docking with Autodock and Molecular Dynamic analysis with Gromacs: Part of Indonesian Herbal Farmacological activities screening in Silico On a Cluster.
Parallelization: Area Under a Curve. AUC: An important task in science Neuroscience – Endocrine levels in the body over time Economics – Discounting:
Grid Computing I CONDOR.
17-April-2007 High Performance Computing Basics April 17, 2007 Dr. David J. Haglin.
MPI and High Performance Computing: Systems and Programming Barry Britt, Systems Administrator Department of Computer Science Iowa State University.
Introduction to the Grid N1™ Grid Engine 6 Software.
How to get started on cees Mandy SEP Style. Resources Cees-clusters SEP-reserved disk20TB SEP reserved node35 (currently 25) Default max node149 (8 cores.
HYDRA: Using Windows Desktop Systems in Distributed Parallel Computing Arvind Gopu, Douglas Grover, David Hart, Richard Repasky, Joseph Rinkovsky, Steve.
Using the BYU Supercomputers. Resources Basic Usage After your account is activated: – ssh You will be logged in to an interactive.
HYDRA: Using Windows Desktop Systems in Distributed Parallel Computing Arvind Gopu, Douglas Grover, David Hart, Richard Repasky, Joseph Rinkovsky, Steve.
Message Passing Programming Model AMANO, Hideharu Textbook pp. 140-147.
HPC for Statistics Grad Students. A Cluster Not just a bunch of computers Linked CPUs managed by queuing software – Cluster – Node – CPU.
Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers Chapter 2: Message-Passing Computing LAM/MPI at the.
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.
1 HPCI Presentation Kulathep Charoenpornwattana. March 12, Outline Parallel programming with MPI Running MPI applications on Azul & Itanium Running.
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.
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.
Debugging Lab Antonio Gómez-Iglesias Texas Advanced Computing Center.
Introduction to HPC Workshop March 1 st, Introduction George Garrett & The HPC Support Team Research Computing Services CUIT.
Slide 1 User-Centric Workload Analytics: Towards Better Cluster Management Saurabh Bagchi Purdue University Joint work with: Subrata Mitra, Suhas Javagal,
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
An Brief Introduction Charlie Taylor Associate Director, Research Computing UF Research Computing.
Advanced Computing Facility Introduction
Auburn University
OpenPBS – Distributed Workload Management System
Using Paraguin to Create Parallel Programs
Hodor HPC Cluster LON MNG HPN Head Node Comp Node Comp Node Comp Node
CommLab PC Cluster (Ubuntu OS version)
NGS computation services: APIs and Parallel Jobs
Paul Sexton CS 566 February 6, 2006
Introduction to HPC Workshop
CCR Advanced Seminar: Running CPLEX Computations on the ISE Cluster
Quick Tutorial on MPICH for NIC-Cluster
Working in The IITJ HPC System
Presentation transcript:

Parallel ISDS Chris Hans 29 November 2004

Parallel ISDS2 Organization  Basics of Parallel Computing Structural Computational  Coding for Distributed Computing  Examples  Resources at Duke CSEM Cluster

29 November 2004Parallel ISDS3 Basics of Distributed Computing  Online Tutorial (Livermore Nat. Lab.)  Serial Computing: one computer, one CPU  Parallel Computing: multiple computers working at the same time

29 November 2004Parallel ISDS4 Various Setups  Collection of Workstations PVM (Parallel Virtual Machine) R (rpvm, Rmpi, SNOW) LAM-MPI (Local Area Multicomputer) Matlab  Dedicated Cluster Master/Slave model MPI

29 November 2004Parallel ISDS5 Network Layout  Basic layout: Each node has: CPU(s), memory

29 November 2004Parallel ISDS6 Designing a Parallel Program Do the nodes need to interact? “Embarrassingly Parallel” Very little communication -- Monte Carlo “Shamelessly Parallel” Communication Needed -- Heat diffusion models -- Spatial models

29 November 2004Parallel ISDS7 Message Passing Interface  “MPI” Standard Easy to use functions that manage the communication between nodes.

29 November 2004Parallel ISDS8 Master/Slave Model  Organize the layout: Slaves

29 November 2004Parallel ISDS9 Master/Slave Model  “Master” divides the task into pieces…  …while slaves “listen” to the network, waiting for work.  Master sends out the work to be done…  …slaves do the work…  …while the Master waits for the answers.  Slaves return the results.

29 November 2004Parallel ISDS10 Example: Monte Carlo

29 November 2004Parallel ISDS11 Example: Monte Carlo Master Slave 1 Draw N/3 values Compute Return Slave 2 Same Slave 3 Same

29 November 2004Parallel ISDS12 Code  Write ONE program Same for master and slaves  Run program on EACH node Each program has to figure out if it’s the master or a slave MPI

29 November 2004Parallel ISDS13 Pseudo Code LOAD DATA; GET ID; IF(ID==MASTER) { MASTER(); } ELSE { SLAVE(); }... LOAD DATA; GET ID; IF(ID==MASTER) { MASTER(); } ELSE { SLAVE(); }... LOAD DATA; GET ID; IF(ID==MASTER) { MASTER(); } ELSE { SLAVE(); }... LOAD DATA; GET ID; IF(ID==MASTER) { MASTER(); } ELSE { SLAVE(); }... MasterSlave 1Slave 2Slave 3

29 November 2004Parallel ISDS14 MASTER { // Find # of nodes GET NP; for(i in 1:NP) { “Tell process i to compute the mean for 1000 samples” } RET=RES=0; // Wait for results WHILE(RET<NP){ ANS = RECEIVE(); RES+=ANS/NP; RET++; } SLAVE { ANS = 0; // Wait for orders // Receive NREPS for(i in 1:NREPS) { ANS += DRAW(); } SEND(ANS/NREPS); RETURN TO MAIN; }; SLAVE { ANS = 0; // Wait for orders // Receive NREPS for(i in 1:NREPS) { ANS += DRAW(); } SEND(ANS/NREPS); RETURN TO MAIN; }; SLAVE { ANS = 0; // Wait for orders // Receive NREPS for(i in 1:NREPS) { ANS += DRAW(); } SEND(ANS/NREPS); RETURN TO MAIN }; MasterSlave 1Slave 2Slave 3

29 November 2004Parallel ISDS15 PRINT RES; RETURN TO MAIN ; }... FINALIZE(); }... FINALIZE(); }... FINALIZE(); }... FINALIZE(); } MasterSlave 1Slave 2Slave 3 Pseudo Code

29 November 2004Parallel ISDS16 Example: C++ Code  Large dataset N=40, p = 1,000 One outcome variable, y  Calculate R 2 for all 1-var regression  parallel_R2.cpp

29 November 2004Parallel ISDS17 CSEM Duke  Computational Science, Engineering and Medicine Cluster  Shared machines Core Nodes Contributed Nodes

29 November 2004Parallel ISDS18 CSEM Cluster Details  4 Dual processing head nodes  64 Dual processing shared nodes Intel Xeon 2.8 GHz  40 Dual processing “stat” nodes Intel Xeon 3.1 GHz  161 Dual processing “other” nodes Owners get priority

29 November 2004Parallel ISDS19

29 November 2004Parallel ISDS20 Using the Cluster  Access limited ssh –l cmh27 cluster1.csem.duke.edu  Data stored locally on cluster  Compile using mpicc, mpif77, mpif90  Cluster uses SGE Queuing System

29 November 2004Parallel ISDS21 Queuing System  Submit your job with requests memory usage number of CPUs (nodes)  Assigns nodes and schedules job Least-loaded machines fitting requirements  Jobs run outside of SGE are killed

29 November 2004Parallel ISDS22 Compiling Linked libraries, etc… g++ -c parallel_R2.cpp -I/opt/mpich-1.2.5/include -L/opt/mpich-1.2.5/lib mpicc parallel_R2.o -o parallel_R2.exe -lstdc++ -lg2c -lm

29 November 2004Parallel ISDS23 Submitting a Job  Create a queue script: #!/bin/tcsh # #$ -S /bin/tcsh -cwd #$ -M -m b #$ -M -m e #$ -o parallel_R2.out -j y #$ -pe low-all 5 cd /home/stat/username/ mpirun -np $NSLOTS -machinefile $TMPDIR/machines parallel_R2.exe me when the job is submitted and when it finishes Output file Priority and number of nodes requested Your Home Directory on CSEM Cluster

29 November 2004Parallel ISDS24 Submitting a Job  Type: cmh27]$ qsub parallel_R2.q Your job ("parallel_R2.q") has been submitted.  Monitoring

29 November 2004Parallel ISDS25 Downloadable Files You can download the slides, example C++ code and queuing script at: