Cellular Automata Modeling Environment & Library Lev Naumov

Slides:



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

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Topics covered: CPU Architecture CSE 243: Introduction to Computer Architecture and Hardware/Software Interface.
© Janice Regan, CMPT 102, Sept CMPT 102 Introduction to Scientific Computer Programming The software development method algorithms.
7M701 1 Software Engineering Object-oriented Design Sommerville, Ian (2001) Software Engineering, 6 th edition: Chapter 12 )
Data Parallel Algorithms Presented By: M.Mohsin Butt
Algorithms and Problem Solving-1 Algorithms and Problem Solving.
Algorithms and Problem Solving. Learn about problem solving skills Explore the algorithmic approach for problem solving Learn about algorithm development.
1 Draft of a Matchmaking Service Chuang liu. 2 Matchmaking Service Matchmaking Service is a service to help service providers to advertising their service.
Programming Languages Structure
CS218 – Final Project A “Small-Scale” Application- Level Multicast Tree Protocol Jason Lee, Lih Chen & Prabash Nanayakkara Tutor: Li Lao.
Modern Systems Analysis and Design Third Edition
Lecture 12 Synchronization. EECE 411: Design of Distributed Software Applications Summary so far … A distributed system is: a collection of independent.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Design and Analysis of Algorithms
Parallelization: Conway’s Game of Life. Cellular automata: Important for science Biology – Mapping brain tumor growth Ecology – Interactions of species.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
1 Integrated Development Environment Building Your First Project (A Step-By-Step Approach)
Exercise problems for students taking the Programming Parallel Computers course. Janusz Kowalik Piotr Arlukowicz Tadeusz Puzniakowski Informatics Institute.
Lecture 29 Fall 2006 Lecture 29: Parallel Programming Overview.
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
CompuCell Software Current capabilities and Research Plan Rajiv Chaturvedi Jesús A. Izaguirre With Patrick M. Virtue.
ICOM 5995: Performance Instrumentation and Visualization for High Performance Computer Systems Lecture 7 October 16, 2002 Nayda G. Santiago.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Neural and Evolutionary Computing - Lecture 10 1 Parallel and Distributed Models in Evolutionary Computing  Motivation  Parallelization models  Distributed.
CHAPTER TEN AUTHORING.
Selected Topics in Software Engineering - Distributed Software Development.
Introduction to Lattice Simulations. Cellular Automata What are Cellular Automata or CA? A cellular automata is a discrete model used to study a range.
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.
Tool Integration with Data and Computation Grid GWE - “Grid Wizard Enterprise”
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
PARALLEL COMPUTING overview What is Parallel Computing? Traditionally, software has been written for serial computation: To be run on a single computer.
In our previous work, robots are treated as cells in a 1-dimensional cellular automaton (Mead et al. 2007). Each robot “cell state” consists of its distance.
Implementing Unified Access to Scientific Data from.NET Platform Sergey B. Berezin Dmitriy V. Voitsekhovskiy Vilen M. Paskonov Moscow State University.
Intelligent Database Systems Lab N.Y.U.S.T. I. M. Externally growing self-organizing maps and its application to database visualization and exploration.
OBJECT ORIENTED AND FUNCTION ORIENTED DESIGN 1 Chapter 6.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Computer Science 101 Theory of Computing. Computer Science is... The study of algorithms, with respect to –their formal properties –their linguistic realizations.
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.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
Introduction to OOP CPS235: Introduction.
Tool Integration with Data and Computation Grid “Grid Wizard 2”
Oman College of Management and Technology Course – MM Topic 7 Production and Distribution of Multimedia Titles CS/MIS Department.
3/12/2013Computer Engg, IIT(BHU)1 INTRODUCTION-1.
Parallel Computing Presented by Justin Reschke
Multi-cellular paradigm The molecular level can support self- replication (and self- repair). But we also need cells that can be designed to fit the specific.
IMAGE PROCESSING is the use of computer algorithms to perform image process on digital images   It is used for filtering the image and editing the digital.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Sub-fields of computer science. Sub-fields of computer science.
Applied Operating System Concepts
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Kai Li, Allen D. Malony, Sameer Shende, Robert Bell
Algorithms and Problem Solving
Introduction to Parallel Computing: MPI, OpenMP and Hybrid Programming
Visit for more Learning Resources
Nonogram Solver Cs491b Software Design Prepared by :
Modern Systems Analysis and Design Third Edition
Object oriented system development life cycle
Application Development Theory
University of Technology
Chapter 9 Designing Databases
Quantum One.
GENERAL VIEW OF KRATOS MULTIPHYSICS
Operating System Concepts
Algorithms and Problem Solving
Lecture One: Automata Theory Amjad Ali
Operating System Concepts
Presentation transcript:

Cellular Automata Modeling Environment & Library Lev Naumov

2 What Is CAME & L?  Environment, which allows to research, visualize and solve problems, basing cellular automata concept  Tool for distributed parallel computations and study of parallel algorithms  Library, which represents rich toolkit for building solutions

3 What Are Cellular Automata?  Cellular automata – simple models, which are used for studying complex systems behavior in different fields of science  These automata are discrete dynamic systems, which work can be completely described in the terms of local interactions  Cellular systems form common paradigm of parallel computations as Turing machines do for the consecutive computations

4 What for Cellular Automata Are Applicable?  For modeling of processes or distributed systems in physics, mathematics, computer sciences, chemistry, biology, psychology, meteorology, social sciences and other fields of science “Cellular automaton” is discrete analogue of “field” concept  For using as spaces of parallel computations for tasks solving

5 Why Cellular Automata?  Common and most simple models of parallel computations  Parallel tasks are urgent and important Throughput of single processor is limited by technological causes There are a lot of “heavy” tasks which can and need to be solved using parallel computations There are a lot of tasks which are based on space- distributed computer systems

6 Definition of Cellular Automaton Cellular automaton A is a set of four objects A =, where  G – grid, set of cells  Z – set of possible cells states  N – set, which describes cells neighborhood  f – transition function, rules of the automaton: Z |N|+1  Z (for automaton, which has cells “with memory”) Z |N|  Z (for automaton, which has “memoryless” cells)

7 Two-Dimensional Grids Cells that have a common edge with the involved are named as “main neighbors” of the cell (are showed with hatching) The set of actual neighbors of the cell a, which can be found according to N, is denoted as N(a)

8 Basic Cellular Automata Properties  Transition function is to be local  System is to be similar for all the cells To avoid side effects grid can use boundary conditions  Torus  Mobius band  Constant  All cells get their new values simultaneously, at the end of the timestep, after all new values were calculated for all cells

9 Definition of the Rings Ring is the set of cells. It can be introduced for each cell on the grid Let us assume the cell itself to be its cell of the zero ring and its nearest neighbors to be the cells of first ring of the involved cell For the current cell, its cells of the i-th ring are nearest neighbors of members of (i– 1)-th ring, excluding cells of (i–1)-th and (i– 2)-th rings

10 Definition of the Rings Formally, if R(a, i) is a set of cells of i-th ring of cell a, then if N describes cells neighborhood as the set of its nearest neighbors, following formula will take place

11 Rings for Grid of Triangles Different rings are showed with hatching or color

12 Rings for Grid of Squares Different rings are showed with hatching or color

13 Rings for Grid of Hexagons Different rings are showed with hatching or color

14 Definition of the Metrics Distance function D(a, b) for retrieving remoteness between cells a and b can be denoted as follows It is proved that this function satisfies to all metrics properties The notion of ring may be generalized for multi- dimensional grids and the distance function, given by last formula, will remain the same

15 The Problem “Cellular automaton” is specific parallel architecture so it needs specific hardware or at least software platform Multifunctional environment for solving problems with the help of cellular automata will allow to use computers as  assembly for physical, chemical, biological and other experiments (may be very expensive)  tool for execution, visualization and analysis of parallel computations

16 CAME & L Cellular Automata Modeling Environment & Library Windows-based software, that is desired to be simple, extensible workspace for complicated cellular calculations

17 Why CAME & L?  Existing products put limitations over automata that can be used  Majority of existing products do not satisfy modern requirements to user interface and do not support contemporary technologies  Many existing products have complicated languages for cellular automata description

18 Advantages of CAME & L  Existing products put limitations over automata that can be used  Majority of existing products do not satisfy modern requirements to user interface and do not support contemporary technologies  Many existing products have complicated languages for cellular automata description  No limitations at all  Handy user interface with the support of useful features  C++ or any other language that was developed

19 CAME & L Components  Each experiment is controlled and implemented by “components”  Components may be used in different combinations and add arbitrary functionality  Each component declares list of its parameters which are used for the tuning  Each component is a dynamic link library  Components are to be realized using Cellular Automata Developing Library (CADLib)

20 CADLib  For CADLib User = Developer = Researcher  CADLib presents rich set of instruments for components development  This is a С++ class library for further enlarging and reusing  It also contains some useful functions, constants and macrodefinitions

21 CADLib Rich and well structured class hierarchy provides easy-to-use and powerful toolkit It makes possible to customize all necessary behavior of system

22 CAME & L Components Each automaton consists of four components  Grid – implements visualization of grid and cells navigation  Datum – maintains data storage  Metrics – provides the relationship of neighborhood, distance function and assigns coordinates to cells  Rules – describes computations (initialization, iteration and finalization) Other type of components:  Analyzer – allows to keep an eye on definite properties of automaton

23 Why Is Separate Metrics Component Needed?  It was possible to place necessary functionality to the datum component  Metrics is separate component because this fact gives opportunity to use non- standard coordinate systems. For example, generalized coordinates

24 What is Generalized Coordinates? The idea is to enumerate all cells of the grid. It must be done without any blanks. Each number is to have one and only one corresponding cell There must be the way to find cells nearest neighbors. It will be enough to work with any neighborhood The method of associating cells with generalized coordinates can be different. The main aim is to introduce them in the way, which allows to retrieve cells neighbors as fast as possible

25 Spiral Generalized Coordinates for Hexagonal Grid Choose any cell as zero cell and then enumerate cells in each its ring clockwise There are formulae for retrieving coordinates of nearest cells in this metrics

26 Generalized Coordinates for Grid of Triangles After applying spiral generalized coordinates for hexagons, each triangles coordinate can be got as coordinate of hexagon, multiplied by six and added index of triangle inside the hexagon

27 Generalized Coordinates for Grid of Triangles  In this metrics there is no need to consider two variants of cells orientation separately  Tests shows, that this way of introducing of generalized coordinates for the grid of triangles allows to calculate the nearest neighbor cells several times faster than a spiral way for this grid. The cause is in complexity of a ring for the grid of triangles recursion which is used for spiral coordinates of non- main cells neighbors, but in the grid of hexagons all cells neighbors are main

28 Generalized Coordinates Based on Composite Cubicles  Useful for performance optimization as for triangular grid based on hexagonal cubicles  Allows to introduce coordinates for complicated grids as the “soccer ball” grid

29 Spiral Generalized Coordinates  There are formalisms of spiral generalized coordinates for all three possible two- dimensional grids of regular polygons  This concept may be used for multidimensional and more complicated grids

30 Generalized Coordinates – Disadvantage and Advantages  Main disadvantage of the offered approach is that calculations of neighbors are slower than, for example, for the Cartesian case  Generalized coordinates provide a universal way of data storage for different grids  Grid may be easily enlarged if it is necessary  Serial data is easier to serialize and store  Independency from the zero- cells position gives the opportunity to move it to the place where it would be more useful  Generalized coordinates is just a concept, so it could be adopted for the definite task

31 Generalized Coordinates for Parallel Computations Cellular automata are the models of parallel computations with infinite extent of parallelism. Using the generalized coordinates the system with infinite extent of parallelism can be emulated with the help of several interacting Turing machines. A single machine used to work with data storage (the tape) and other machines are used for neighbors calculations and synchronization

32 Rules Component Functions Other existing projects  Rules = Transition function  Use many languages for transition functions description CAME & L  Rules component fully describes computations Method of parallelization Computations optimization … Transition function  Single rules component may represent a parser of language for transition functions description and work with arbitrary transition functions (not with only one)

33 Analysis of Experiment  Rules component declares list of values which are interesting for the researcher  These values are calculated during the iteration  Analyzer component allows to study these values changing Draw graphs Build reports to file …

34 Cellular Automata Properties In CAME & L  Transition function is to be local  System is to be similar for all the cells To avoid side effects grid can use boundary conditions  All cells get their new values simultaneously, at the end of the timestep, after all new values were calculated for all cells  Transition function can be not local  System can be not similar for all the cells Standard datum components allows to select boundary conditions  Each cells can get new value just after it was calculated

35 CAME & L Features  Allows to use arbitrary automata without any limitations  Has handy rich user interface. Supportshandy Undo-redo functionality Clipboard operations Printing, saving pictures for illustrating articles Many many other features  Stores data in XML files, that can become standard for cellular information interchange  Can compress data on the fly using BZip2 algorithm

36 CAME & L Features  Has multidocument interface allows to work with several automata simultaneously allows to implement automata interactions  Has rich toolkit to control, study and analyze the experiment experiment  Allows to build graphs of computations performance  Is provided with examples of different components, which can be used for users tasks solving or as a basis of users components

37 CAME & L Features  Allows to perform parallel computations On multiprocessor computer On cluster  Allows to arrange clusters In local area network In the Internet  Uses novel network Commands Transfer Protocol (CTP) for cluster computations Fast, reliable and featureful

38 CAME & L Project  Project was announced on International Conference on Computational Sciences 2003 (Melbourne – Saint-Petersburg, June 2003) and attracts interest of scientists  The work is in progress