Ontogenetic systems Drawing inspiration from growth and healing processes of living organisms… …and applying them to electronic computing systems Phylogeny.

Slides:



Advertisements
Similar presentations
University of South Australia Distributed Reconfiguration Avishek Chakraborty, David Kearney, Mark Jasiunas.
Advertisements

Hardware/ Software Partitioning 2011 年 12 月 09 日 Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These.
ECE-777 System Level Design and Automation Hardware/Software Co-design
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.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Introduction to digital signal processing T he development is a result of advances in digital computer technology and integrated circuit fabrication. Computers.
Reconfigurable Computing: What, Why, and Implications for Design Automation André DeHon and John Wawrzynek June 23, 1999 BRASS Project University of California.
Producing Artificial Neural Networks using a Simple Embryogeny Chris Bowers School of Computer Science, University of Birmingham White.
ENGIN112 L38: Programmable Logic December 5, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 38 Programmable Logic.
Physical Design Outline –What is Physical Design –Design Methods –Design Styles –Analysis and Verification Goal –Understand physical design topics Reading.
Parallel Algorithms - Introduction Advanced Algorithms & Data Structures Lecture Theme 11 Prof. Dr. Th. Ottmann Summer Semester 2006.
CS 151 Digital Systems Design Lecture 38 Programmable Logic.
Heterogeneous Computing Dr. Jason D. Bakos. Heterogeneous Computing 2 “Traditional” Parallel/Multi-Processing Large-scale parallel platforms: –Individual.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
Rohit Ray ESE 251. What are Artificial Neural Networks? ANN are inspired by models of the biological nervous systems such as the brain Novel structure.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
High-Quality, Deterministic Parallel Placement for FPGAs on Commodity Hardware Adrian Ludwin, Vaughn Betz & Ketan Padalia FPGA Seminar Presentation Nov.
Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.
Reconfigurable Devices Presentation for Advanced Digital Electronics (ECNG3011) by Calixte George.
Introduction to Neural Networks. Neural Networks in the Brain Human brain “computes” in an entirely different way from conventional digital computers.
Reconfigurable POEtic Tissuehttp:// Project start and duration: September 1, 2001, 36 months. IST POETIC Reconfigurable.
Bulk Synchronous Parallel Processing Model Jamie Perkins.
Cosc 4242 Signals and Systems Introduction. Motivation Modeling, characterization, design and analysis of natural and man-made systems General approaches.
NIMIA October 2001, Crema, Italy - Vincenzo Piuri, University of Milan, Italy NEURAL NETWORKS FOR SENSORS AND MEASUREMENT SYSTEMS Part II Vincenzo.
Self-replication of complex machines. Cellular Self-Replication The molecular FPGA is used to CREATE the array of cells in the first place, before differentiation.
Lecture on Computer Science as a Discipline. 2 Computer “Science” some people argue that computer science is not a science in the same sense that biology.
집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
Advanced Computer Architecture, CSE 520 Generating FPGA-Accelerated DFT Libraries Chi-Li Yu Nov. 13, 2007.
Course material – G. Tempesti Course material will generally be available the day before the lecture Includes.
Reminder Lab 0 Xilinx ISE tutorial Research Send me an if interested Looking for those interested in RC with skills in compilers/languages/synthesis,
Fuzzy Genetic Algorithm
Embedding Constraint Satisfaction using Parallel Soft-Core Processors on FPGAs Prasad Subramanian, Brandon Eames, Department of Electrical Engineering,
Introduction to Reconfigurable Computing Greg Stitt ECE Department University of Florida.
Chapter 5B: Hardware/Software Codesign / Partitioning EECE **** Embedded System Design.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Mohammadreza Baharani University of Tehran School of Electrical and Computer Engineering Spring 2010 Class presentation for the course: “Custom Implementation.
Systems Biology ___ Toward System-level Understanding of Biological Systems Hou-Haifeng.
Lecture 13: Logic Emulation October 25, 2004 ECE 697F Reconfigurable Computing Lecture 13 Logic Emulation.
EE3A1 Computer Hardware and Digital Design
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
ELeaRNT: Evolutionary Learning of Rich Neural Network Topologies Authors: Slobodan Miletic 3078/2010 Nikola Jovanovic 3077/2010
2-PAD Digital Beamformer Chris Shenton11 th October PAD Digital Beamformer Chris Shenton 11 th October 2007.
FOUNDATION IN INFORMATION TECHNOLOGY (CS-T-101) TOPIC : INFORMATION SYSTEM – SOFTWARE.
“Politehnica” University of Timisoara Course Advisor:  Lucian Prodan Evolvable Systems Web Page:   Teaching  Graduate Courses Summer.
“Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010.
Reconfigurable architectures ESE 566. Outline Static and Dynamic Configurable Systems –Static SPYDER, RENCO –Dynamic FIREFLY, BIOWATCH PipeRench: Reconfigurable.
Self-Adaptive Embedded Technologies for Pervasive Computing Architectures Self-Adaptive Networked Entities Concept, Implementations,
Evolvable Hardware Questions What is it? Why do we want it? Who is it for? How do we get it?
Evolving, Adaptable Visual Processing System Simon Fung-Kee-Fung.
DATA STRUCTURES (CS212D) Overview & Review Instructor Information 2  Instructor Information:  Dr. Radwa El Shawi  Room: 
1 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Fri 11/18/2011 (Evolvable.
Ontogenetic hardware Ok, so the Tom Thumb algorithm can self- replicate an arbitrary structure within an FPGA But what kind of structures is it interesting.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
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.
Reconfigurable Computing1 Reconfigurable Computing Part II.
Two-Dimensional Phase Unwrapping On FPGAs And GPUs
Dynamo: A Runtime Codesign Environment
Evaluation Forms for Blockchain- Based System ver. 1.0
Introduction
Fault-Tolerant NoC-based Manycore system: Reconfiguration & Scheduling
Introduction to Reconfigurable Computing
Anne Pratoomtong ECE734, Spring2002
Introduction to Embedded Systems
Instructor: Dr. Phillip Jones
Utility-Function based Resource Allocation for Adaptable Applications in Dynamic, Distributed Real-Time Systems Presenter: David Fleeman {
Ontogenetic hardware Ok, so the Tom Thumb algorithm can self-replicate an arbitrary structure within an FPGA But what kind of structures is it interesting.
Advanced Digital Systems Design Methodology
ARTIFICIAL NEURAL networks.
Lecture One: Automata Theory Amjad Ali
Presentation transcript:

Ontogenetic systems Drawing inspiration from growth and healing processes of living organisms… …and applying them to electronic computing systems Phylogeny (P) [Evolvability] Epigenesis (E) [Adaptability] Ontogeny (O) [Scalability] PO hw POE hw OE hw PE hw

Introduction Motivations for growth-based approaches : Tackling complexity through scalability

Introduction Motivations for growth-based approaches : Tackling complexity through scalability Several “theoretical” approaches: L-Systems “Blob” computing Morphogenesis Neuronal growth Few practical approaches in electronics

Introduction Motivations for growth-based approaches : Tackling complexity through scalability Fault tolerance through redundancy

Development in hardware Mechanisms inspired by the biological process of growth (and healing) applied to networks of processing elements The goal is NOT to mimic biology (or help biologists) but to solve problems in hardware design The goal is NOT to grow form (morphogenesis), but function! i.e., design systems that use development to execute an application better/more efficiently/with non- standard constraints

Let us assume that we want to implement a streaming application (i.e. an application that consists of a chain of discrete operations). For example an audio or video decoder. × Development in hardware – Why? ×+÷≠ FFT +IN DCT OUT

Development in hardware – Why? Option 1: software only OK, but (relatively) slow Option 2: hardware – full custom circuit Very fast, but expensive and inflexible (if the algorithm changes, the circuit must be redesigned) Option 3: hardware – dedicated processor Fast, but again if the algorithm changes, it needs to be redesigned together with the compiler, the programming tools, etc. Option 4: hardware – array of processing nodes …

Development in hardware – Why? Option 4.1: hardware – array of general-purpose processing nodes Fast, very much in fashion (multi-core, GPU), but very difficult to program and again not very flexible. Option 4.1: hardware – array of custom processing nodes Very fast, but difficult to implement and design ×+÷≠ FFT + × DCT ×+INOUT

Development in hardware – Why? FPGAs (of various flavours) are the obvious solution to implement arrays of custom processors But the design process is NOT simple

Development in hardware – Why? Step 1: analyze the application and extract the component tasks ×+÷≠ FFT + × DCT ×+÷≠ FFT + × IN DCT OUT

Development in hardware – Why? Step 2: as a function of the tasks, design one (or more) custom processors. ×+÷≠ FFT + × DCT ×+÷≠ FFT + × IN DCT OUT

Development in hardware – Why? Step 3: program the FPGA to implement an array of processors. ×+÷≠ FFT + × DCT ×+÷≠ FFT + × IN DCT OUT

Development in hardware – Why? Step 4: Assign the tasks to the processing nodes and set up the connection network. ×+÷≠ FFT + × DCT ×+÷≠ FFT + × IN DCT OUT × ×+ IN ÷≠ FFT + DCT OUT

Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design the custom processors Step 3: program the FPGA Step 4: assign the tasks to the processors and set up the connection network ← Multi-cellular organization ← Evolutionary process ← Totipotent / stem cells ← Growth (cellular division) ← Growth (cellular differentiation)

×+÷≠ FFT + × DCT Programmable substrate Growth Application self-organizes in a programmable substrate ×+÷≠ FFT + × IN DCT OUT

Environmental adaptation Self-organization is hard to justify for silicon! …unless growth and structural adaptation cannot be represented in a genome: they are influenced by environmental variables. Substrate defects Runtime faults Performance parameters

Programmable substrate Fault tolerance Faults at fabrication are increasing. Self-organization is back! Online faults are increasing Self-organization is back! Similar mechanisms can be used for development and for self-repair (stem cells + differentiation!). Fault tolerance = environmental adaptation. ×+÷≠+ × DCT FFT ××

Environmental adaptation Application self-organizes depending on input stream – structural adaptation ×+÷≠ FFT + × IN DCT OUT FFT2DCT ×+÷≠ FFT + × DCT FFT2DCT FFT DCT

Next lectures Lecture 2 – Week 4 (Nov. 1): Cellular automata and self-replication Lecture 3 – Week 4 (Nov. 4): Self-replicating loops and the Tom Thumb algorithm Lecture 4 – Week 5 (Nov. 7): Embryonics Lecture 5 – Week 6 (Nov. 18): Self-replicating electronic circuits Lecture 6 – Week 8 (Nov. 29): Adaptive processor arrays Lecture 7 – Week 8 (Dec. 2): Adaptive processor arrays - continued Lecture 8 – Week 9 (Dec. 6): BioWall demo