Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.

Slides:



Advertisements
Similar presentations
MEMORY popo.
Advertisements

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.
Fall 2012SYSC 5704: Elements of Computer Systems 1 MicroArchitecture Murdocca, Chapter 5 (selected parts) How to read Chapter 5.
CPT 310 Logic and Computer Design Instructor: David LublinerPhone Engineering Technology Dept.Cell
H. F. Restrepo – Logic Systems Laboratory A Self-Replicating Universal Turing Machine.
MICROPROGRAM CONTROL.
Charles Kime © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 7 – Registers and Register Transfers Part 3 – Control of.
Embryonics: A New Methodology for Designing Field-Programmable Gate Arrays with Self-Repair and Self-Replicating Properties Laboratory for Reliable Computing.
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Sequential Circuits.
Memory Organization.
Chapter 9 Virtual Memory Produced by Lemlem Kebede Monday, July 16, 2001.
State Machines Timing Computer Bus Computer Performance Instruction Set Architectures RISC / CISC Machines.
Field Programmable Gate Array (FPGA) Layout An FPGA consists of a large array of Configurable Logic Blocks (CLBs) - typically 1,000 to 8,000 CLBs per chip.
A New Kind of Science Chapter 3 Matthew Ziegler CS 851 – Bio-Inspired Computing.
Ontogenetic systems Drawing inspiration from growth and healing processes of living organisms… …and applying them to electronic computing systems Phylogeny.
Chapter 3 Digital Logic Structures. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 3-2 Building Functions.
9/20/6Lecture 3 - Instruction Set - Al1 Address Decoding for Memory and I/O.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
1 5. Application Examples 5.1. Programmable compensation for analog circuits (Optimal tuning) 5.2. Programmable delays in high-speed digital circuits (Clock.
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
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.
1 5. Application Examples 5.1. Programmable compensation for analog circuits (Optimal tuning) 5.2. Programmable delays in high-speed digital circuits (Clock.
Course material – G. Tempesti Course material will generally be available the day before the lecture Includes.
J. Christiansen, CERN - EP/MIC
Seattle June 24-26, 2004 NASA/DoD IEEE Conference on Evolvable Hardware Self-Repairing Embryonic Memory Arrays Lucian Prodan Mihai Udrescu Mircea Vladutiu.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Basic Sequential Components CT101 – Computing Systems Organization.
Computer Architecture Memory organization. Types of Memory Cache Memory Serves as a buffer for frequently accessed data Small  High Cost RAM (Main Memory)
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
MEMORY ORGANIZTION & ADDRESSING Presented by: Bshara Choufany.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Computer Architecture And Organization UNIT-II General System Architecture.
Mohammadreza Baharani University of Tehran School of Electrical and Computer Engineering Spring 2010 Class presentation for the course: “Custom Implementation.
MAPLD 2005/254C. Papachristou 1 Reconfigurable and Evolvable Hardware Fabric Chris Papachristou, Frank Wolff Robert Ewing Electrical Engineering & Computer.
CDA 3101 Fall 2013 Introduction to Computer Organization The Arithmetic Logic Unit (ALU) and MIPS ALU Support 20 September 2013.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
Rinoy Pazhekattu. Introduction  Most IPs today are designed using component-based design  Each component is its own IP that can be switched out for.
Computer Architecture Lecture 32 Fasih ur Rehman.
EEC4133 Computer Organization & Architecture Chapter 9: Advanced Computer Architecture by Muhazam Mustapha, May 2014.
“Politehnica” University of Timisoara Course Advisor:  Lucian Prodan Evolvable Systems Web Page:   Teaching  Graduate Courses Summer.
Cellular Automata FRES 1010 Eileen Kraemer Fall 2005.
“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.
MICROPROGRAMMED CONTROL
1 Advanced Digital Design Reconfigurable Logic by A. Steininger and M. Delvai Vienna University of Technology.
Evolving, Adaptable Visual Processing System Simon Fung-Kee-Fung.
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.
3/12/2013Computer Engg, IIT(BHU)1 CONCEPTS-1. Pipelining Pipelining is used to increase the speed of processing It uses temporal parallelism In pipelining,
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Evolvable Hardware (EHW) Topic Review S08*ENGG*6530 Antony Savich.
Processor Organization and Architecture Module III.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
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.
Computer Architecture Furkan Rabee
Winter Semester 2010 ”Politehnica” University of Timisoara Course No. 5: Expanding Bio-Inspiration: Towards Reliable MuxTree  Memory Arrays – Part 2 –
Sequential Logic Design
Computer Organization and Machine Language Programming CPTG 245
Computer Organization and Architecture + Networks
Chapter 9 – Real Memory Organization and Management
REGISTER TRANSFER LANGUAGE AND DESIGN OF CONTROL UNIT
Basic Processing Unit Unit- 7 Engineered for Tomorrow CSE, MVJCE.
Recall: ROM example Here are three functions, V2V1V0, implemented with an 8 x 3 ROM. Blue crosses (X) indicate connections between decoder outputs and.
Programmable Logic- How do they do that?
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.
FIGURE 5-1 MOS Transistor, Symbols, and Switch Models
Chapter 2 Operating System Overview
Presentation transcript:

Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach

2 Overview POE Model –The three axes of evolvable hardware Embryonics –Overview and hierarchy –Implementation approaches –Example applications Evaluation and Conclusion

3 POE Model Bio-inspired hardware can be partitioned along three axes –Phylogeny: temporal evolution (GAs) –Ontogeny: cellular division –Epigenesis: learning (ANNs)

4 Phylogenetic Axis (Evolving) All genetic operations carried out in hardware –Open-ended evolution (survivability) All genetic operations carried out in hardware –Not open-ended evolution Real Circuit –Some operations carried out in software Evolutionary circuit design –All operations carried out in software Phylogeny online offline

5 Ontogenetic Axis (Growing) Ontogeny involves growth, replication, regeneration Replication – exact duplicate, no genetic operators (ontogenetic) Reproduction – genetic operators involved (phylogenetic)

6 Epigenetic Axis (Learning) Rote learning vs. Intelligent learning –Intelligent learning involves generalization Predesigned systems can be viewed as a leaned systems with instinct –Learned systems are faster and less resource demanding Artificial Neural Networks are primary example Learning Systems Human brain consists of both learned and learning systems

7 POE Space PO plane – evolving hardware that exhibits replication characteristics PE plane – evolving hardware that can learn –Instincts arise during the course of evolution (Baldwin effect) –Language – humans have innate ability to learn language, but do not know language at birth OE plane – growing, learning hardware –Growing, adaptive neural networks based on information learned POE space – ANN (E), implemented via self-replicating multicellular automaton (O), whose genome is subject to evolution (P)

8 Embryonics Project Goals Multicellular organisms share the following features: 1.Multicellular Organization Organism divided into a finite number of cells Different types of cells realize different functions 2.Cellular Division Cells generate one or two daughter cells Entire genome copied in each daughter cell 3.Cellular Differentiation Each cell has a particular function, genome expression Cell function is determine by physical position in organism

9 Embryonics Hierarchy Population –group of organisms Organism –group of cells Cell –small processor and memory Molecule –FPGA element

10 Artificial Genome Operative Genome (OG) –program containing all genes, position in array determines which gene is expressed –each cell contains entire OG, i.e., instruction for all cells Ribosome Genome (RG) –configuration string to assign logic functions to each molecule Polymerase Genome (PG) –height and width of the cell (number of molecules), number of spare columns

11 Molecule MUX based FPGA element MOLCODE defines individual molecule configuration, portion of Ribosome Genome Molecule-level redundancy and error detection –Only checks MUX failure, what about registers? –Could add third MUX and voter for triple-modular redundancy (TMR) MOLCODE + (stored in registers)

12 Cell Cells composed of a group of molecules Spare columns included to account for faulty molecules Ribosome Genome –configuration string to assign logic functions to each molecule Polymerase Genome –height and width of the cell (number of molecules), number of spare columns

13 Cellular Fault Tolerance Faulty molecules replaced be spares Polymerase Genome determines the number of spare columns Example –Can tolerant one faulty molecule per column –Two faulty molecules results in a KILL No faults1 fault / col 2 faults / column

14 Cellular Replication Cell contains entire Operative Genome, but only one gene is expressed X-Y coordinates determine gene expression

15 Organism Group of cells forms an Organism X-Y coordinates determine gene expression

16 Organism Fault Tolerance A Faulty cell causes all cells in the column to be marked with a KILL Faulty column replaced by spare column

17 Population from Organism Replication Organism replicates in X-Y directions Organisms are required to be identical (apparently)

18 Implementation “Eventual Implementation” –Want flexible architecture that will eventually be implemented in a “new kind of fine-grained FPGA” –Each element consists of a MUX and programmable connection network ~ molecule First Demonstration system –essentially removes the concept of a molecule –Artificial cell implementation called MICTREE (microinstruction tree), based on a binary decision machine

19 MICTREE Implementation MICTREE cell sequentially executes programs using the following instruction set: Essentially a 4-bit wide processor Limited to 16 x 16 array (256 cells, register sizes) Microprogram limited to 1024 instructions (RAM size) –microprogram space for Operative Genome

20 Simple Example - StopWatch Simple organism with 4 cells –Countmod10 – counts tens minutes or seconds –Countmod6 – counts 6 tens minutes or seconds

21 Other Simple Examples Random number generator based of Wolfram’s CA Specialized Turing machine for parenthesis checking

22 Second Generation: MUXTREE Molecule MICTREE applications limited to 1024 instructions and 16 x16 arrays New molecule called MUXTREE (multiplexer tree) –Based on order binary decision diagrams –20-bit configuration string

23 Fault Tolerance in MUXTREE Muxes and register duplicated, output compared for fault Third copy of register is a present for self-repair (TMR) Configuration register tested every time (shift register) Faults in the switch block can be detected, but not repaired

24 MUXTREE Shift Binary Decision Machine 30 x 30 array (900) MUXTREE molecules, 2 Cells Program memory is a shift memory using the D-flip-flops in the MUXTREEs –Most of resources in MUXTREE wasted –Difficult to embed typical RAM in MUXTREE arrays Example application modulo-60 counter –Operative Genome has 36 instructions Shift Memory

25 Mapping the MUXTREE to an FPGA Storing the entire Operative Genome is in each cell is an inefficient use of hardware –Area for a living organism is less “expensive” than in hardware 16 MUXTREEs could be mapped to FPGA is OP is fully specified for each cell New version of MUXTREE, each cell stores only its own portion of the OG as well as all cells in a neighboring column –reduces storage requirements from n to n MUXTREEs mapped to FPGA in more recent work –example application is a frequency divider on one FPGA Is this reasonable?

26 Looking at the Numbers… 900 MUXTREEs for a shift binary decision machine –programmed to act as a modulo 60 counter 25 MUXTREE per FPGA 900 / 25 = 36 FPGAs?! - way too big! Optimal implementation of modulo 60 counter has –6 Registers, 6 muxes, 6 nand gates –should only occupy a small portion of one FPGA Frequency divider example –essentially a counter as well Optimal implementation would occupy small percentage of FPGA

27 Neat Idea, but Too Expensive Embryonics approach looks to have around x area overhead –too costly for current technologies –living organisms grow/evolve into “free” area, where as all hardware area must be allocated initially Speed and Power Consumption should lag behind conventional approaches as well + Plus Side –evolvable, reconfigurable design paradigm –multiple levels of fault-tolerance (important for future technologies) –may be more appealing for future technologies, if “area grows on trees”

28 Summary POE model is a reference for many evolvable hardware researchers –Phylogeny axis: evolving –Ontogeny axis: growing –Epigenesis axis: learning The Embryonics Approach is inspired by nature’s architecture –molecule, cell, organism, population Functioning prototype systems based on Embryonics have been demonstrated However, the hardware overhead is quite expensive for today’s technologies