(Short) Introduction to Parallel Computing CS 6560: Operating Systems Design.

Slides:



Advertisements
Similar presentations
Parallel Programming and Algorithms : A Primer Kishore Kothapalli IIIT-H Workshop on Multi-core Technologies International Institute.
Advertisements

Distributed Systems CS
SE-292 High Performance Computing
N-Body I CS 170: Computing for the Sciences and Mathematics.
An Introduction to Light Fields Mel Slater. Outline Introduction Rendering Representing Light Fields Practical Issues Conclusions.
Ray Tracing Ray Tracing 1 Basic algorithm Overview of pbrt Ray-surface intersection (triangles, …) Ray Tracing 2 Brute force: Acceleration data structures.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
Parallel Computers Chapter 1
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500 Cluster.
ATEC Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Slide 1 COMP 308 Parallel Efficient Algorithms Lecturer: Dr. Igor Potapov Ashton Building, room COMP 308 web-page:
ECE669 L4: Parallel Applications February 10, 2004 ECE 669 Parallel Computer Architecture Lecture 4 Parallel Applications.
I/O Analysis and Optimization for an AMR Cosmology Simulation Jianwei LiWei-keng Liao Alok ChoudharyValerie Taylor ECE Department Northwestern University.
ECE669 L15: Mid-term Review March 25, 2004 ECE 669 Parallel Computer Architecture Lecture 15 Mid-term Review.
Distributed Interactive Ray Tracing for Large Volume Visualization Dave DeMarle Steven Parker Mark Hartner Christiaan Gribble Charles Hansen.
1 Tuesday, November 07, 2006 “If anything can go wrong, it will.” -Murphy’s Law.
Introduction What is Parallel Algorithms? Why Parallel Algorithms? Evolution and Convergence of Parallel Algorithms Fundamental Design Issues.
1 Parallel Programs. 2 Why Bother with Programs? They’re what runs on the machines we design Helps make design decisions Helps evaluate systems tradeoffs.
Computer Architecture II 1 Computer architecture II Programming for performance.
Multiprocessors CSE 471 Aut 011 Multiprocessors - Flynn’s Taxonomy (1966) Single Instruction stream, Single Data stream (SISD) –Conventional uniprocessor.
Ray Tracing Jerry Sui Adam Conner. Part I – Introduction to Ray Tracing Final Product.
Computer Architecture II 1 Computer architecture II Introduction.
Parallel Programming Todd C. Mowry CS 740 October 16 & 18, 2000 Topics Motivating Examples Parallel Programming for High Performance Impact of the Programming.
Programming for Performance
Implications for Programming Models Todd C. Mowry CS 495 September 12, 2002.
ECE669 L6: Programming for Performance February 17, 2004 ECE 669 Parallel Computer Architecture Lecture 6 Programming for Performance.
Parallel Programming: Case Studies Todd C. Mowry CS 495 September 12, 2002.
Real-Time Ray Tracing 3D Modeling of the Future Marissa Hollingsworth Spring 2009.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
Fundamental Issues in Parallel and Distributed Computing Assaf Schuster, Computer Science, Technion.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
Course Outline Introduction in algorithms and applications Parallel machines and architectures Overview of parallel machines, trends in top-500, clusters,
Data Warehousing 1 Lecture-24 Need for Speed: Parallelism Virtual University of Pakistan Ahsan Abdullah Assoc. Prof. & Head Center for Agro-Informatics.
CS 376 Introduction to Computer Graphics 04 / 16 / 2007 Instructor: Michael Eckmann.
1 Programming for Performance Reference: Chapter 3, Parallel Computer Architecture, Culler et.al.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
1 Lecture 2: Parallel Programs Topics: parallel applications, parallelization process, consistency models.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note Introduction to Parallel Computing (Blaise Barney,
Performance Model & Tools Summary Hung-Hsun Su UPC Group, HCS lab 2/5/2004.
Introduction to Parallel Rendering Jian Huang, CS 594, Spring 2002.
ECE200 – Computer Organization Chapter 9 – Multiprocessors.
Parallel Processing Steve Terpe CS 147. Overview What is Parallel Processing What is Parallel Processing Parallel Processing in Nature Parallel Processing.

Dynamic Scenes Paul Arthur Navrátil ParallelismJustIsn’tEnough.
Memory Management and Parallelization Paul Arthur Navrátil The University of Texas at Austin.
CS 484 Designing Parallel Algorithms Designing a parallel algorithm is not easy. There is no recipe or magical ingredient Except creativity We can benefit.
Lecture 3 : Performance of Parallel Programs Courtesy : MIT Prof. Amarasinghe and Dr. Rabbah’s course note.
Large Scale Time-Varying Data Visualization Han-Wei Shen Department of Computer and Information Science The Ohio State University.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Outline Why this subject? What is High Performance Computing?
… begin …. Parallel Computing: What is it good for? William M. Jones, Ph.D. Assistant Professor Computer Science Department Coastal Carolina University.
Computer Organization CS224 Fall 2012 Lesson 52. Introduction  Goal: connecting multiple computers to get higher performance l Multiprocessors l Scalability,
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Modern Information Retrieval
Multiprocessor  Use large number of processor design for workstation or PC market  Has an efficient medium for communication among the processor memory.
1a.1 Parallel Computing and Parallel Computers ITCS 4/5145 Cluster Computing, UNC-Charlotte, B. Wilkinson, 2006.
Introduction Goal: connecting multiple computers to get higher performance – Multiprocessors – Scalability, availability, power efficiency Job-level (process-level)
Kriging for Estimation of Mineral Resources GISELA/EPIKH School Exequiel Sepúlveda Department of Mining Engineering, University of Chile, Chile ALGES Laboratory,
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Parallel Computing and Parallel Computers
Perspective on Parallel Programming
Parallel Application Case Studies
Lecture 2: Parallel Programs
Lecture 3 : Performance of Parallel Programs
Course Outline Introduction in algorithms and applications
Chapter 4 Multiprocessors
Parallel Computing and Parallel Computers
Mattan Erez The University of Texas at Austin
Presentation transcript:

(Short) Introduction to Parallel Computing CS 6560: Operating Systems Design

2 Why Parallel Computing? Performance! Many applications require serious performance. Examples: Structural biology Chemical dynamics Pharmaceutical design Weather forecasting Human genome Ocean modeling

3 Processor Performance: Need Parallelism! 2-3 GHz

4 Case Study 1: Simulating Ocean Currents Model as two-dimensional grids Discretize in space and time finer spatial and temporal resolution => greater accuracy Many different computations per time step set up and solve equations Concurrency across and within grid computations (a) Cross sections(b) Spatial discretization of a cross section

5 Simulate interactions of many stars evolving over time Computing forces is expensive O(n 2 ) brute force approach Hierarchical methods take advantage of force law: G m1m2m1m2 r2r2 Case Study 2: Simulating Galaxy Evolution

6 Case Study 2: Barnes-Hut Many time steps, plenty of concurrency across stars Locality Goal Particles close together in space should be on same processor Difficulties: Non-uniform, dynamically changing Spatial DomainQuad-tree

7 Case Study 3: Rendering by Ray Tracing Goal is to produce image from representation of real world Shoot rays into scene through pixels in projection plane Result is color for pixel Rays shot through pixels in projection plane are called primary rays Reflect and refract when they hit objects Recursive process generates ray tree per primary ray Tradeoffs between execution time and image quality Viewpoint Projection Plane 3D Scene Ray from viewpoint to upper right corner pixel Dynamically generated ray

8 Partitioning Need dynamic assignment Use contiguous blocks to exploit spatial coherence among neighboring rays, plus tiles for task stealing A block, the unit of assignment A tile, the unit of decomposition and stealing

9 Sample Speedups Speedups on NUMA multiprocessor Speedup = (best) time on 1 processor / time on multiple processors

10 Ideal/Linear Speedup? Amdahl’s Law If a fraction s of a computation is not parallelizable, then the best achievable speedup is

11 Pictorial Depiction of Amdahl’s Law 1 p 1 Time Parallelizable work Sequential work

12 But Goal is not just Performance At some point, we’re willing to trade some performance for: Ease of programming High portability Low cost Ease of programming & high portability Parallel programming for the masses Leverage new or faster hardware asap Low cost High-end parallel machines are expensive resources

13 Parallel Applications Scientific computing not the only class of parallel applications Examples of non-scientific parallel applications: Data mining Real-time rendering Distributed servers Today, programmers are encouraged to find parallelism in all sorts of software