Is System X for Me? Cal Ribbens Computer Science Department

Slides:



Advertisements
Similar presentations
Parallel Processing with OpenMP
Advertisements

Beowulf Supercomputer System Lee, Jung won CS843.
Types of Parallel Computers
High Performance Computing
Information Technology Center Introduction to High Performance Computing at KFUPM.
IBM RS6000/SP Overview Advanced IBM Unix computers series Multiple different configurations Available from entry level to high-end machines. POWER (1,2,3,4)
Parallel Computing Overview CS 524 – High-Performance Computing.
1 Parallel Computing—Introduction to Message Passing Interface (MPI)
S an D IEGO S UPERCOMPUTER C ENTER N ATIONAL P ARTNERSHIP FOR A DVANCED C OMPUTATIONAL I NFRASTRUCTURE Message Passing Interface (MPI) Part I NPACI Parallel.
Hitachi SR8000 Supercomputer LAPPEENRANTA UNIVERSITY OF TECHNOLOGY Department of Information Technology Introduction to Parallel Computing Group.
CS 524 – High- Performance Computing Outline. CS High-Performance Computing (Wi 2003/2004) - Asim LUMS2 Description (1) Introduction to.
IBM RS/6000 SP POWER3 SMP Jari Jokinen Pekka Laurila.
1b.1 Types of Parallel Computers Two principal approaches: Shared memory multiprocessor Distributed memory multicomputer ITCS 4/5145 Parallel Programming,
Parallel Programming Using Basic MPI Presented by Timothy H. Kaiser, Ph.D. San Diego Supercomputer Center Presented by Timothy H. Kaiser, Ph.D. San Diego.
ADLB Update Recent and Current Adventures with the Asynchronous Dynamic Load Balancing Library Rusty Lusk Mathematics and Computer Science Division Argonne.
1 Parallel of Hyderabad CS-726 Parallel Computing By Rajeev Wankar
Parallel Processing LAB NO 1.
Tools and Utilities for parallel and serial codes in ENEA-GRID environment CRESCO Project: Salvatore Raia SubProject I.2 C.R. ENEA-Portici. 11/12/2007.
STRATEGIC NAMING: MULTI-THREADED ALGORITHM (Ch 27, Cormen et al.) Parallelization Four types of computing: –Instruction (single, multiple) per clock cycle.
ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006outline.1 ITCS 4145/5145 Parallel Programming (Cluster Computing) Fall 2006 Barry Wilkinson.
Message Passing Programming with MPI Introduction to MPI Basic MPI functions Most of the MPI materials are obtained from William Gropp and Rusty Lusk’s.
Hybrid MPI and OpenMP Parallel Programming
Message Passing Interface (MPI) 1 Amit Majumdar Scientific Computing Applications Group San Diego Supercomputer Center Tim Kaiser (now at Colorado School.
CCS Overview Rene Salmon Center for Computational Science.
CSC 7600 Lecture 28 : Final Exam Review Spring 2010 HIGH PERFORMANCE COMPUTING: MODELS, METHODS, & MEANS FINAL EXAM REVIEW Daniel Kogler, Chirag Dekate.
Distributed-Memory (Message-Passing) Paradigm FDI 2004 Track M Day 2 – Morning Session #1 C. J. Ribbens.
Nanco: a large HPC cluster for RBNI (Russell Berrie Nanotechnology Institute) Anne Weill – Zrahia Technion,Computer Center October 2008.
HPC Components for CCA Manoj Krishnan and Jarek Nieplocha Computational Sciences and Mathematics Division Pacific Northwest National Laboratory.
Chapter 4 Message-Passing Programming. The Message-Passing Model.
Introduction to MPI Nischint Rajmohan 5 November 2007.
Programming distributed memory systems: Message Passing Interface (MPI) Distributed memory systems: multiple processing units working on one task (e.g.
COMP381 by M. Hamdi 1 Clusters: Networks of WS/PC.
3/12/2013Computer Engg, IIT(BHU)1 PARALLEL COMPUTERS- 1.
Running Mantevo Benchmark on a Bare-metal Server Mohammad H. Mofrad January 28, 2016
3/12/2013Computer Engg, IIT(BHU)1 MPI-1. MESSAGE PASSING INTERFACE A message passing library specification Extended message-passing model Not a language.
Implementing Processes and Threads CS550 Operating Systems.
Multicore Applications in Physics and Biochemical Research Hristo Iliev Faculty of Physics Sofia University “St. Kliment Ohridski” 3 rd Balkan Conference.
Constructing a system with multiple computers or processors 1 ITCS 4/5145 Parallel Programming, UNC-Charlotte, B. Wilkinson. Jan 13, 2016.
MPI: Message Passing Interface An Introduction S. Lakshmivarahan School of Computer Science.
INTRODUCTION TO HIGH PERFORMANCE COMPUTING AND TERMINOLOGY.
Advanced Network Administration Computer Clusters.
Supercomputing versus Big Data processing — What's the difference?
Enhancements for Voltaire’s InfiniBand simulator
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CLOUD COMPUTING
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
MPI Basics.
Supervisor: Andreas Gellrich
Parallel Programming By J. H. Wang May 2, 2017.
MPI Message Passing Interface
Constructing a system with multiple computers or processors
CRESCO Project: Salvatore Raia
Parallel & Cluster Computing
Hadoop Clusters Tess Fulkerson.
System G And CHECS Cal Ribbens
Parallel Programming in C with MPI and OpenMP
by Manuel Saldaña, Daniel Nunes, Emanuel Ramalho, and Paul Chow
Computer Science I CSC 135.
Guoliang Chen Parallel Computing Guoliang Chen
Chirag Dekate Department of Computer Science
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
Constructing a system with multiple computers or processors
Hybrid Programming with OpenMP and MPI
CSE 451: Operating Systems Winter 2003 Lecture 1 Course Introduction
Introduction to parallelism and the Message Passing Interface
MPJ: A Java-based Parallel Computing System
MPI MPI = Message Passing Interface
Introduction to Parallel Computing
CSE 451: Operating Systems Autumn 2003 Lecture 1 Course Introduction
Presentation transcript:

Is System X for Me? Cal Ribbens Computer Science Department Lab. For Adv. Scientific Comput. & Applications (LASCA)

Outline System X configuration Programming model and environment Problems most suited for System X Next steps Take-away messages

System X Configuration A cluster: “multiple computers used as a single, unified resource.'' (Pfister, 1998) 1100 Apple G5 Xserves CPU: PPC970, 2GHz, 64 bit. Node: 2 CPUs, 4 GB RAM, 160 GB disk Primary interconnect: InfiniBand Secondary interconnect: Gigabit Ethernet Peak theoretical speed: 17.6 TF Linpack benchmark: 10.3 TF

Key Architectural Features Distributed memory Both physically and logically distributed As opposed to SMP or DSM/VSM Standard OS on each node --- unix High-performance interconnection network NFS over fast Ethernet for file i/o, data staging, etc.

Programming Model & Environment Automagic compiler/IDE? Sorry. New programming language? Maybe … if you are writing new code from scratch. Commercial or community codes? Slowly emerging in some areas. Existing languages (Fortran, C, C++) plus MPI? Most common. Possibly threads within a node.

MPI: Message Passing Interface Programming model: multiple processes (usually each an instance of the same program), communicating by explicit message passing. MPI is a de facto standard API. Several implementations available for tcp/ip and for fast networks, e.g., Myrinet, InfiniBand. Goals of MPI: Portable, high-performance parallel codes Support for writing parallel libraries

MPI Hello World include 'mpif.h' integer myid, ierr, token, status(mpi_status_size) call mpi_init (ierr) call mpi_comm_rank (mpi_comm_world, myid, ierr ) if (myid .eq. 0) then print *, "hello" call mpi_send (token, 1, mpi_integer, 1, 0, mpi_comm_world, ierr) else call mpi_recv (token, 1, mpi_integer, 0, 0, mpi_comm_world, status, ierr) print *, "world" endif call mpi_finalize (ierr) stop end

Code Development Environment Standard editors, compilers, Unix tools. Work done on a “front-end” node. Job startup: Batch system or command-line, e.g., “mpirun –np 4 myexecutable” Debugging? Usual tools within node. Totalview for MPI. Performance debugging? Tau

What will run well on X (and be worth the trouble)? Large-scale computations: 100’s GB RAM, months of compute time. “Regular” computations: where work and data is easily decomposed into many large, uniform chunks. Dense vs. sparse matrices Regular vs. irregular meshes Molecular statics vs. molecular dynamics

What runs well? (continued) Scalable computations (work / communication) stays away from zero Load stays balanced Number of independent tasks scales up (and down) Reasonable interprocess communication requirements: Too much → communication will be bottleneck Too little → not a problem; but maybe consider grid computing.

Next Steps Basic MPI short-course: Feb 17, 19, 24, 26. Future LASCA short-courses likely Consulting: grad student office hours or meet with LASCA faculty (lasca@cs.vt.edu) Summer FDI on parallel programming CS 4234 in F04, CS 5984 or 6404 in S05. Refs: Gropp, Lusk, Skjellum, Using MPI, (2nd ed.), MIT Press, 1999. www-unix.mcs.anl.gov/mpi research.cs.vt.edu/lasca

Last Comments HPC is hard: System X … Models, machines, algorithms, software Students should get credit Collaboration is required System X … will make a huge difference for a few; will make a big difference for many; will be a success if we do great research, leverage the visibility, and build a community.