Supercomputing in Plain English Tuning Blue Waters Undergraduate Petascale Education Program May 29 – June 10 2011.

Slides:



Advertisements
Similar presentations
Performance Measurement n Assignment? n Timing #include double When() { struct timeval tp; gettimeofday(&tp, NULL); return((double)tp.tv_sec + (double)tp.tv_usec.
Advertisements

Chapter 6: Memory Management
Distributed Systems CS
Potential for parallel computers/parallel programming
Parallel Processing & Distributed Systems Thoai Nam Chapter 2.
11Sahalu JunaiduICS 573: High Performance Computing5.1 Analytical Modeling of Parallel Programs Sources of Overhead in Parallel Programs Performance Metrics.
Example (1) Two computer systems have been tested using three benchmarks. Using the normalized ratio formula and the following tables below, find which.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming with MPI and OpenMP Michael J. Quinn.
Performance Metrics Parallel Computing - Theory and Practice (2/e) Section 3.6 Michael J. Quinn mcGraw-Hill, Inc., 1994.
Chapter 7 Performance Analysis. 2 References (Primary Reference): Selim Akl, “Parallel Computation: Models and Methods”, Prentice Hall, 1997, Updated.
CS 584 Lecture 11 l Assignment? l Paper Schedule –10 Students –5 Days –Look at the schedule and me your preference. Quickly.
Lecture 5 Today’s Topics and Learning Objectives Quinn Chapter 7 Predict performance of parallel programs Understand barriers to higher performance.
Concept of Basic Time Complexity Problem size (Input size) Time complexity analysis.
Steve Lantz Computing and Information Science Parallel Performance Week 7 Lecture Notes.
Algorithm/Running Time Analysis. Running Time Why do we need to analyze the running time of a program? Option 1: Run the program and time it –Why is this.
Analysis of Algorithms CPS212 Gordon College. Measuring the efficiency of algorithms There are 2 algorithms: algo1 and algo2 that produce the same results.
Computer Science 320 Measuring Speedup. What Is Running Time? T(N, K) says that the running time T is a function of the problem size N and the number.
Lecture 3 – Parallel Performance Theory - 1 Parallel Performance Theory - 1 Parallel Computing CIS 410/510 Department of Computer and Information Science.
Performance Evaluation of Parallel Processing. Why Performance?
Chapter 7 Performance Analysis.
“elbowing out” Processors used Speedup Efficiency timeexecution Parallel Processors timeexecution Sequential Efficiency   
OpenMP Blue Waters Undergraduate Petascale Education Program May 29 – June
Performance Measurement n Assignment? n Timing #include double When() { struct timeval tp; gettimeofday(&tp, NULL); return((double)tp.tv_sec + (double)tp.tv_usec.
Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation,
Performance Measurement. A Quantitative Basis for Design n Parallel programming is an optimization problem. n Must take into account several factors:
April 26, CSE8380 Parallel and Distributed Processing Presentation Hong Yue Department of Computer Science & Engineering Southern Methodist University.
Lecture 9 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
Scaling Area Under a Curve. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
From lecture slides for Computer Organization and Architecture: Designing for Performance, Eighth Edition, Prentice Hall, 2010 CS 211: Computer Architecture.
Geoff Holmes and Bernhard Pfahringer COMP206-08S General Programming 2.
Parallel Programming with MPI and OpenMP
1 5. Abstract Data Structures & Algorithms 5.6 Algorithm Evaluation.
Supercomputing in Plain English What is a Cluster? Blue Waters Undergraduate Petascale Education Program May 23 – June
Scaling Conway’s Game of Life. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
Search Algorithms Written by J.J. Shepherd. Sequential Search Examines each element one at a time until the item searched for is found or not found Simplest.
Computer Science 320 Measuring Sizeup. Speedup vs Sizeup If we add more processors, we should be able to solve a problem of a given size faster If we.
Intro to Scientific Libraries Intro to Scientific Libraries Blue Waters Undergraduate Petascale Education Program May 29 – June
1 Potential for Parallel Computation Chapter 2 – Part 2 Jordan & Alaghband.
1 5. Abstract Data Structures & Algorithms 5.6 Algorithm Evaluation.
Distributed and Parallel Processing George Wells.
PRAM and Parallel Computing
Potential for parallel computers/parallel programming
4- Performance Analysis of Parallel Programs
Analysis of Algorithms
Algorithmic Efficency
Introduction to complexity
Computer Science 112 Fundamentals of Programming II
Lesson Objectives Aims Understand the following: The big O notation.
Introduction to Parallelism.
EE 193: Parallel Computing
Chapter 3: Principles of Scalable Performance
Chapter 12: Analysis of Algorithms
Parallel Processing Sharing the load.
What Happens if There is no Free Frame?
Lecture 6 Efficiency of Algorithms (2) (S&G, ch.3)
CS 201 Fundamental Structures of Computer Science
CSE8380 Parallel and Distributed Processing Presentation
Searching CLRS, Sections 9.1 – 9.3.
Distributed Systems CS
Algorithm Analysis Bina Ramamurthy CSE116A,B.
CS 584.
Algorithms Analysis Algorithm efficiency can be measured in terms of:
PERFORMANCE MEASURES. COMPUTATIONAL MODELS Equal Duration Model:  It is assumed that a given task can be divided into n equal subtasks, each of which.
Mattan Erez The University of Texas at Austin
Potential for parallel computers/parallel programming
Potential for parallel computers/parallel programming
Analysis of Algorithms
Potential for parallel computers/parallel programming
CSE 332: Parallel Algorithms
Potential for parallel computers/parallel programming
Presentation transcript:

Supercomputing in Plain English Tuning Blue Waters Undergraduate Petascale Education Program May 29 – June

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Outline Time to Run = Work/Resources + Overhead Real Work Algorithmic complexity Resources and overhead Amdahl's law Gustafson's law Karp-Flatt Metric Isoefficiency

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Time To Run = Computation/Resources+Overhead How much real, distributable work is there to be done? How much computing power is available? How much overhead is required to set everything up?

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Computation The work that actually does the science 10% of the code in which 90% of the time is spent This is where real time savings are found Algorithmic complexity

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Algorithmic Complexity As n approaches infinity, how quickly do the program's requirements (time, memory, etcetera) increase? Constant - O(1) – communication overhead in Area Under Curve Logarithmic - O(log(n)) - worst case binary search time Polynomial Linear - O(n) – computation in Area Under Curve Quadratic – O(n^2) – computation in n-body Exponential – O(c^n) – Cryptographic hacking

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Algorithmic Complexity

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Algorithmic Complexity

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Algorithmic Complexity

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Changing the Algorithm function fib(n) if n = 0 return 0 if n = 1 return 1 return fib(n − 1) + fib(n − 2) Runs in exponential time (O(2^n)) dictionary m := map(0 → 0, 1 → 1) function fib(n) if map m does not contain key n m[n] := fib(n − 1) + fib(n − 2) return m[n] Runs in linear time (O(n))

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Time/Space Tradeoff Using memory to save time or using time to save memory Time is generally what you'll most want to optimize, although many algorithms have to optimize for both time and space.

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Virtual Memory and Paging Using more memory does not slow down the program Until you hit the available memory supply Virtual memory uses the hard drive to boost the available memory supply The hard drive is slow, avoid virtual memory ulimit -a Shows current limits Virtual Memory will likely not be explicitly limited vmstat swpd: the amount of virtual memory used. free: the amount of idle memory

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Resources Available Vs Overhead In single-thread programming, the programmer has little control over resources available. Stop other running programs Parallelism increases the resources available at the cost of additional overhead in the form of communication.

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Resources Available Vs Overhead

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Amdahl's Law No amount of parallelization can make a program take less time than the time to evaluate its sequential portions.

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Gustafson's Law The proportion of the computations that are sequential normally decreases as the problem size increases.

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Speedup via parallelization Speedup = time for program to run in serial / time for parallelized program to run

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Karp-Flatt Karp-Flatt Paper A formula for finding e, the sequential fraction of a code P = number of processors = observed speedup

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Isoefficiency Efficiency decreases as the number of processes increases with static problem size

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Isoefficiency How much does the problem size in relation to the number of processes have to increase to maintain efficiency?

Supercomputing in Plain English: Apps & Par Types BWUPEP2011, UIUC, May 29 - June Isoefficiency Isoefficiency paper