Lukasz Grzegorz Maciak Micheal Alexis

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Parallel Jacobi Algorithm Steven Dong Applied Mathematics.
Sharks and Fishes – The problem
10.2 Diffusion and Cellular Automata. Simulating Motion: Cellular Automata If all we have to work with is a grid of cells (spreadsheet), how can we simulate.
Dynamic Load Balancing for VORPAL Viktor Przebinda Center for Integrated Plasma Studies.
Confidentiality/date line: 13pt Arial Regular, white Maximum length: 1 line Information separated by vertical strokes, with two spaces on either side Disclaimer.
Cellular Automata: Life with Simple Rules
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
Game of Life Courtesy: Dr. David Walker, Cardiff University.
Meshless Elasticity Model and Contact Mechanics-based Verification Technique Rifat Aras 1 Yuzhong Shen 1 Michel Audette 1 Stephane Bordas 2 1 Department.
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.
William Moss Advanced Image Synthesis, Fall 2008.
A Grid Parallel Application Framework Jeremy Villalobos PhD student Department of Computer Science University of North Carolina Charlotte.
Mutual Information Mathematical Biology Seminar
Google’s Map Reduce. Commodity Clusters Web data sets can be very large – Tens to hundreds of terabytes Cannot mine on a single server Standard architecture.
Efficient Parallelization for AMR MHD Multiphysics Calculations Implementation in AstroBEAR.
WSN Simulation Template for OMNeT++
Introduction to Scientific Computing on Linux Clusters Doug Sondak Linux Clusters and Tiled Display Walls July 30 – August 1, 2002.
Waves!. Solving something like this… The Wave Equation (1-D) (n-D)
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
FLANN Fast Library for Approximate Nearest Neighbors
1 TRAPEZOIDAL RULE IN MPI Copyright © 2010, Elsevier Inc. All rights Reserved.
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.
Introduction Computational Challenges Serial Solutions Distributed Memory Solution Shared Memory Solution Parallel Analysis Conclusion Introduction: 
Lecture 12 Monte Carlo Simulations Useful web sites:
1 Perception, Illusion and VR HNRS 299, Spring 2008 Lecture 19 Other Graphics Considerations Review.
CSS Cooperative Education Faculty Research Internship Spring / Summer 2013 Richard Romanus 08/23/2013 Developing and Extending the MASS Library (Java)
CompuCell Software Current capabilities and Research Plan Rajiv Chaturvedi Jesús A. Izaguirre With Patrick M. Virtue.
The Role of Artificial Life, Cellular Automata and Emergence in the study of Artificial Intelligence Ognen Spiroski CITY Liberal Studies 2005.
10.2 Random Walks. Random Walk A random walk refers to the apparently random motion of an entity. This is often the best model of a physical process (Brownian.
Multiscale Modelling Mateusz Sitko
Parallel Computing for Urban Cellular Automata Qingfeng. Gene. Guan 2004-Nov-18 Geography Department Colloquium Univ. of California, Santa Barbara.
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
Contagion in Networks Networked Life NETS 112 Fall 2013 Prof. Michael Kearns.
1 Cellular Automata and Applications Ajith Abraham Telephone Number: (918) WWW:
GPU Architectural Considerations for Cellular Automata Programming A comparison of performance between a x86 CPU and nVidia Graphics Card Stephen Orchowski,
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.
Trust Propagation using Cellular Automata for UbiComp 28 th May 2004 —————— Dr. David Llewellyn-Jones, Prof. Madjid Merabti, Dr. Qi Shi, Dr. Bob Askwith.
Research Into the Time Reversal of Cellular Automata Team rm -rf / Daniel Kaplun, Dominic Labanowski, Alex Lesman.
Model Iteration Iteration means to repeat a process and is sometimes referred to as looping. In ModelBuilder, you can use iteration to cause the entire.
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}};
George F Luger ARTIFICIAL INTELLIGENCE 5th edition Structures and Strategies for Complex Problem Solving Machine Learning: Social and Emergent Luger: Artificial.
Mehmet Can Kurt, The Ohio State University Gagan Agrawal, The Ohio State University DISC: A Domain-Interaction Based Programming Model With Support for.
Parallelization of 2D Lid-Driven Cavity Flow
4th International Conference on High Performance Scientific Computing 4th International Conference on High Performance Scientific Computing A Framework.
Modeling with Parallel DEVS Serialization in DEVS models Select function Implicit serialization of parallel models E-DEVS: internal transition first,
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 9: Describe the Run-time Architecture.
A user level multi-threaded Particle simulator Supervisor: Joe Cordina Observer: Kurt Debattista.
Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Application of the MCMC Method for the Calibration of DSMC Parameters James S. Strand and David B. Goldstein The University of Texas at Austin Sponsored.
Joint Power and Channel Minimization in Topology Control: A Cognitive Network Approach J ORGE M ORI A LEXANDER Y AKOBOVICH M ICHAEL S AHAI L EV F AYNSHTEYN.
Smoothed Particle Hydrodynamics Matthew Zhu CSCI 5551 — Fall 2015.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
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.
1 Rocket Science using Charm++ at CSAR Orion Sky Lawlor 2003/10/21.
Multicore Applications in Physics and Biochemical Research Hristo Iliev Faculty of Physics Sofia University “St. Kliment Ohridski” 3 rd Balkan Conference.
Clustering In Mobile Networks Presented By: Assaf Mizrachi Shimrit Artzi Tutor: Dr. Michael Segal.
1 1 2 What is a Cellular Automaton? A one-dimensional cellular automaton (CA) consists of two things: a row of "cells" and a set of "rules". Each of.
Chaotic Behavior - Cellular automata
Courtesy: Dr. David Walker, Cardiff University
Spatio-Temporal Information for Society Münster, 2014
L – Modeling and Simulating Social Systems with MATLAB
Is System X for Me? Cal Ribbens Computer Science Department
Artificial Intelligence
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Cellular Automata Hiroki Sayama
Cave generation with cellular automata
L. Glimcher, R. Jin, G. Agrawal Presented by: Leo Glimcher
Presentation transcript:

Lukasz Grzegorz Maciak Micheal Alexis Simulation of Long-Term Interaction of Spiral Waves in Excitable Media Modeled by Cellular Automata using a 20-CPU Linux Cluster Lukasz Grzegorz Maciak Micheal Alexis Faculty Supervisor: Dr. Roman Zaritski CMPT 680-01 Parallel Architectures and Algorithms

Excitable Media Definition of Excitable Media: An excitable medium is a nonlinear dynamical system which has the following properties: The capacity to propagate a wave of some description Inability to support the passing of another wave until a certain amount of refractory time has passed Examples of Excitable Media in Nature: Forest Fire Cardiac Muscle Tissue Excited Wave Propagating Outwards Refractory Area – cannot be excited

Cellular Automaton Excitable media can be modeled using the Cellular Automaton Theory: Cells on a grid are assigned discrete values Values are updated based on the state of the neighboring cells according to some rules. Example: Conway’s Game of Life: Dead Cell Live Cell

Cellular Automata Rules for Excitable Media The state of each cell is described by 2 values: Excitation (U) and Refraction (V) The cell is Excited if U≥1 The cell stops being excited (U=0) if 0<V<0.6 Rules: If the value of U>0.3 then U=V=1 If the value of V<0.6 then U=0 While V>0 decrement V by 0.01

Cellular Automata Rules for Excitable Media Rules Continued: The current value of U is determined based on the state of either 4 or 8 neighboring cells using rules for diffusion (discretization of Laplace Operator) 1 2 3 4 CELL 5 6 7 8 Based on the U value of U in the neighboring cells U value of CELL is updated in small increments.

Cellular Automata Rules for Excitable Media Unexcited Cell Unexcited Cell (U diffuses) Excited Cell Value of U Value of V Excited Cell (V decreases) Unexcited Cell (Refractory State)

Implementing Computer Simulation Implementation in C++ 20 CPU Linux Cluster (located in RI 109) MPI library (parallel communication) OpenGL library (data visualization) LPThread library (the graphical display functions)

Implementation Details 1000 x 2000 Rectangular Grid Cells on the edges of the grid are always unexcited (u:0 v:0) Using Vertical Domain Slicing to divide workload among the 20 CPU’s Using MPI Send and Receive Functions to exchange cell values on borders between each “chunk” CPU 1 CPU 2 CPU 3 CPU 17 CPU 18 CPU 19 …

Parallelization Issues – Domain Slicing Problem CPU A CPU B 1 2 3 4 5 CELL 1 CELL 2 6 7 8 9 10 CELL1 depends on points 1,2,3,5,7,8, 9 and CELL2 but 3, 9 and CELL2 values belong to CPUB

OpenGL Graphical Thread Work Distribution Master Node (Control) OpenGL Graphical Thread 1st Chunk 2nd Chunk … 19th Chunk

Cellular Automaton Rules - Implementation Diffusion of U: (*uu)(i,j) = U+2.76*D*dt/dx/dx*((*u)(i+1,j)+(*u)(i-1,j)+(*u)(i,j+1)+(*u)(i,j-1)-4*U); Change of V: if (V>0) { V=V-0.01; if (V<0.6) (*uu)(i,j)=0; } else if(((*uu)(i,j)>0.3)&&((*uu)(i,j)<1)) (*uu)(i,j)=1.0; V=1.0; Diffusion Coefficient (*uu)(i,j) = U+2.76*D*dt/dx/dx*((*u)(i+1,j)+(*u)(i-1,j)+(*u)(i,j+1)+(*u)(i,j-1) +(*u)(i-1,j-1) +(*u)(i-1,j+1) +(*u)(i+1,j-1) +(*u)(i+1,j+1)-8*U); V decrement Refraction Threshold Ignition Threshold

Parallel Communication MPI Library functions MPI_Send and MPI_Recv are used for communication The U and V values on the “chunk” border need to be swapped among CPU’s MPI Code Samples: MPI_Send((void*)uu->GetColumnPtr(L_min_2), N_plus_1, MPIFPTYPE, right, 11+DiscrTime, MPI::COMM_WORLD); MPI_Recv((void*)u->GetColumnPtr((k-1)*(L-2)), L*(N+1), MPIFPTYPE, ltor[k], k, MPI::COMM_WORLD, status);

Initiating Spiral Waves Excited Cells Intersecting squares of Excited and Refractory cells produce 2 Spiral Waves Refractory Cells Spiral Wave is a unique configuration of Excited and Refractory cells – it will spin forever, and it cannot be destroyed by collisions with other waves

Rotation Core Depends on: Spiral Wave Rotation The Size of the Rotation Core Depends on: Ignition threshold Refraction threshold V decrement size U diffusion coefficient Rotation Core Spiral Wave Tip Spiral Wave rotates around a core – this makes it move around on the grid and makes it collide with other waves – which alters the direction of the spin.

Computer Simulation Initial Setup – Randomly placed intersecting squares. This picture represents the state several generations old.

Computer Simulation Spiral Waves are Forming (4 neighbor diffusion)

Computer Simulation Runtime 5-10 minutes (4 neighbor diffusion)

Speedup Analysis Using 8 neighbors we get much smoother waves.

Computer Simulation Formation of Spiral Wave Pairs (8 neighbors)

Computer Simulation Multiple Spiral Wave Clusters forming

Computer Simulation Spiral Wave Pair becomes the dominant feature

Computer Simulation Runtime 5-6 hours: single Spiral Wave dominates the grid

Speedup Analysis

FUTURE DIRECTIONS Using different boundary conditions Continuous Domain (Cylinder, Taurus) Reflective Boundaries Discovering effective ways to eliminate spiral ways Long term statistical analysis of Spiral Wave behavior: What are the optimal conditions for forming pairs and triplets? What is the least time needed for a triplet to form? Is there a time period after which we can safely say, that if no pairs have formed, it is unlikely that they will form at all?