Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Introduction: 

Slides:



Advertisements
Similar presentations
CSE 160 – Lecture 9 Speed-up, Amdahl’s Law, Gustafson’s Law, efficiency, basic performance metrics.
Advertisements

1 Chapter 1 Why Parallel Computing? An Introduction to Parallel Programming Peter Pacheco.
{ John Conway’s Game of Life.  John von Neumann  Wanted to find/create a machine that could replicate itself  Found an answer, but it was very complex.
Parallelizing stencil computations Based on slides from David Culler, Jim Demmel, Bob Lucas, Horst Simon, Kathy Yelick, et al., UCB CS267.
Game of Life Rules and Games Linh Tran ECE 573. What is Life? Life is just one example of a cellular automaton, which is any system in which rules are.
Slides for Parallel Programming Techniques & Applications Using Networked Workstations & Parallel Computers 2nd ed., by B. Wilkinson & M
1 The Game of Life Supplement 2. 2 Background The Game of Life was devised by the British mathematician John Horton Conway in More sophisticated.
1 Tuesday, November 07, 2006 “If anything can go wrong, it will.” -Murphy’s Law.
CS 584. Logic The art of thinking and reasoning in strict accordance with the limitations and incapacities of the human misunderstanding. The basis of.
Efficient Parallelization for AMR MHD Multiphysics Calculations Implementation in AstroBEAR.
Introduction to Scientific Computing on Linux Clusters Doug Sondak Linux Clusters and Tiled Display Walls July 30 – August 1, 2002.
Conway’s Game of Life Andrew Williams
Monica Garika Chandana Guduru. METHODS TO SOLVE LINEAR SYSTEMS Direct methods Gaussian elimination method LU method for factorization Simplex method of.
CS305j Introduction to Computing Two Dimensional Arrays 1 Topic 22 Two Dimensional Arrays "Computer Science is a science of abstraction -creating the right.
Project 1CS-4513, D-Term Programming Project #1 Concurrent Game of Life Due Friday, March 20.
A cellular automata Developed by John Conway in 1970 Its evolution is determined by its initial state.
Lecture 37: Chapter 7: Multiprocessors Today’s topic –Introduction to multiprocessors –Parallelism in software –Memory organization –Cache coherence 1.
The hybird approach to programming clusters of multi-core architetures.
Given UPC algorithm – Cyclic Distribution Simple algorithm does cyclic distribution This means that data is not local unless item weight is a multiple.
Nawaf M Albadia Introduction. Components. Behavior & Characteristics. Classes & Rules. Grid Dimensions. Evolving Cellular Automata using Genetic.
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Reference: / Parallel Programming Paradigm Yeni Herdiyeni Dept of Computer Science, IPB.
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Lecture 10 CSS314 Parallel Computing
Scalable Data Clustering with GPUs Andrew D. Pangborn Thesis Defense Rochester Institute of Technology Computer Engineering Department Friday, May 14 th.
Parallel Programming Models Jihad El-Sana These slides are based on the book: Introduction to Parallel Computing, Blaise Barney, Lawrence Livermore National.
Lecture 8 – Stencil Pattern Stencil Pattern Parallel Computing CIS 410/510 Department of Computer and Information Science.
Performance Evaluation of Parallel Processing. Why Performance?
1 Chapter 1 Parallel Machines and Computations (Fundamentals of Parallel Processing) Dr. Ranette Halverson.
Lukasz Grzegorz Maciak Micheal Alexis
UPC Applications Parry Husbands. Roadmap Benchmark small applications and kernels —SPMV (for iterative linear/eigen solvers) —Multigrid Develop sense.
Introduction, background, jargon Jakub Yaghob. Literature T.G.Mattson, B.A.Sanders, B.L.Massingill: Patterns for Parallel Programming, Addison- Wesley,
Performance Measurement. A Quantitative Basis for Design n Parallel programming is an optimization problem. n Must take into account several factors:
The Game of Life A simulation of "life". From simple rules, complex behavior arises Rules –A cell that is alive and has fewer than two live neighbors dies.
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
Topic 26 Two Dimensional Arrays "Computer Science is a science of abstraction -creating the right model for a problem and devising the appropriate mechanizable.
Cellular Automata. The Game The Game of Life is not your typical computer game. It is a 'cellular automation', and was invented by the Cambridge mathematician.
Playing God: The Engineering of Functional Designs in the Game of Life Liban Mohamed Computer Systems Research Lab
Trust Propagation using Cellular Automata for UbiComp 28 th May 2004 —————— Dr. David Llewellyn-Jones, Prof. Madjid Merabti, Dr. Qi Shi, Dr. Bob Askwith.
Parallel Programming 0024 Spring Semester 2010 May 6, 2010.
Research Into the Time Reversal of Cellular Automata Team rm -rf / Daniel Kaplun, Dominic Labanowski, Alex Lesman.
עקרונות תכנות מונחה עצמים תרגול 6 - GUI. סיכום ביניים GUI:  Swing  Basic components  Event handling  Containers  Layouts.
Review Recursion Call Stack. Two-dimensional Arrays Visualized as a grid int[][] grays = {{0, 20, 40}, {60, 80, 100}, {120, 140, 160}, {180, 200, 220}};
Definitions Speed-up Efficiency Cost Diameter Dilation Deadlock Embedding Scalability Big Oh notation Latency Hiding Termination problem Bernstein’s conditions.
Scaling Area Under a Curve. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
A Variation on Conway’s Game of Life Winston Lee EPS 109.
Thinking in Parallel – Implementing In Code New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
Cellular Automata Introduction  Cellular Automata originally devised in the late 1940s by Stan Ulam (a mathematician) and John von Neumann.  Originally.
 The need for parallelization  Challenges towards effective parallelization  A multilevel parallelization framework for BEM: A compute intensive application.
Big data Usman Roshan CS 675. Big data Typically refers to datasets with very large number of instances (rows) as opposed to attributes (columns). Data.
A few of the people involved and what they’ve done.
Conway’s Game of Life Jess Barak Game Theory. History Invented by John Conway in 1970 Wanted to simplify problem from 1940s presented by John von Neumann.
The Shape of Math R09 VOL.3 The Life Game 09.08.0 4 Masashi SANAE.
Scaling Conway’s Game of Life. Why do parallelism? Speedup – solve a problem faster. Accuracy – solve a problem better. Scaling – solve a bigger problem.
Optimizing Parallel Programming with MPI Michael Chen TJHSST Computer Systems Lab Abstract: With more and more computationally- intense problems.
Barnes Hut – A Broad Review Abhinav S Bhatele The 27th day of April, 2006.
1/50 University of Turkish Aeronautical Association Computer Engineering Department Ceng 541 Introduction to Parallel Computing Dr. Tansel Dökeroğlu
Thinking in Parallel - Introduction New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
Application of Design Patterns to Geometric Decompositions V. Balaji, Thomas L. Clune, Robert W. Numrich and Brice T. Womack.
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
The University of Adelaide, School of Computer Science
Exploiting Parallelism
Illustrations of Simple Cellular Automata
EE 193: Parallel Computing
Dr. Tansel Dökeroğlu University of Turkish Aeronautical Association Computer Engineering Department Ceng 442 Introduction to Parallel.
PERFORMANCE MEASURES. COMPUTATIONAL MODELS Equal Duration Model:  It is assumed that a given task can be divided into n equal subtasks, each of which.
Multithreading Why & How.
Department of Computer Science, University of Tennessee, Knoxville
Presentation transcript:

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Introduction:  Game of Life is a cellular automata exercise created by mathematician John H. Conway in  It's not really a game in the traditional sense since the outcome is decided solely by the initial set up and there aren't any players.  The game made Conway instantly famous, but it also opened up a whole new field of mathematical research, the field of cellular automatacellular automata  Lets play…

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion The game rules:  Any live cell with fewer than two live neighbours dies, as if caused by under-population.  Any live cell with two or three live neighbours lives on to the next generation.  Any live cell with more than three live neighbours dies, as if by overcrowding.  Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction.

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Computational Challenges:  The game board size is NxM=L  Each cell has to be evaluated according to the set of rules  A round or “generation” takes O(L) just to evaluate.  This is an embarrassingly parallel problem  Pseudo Code for Game of Life: Bottleneck!

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Serial Solutions:  The serial solution is straight forward.  Unfortunately, when we simulate multiple generations with large boards this become a time consuming problem.  Each cell has to be individually evaluated by it’s nearby neighbours  So it becomes clear why we should turn to parallel solutions.

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Distributed Memory:  Game of life takes place on a N x M grid  Distribute the grid on z processors (domain decomposition)  Simplest way: row wise or column wise  More general approach: rectangular areas (checkerboard partitioning)

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Distributed Memory:  Initial (master) grid is in process 0  Parts must get distributed to the other processes

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Distributed Memory: Ghost cell:  For updating the cells, we need all the neighbours of all the Cells  “ghost cells” around each block are necessary  This mean that cells are not continuous in memory, neither in the master nor in the worker grid

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Shared Memory Solutions:  For shared memory threads, this is almost a trivial exercise  Using a domain decomposition, put an OpenMP for pragma around one of the inner loops Here!

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis:  Amdahl’s law – strong scaling * Parallelization: Conway’s Game of Life By Aaron Weeden, Shodor Education Foundation, Inc.

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis: Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis: * Parallelization: Conway’s Game of Life By Aaron Weeden, Shodor Education Foundation, Inc.  Gustafson’s Law– weak scaling

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis: Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis: Based on an article by Jon Skeet: Speed Up:  In an article we came across, the author examined 5 different programs, from the simplest serial to the sophisticated parallel program.  Using the Shared memory approach he managed to achieve a speedup of 127 times the serial program. Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis: Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Parallel Analysis: Based on an article by Jon Skeet: Speed Up:  In an article we came across, the author examined 5 different programs, from the simplest serial to the sophisticated parallel program.  Using the Shared memory approach he managed to achieve a speedup of 127 times the serial program.

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Conclusion: Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion  Game of Life is the basis of much research in the field of cellular automata. As a result learning how to use parallel programming to solve the is problem has great potential in related fields of interest.  As we’ve seen the parallel solutions are easy to implement and provide improved performance.  So why not?

Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion References: Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion  Jon Skeet game-of-life.aspx  Dr. Dobbs  Parallelization: Conway’s Game of Life By Aaron Weeden, Shodor Education Foundation,Inc.  Introduction to Parallel Programming with MPI, Hans Joachim Pflug, AACHEN UNIV.