“Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010.

Slides:



Advertisements
Similar presentations
Computer Architecture
Advertisements

Defect Tolerance for Yield Enhancement of FPGA Interconnect Using Fine-grain and Coarse-grain Redundancy Anthony J. YuGuy G.F. Lemieux September 15, 2005.
CSCE430/830 Computer Architecture
Fault-Tolerant Systems Design Part 1.
1/1/ /e/e eindhoven university of technology Microprocessor Design Course 5Z008 Dr.ir. A.C. (Ad) Verschueren Eindhoven University of Technology Section.
Lecture 9: Coarse Grained FPGA Architecture October 6, 2004 ECE 697F Reconfigurable Computing Lecture 9 Coarse Grained FPGA Architecture.
DSD 2007 Concurrent Error Detection for FSMs Designed for Implementation with Embedded Memory Blocks of FPGAs Andrzej Krasniewski Institute of Telecommunications.
Embryonics: A New Methodology for Designing Field-Programmable Gate Arrays with Self-Repair and Self-Replicating Properties Laboratory for Reliable Computing.
1 Sec (2.1) Computer Architectures. 2 For temporary storage of information, the CPU contains cells, or registers, that are conceptually similar to main.
Registers  Flip-flops are available in a variety of configurations. A simple one with two independent D flip-flops with clear and preset signals is illustrated.
Basic Input/Output Operations
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ input/output and clock inputs Sequence of control signal combinations.
FPGA Defect Tolerance: Impact of Granularity Anthony YuGuy Lemieux December 14, 2005.
CS294-6 Reconfigurable Computing Day 3 September 1, 1998 Requirements for Computing Devices.
ECE 331 – Digital System Design Tristate Buffers, Read-Only Memories and Programmable Logic Devices (Lecture #16) The slides included herein were taken.
Page 1 Copyright © Alexander Allister Shvartsman CSE 6510 (461) Fall 2010 Selected Notes on Fault-Tolerance (12) Alexander A. Shvartsman Computer.
Chapter 7 – Registers and Register Transfers Part 1 – Registers, Microoperations and Implementations Logic and Computer Design Fundamentals.
1 A survey on Reconfigurable Computing for Signal Processing Applications Anne Pratoomtong Spring2002.
Ontogenetic systems Drawing inspiration from growth and healing processes of living organisms… …and applying them to electronic computing systems Phylogeny.
Design for Testability
C.S. Choy95 COMPUTER ORGANIZATION Logic Design Skill to design digital components JAVA Language Skill to program a computer Computer Organization Skill.
Development in hardware – Why? Option: array of custom processing nodes Step 1: analyze the application and extract the component tasks Step 2: design.
Unit 9 Multiplexers, Decoders, and Programmable Logic Devices
Matthew Ziegler CS 851 – Bio-Inspired Computing Evolvable Hardware and the Embryonics Approach.
Levels of Architecture & Language CHAPTER 1 © copyright Bobby Hoggard / material may not be redistributed without permission.
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.
Seattle June 24-26, 2004 NASA/DoD IEEE Conference on Evolvable Hardware Self-Repairing Embryonic Memory Arrays Lucian Prodan Mihai Udrescu Mircea Vladutiu.
CS1104 – Computer Organization PART 2: Computer Architecture Lecture 12 Overview and Concluding Remarks.
Fault-Tolerant Systems Design Part 1.
Basic Sequential Components CT101 – Computing Systems Organization.
More Digital circuits. Ripple Counter The most common counter The problem is that, because more than one output is changing at once, the signal is glichy.
Computer Organization - 1. INPUT PROCESS OUTPUT List different input devices Compare the use of voice recognition as opposed to the entry of data via.
+ CS 325: CS Hardware and Software Organization and Architecture Memory Organization.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
SKILL AREA: 1.2 MAIN ELEMENTS OF A PERSONAL COMPUTER.
Computer Science 101 Computer Systems Organization.
Fault-Tolerant Systems Design Part 1.
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
“Politehnica” University of Timisoara Course Advisor:  Lucian Prodan Evolvable Systems Web Page:   Teaching  Graduate Courses Summer.
Computer Organization CDA 3103 Dr. Hassan Foroosh Dept. of Computer Science UCF © Copyright Hassan Foroosh 2002.
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.
Reconfigurable Architectures Greg Stitt ECE Department University of Florida.
1 3 Computing System Fundamentals 3.2 Computer Architecture.
Gunjeet Kaur Dronacharya Group of Institutions. Outline I Random-Access Memory Memory Decoding Error Detection and Correction Read-Only Memory Programmable.
A Survey of Fault Tolerant Methodologies for FPGA’s Gökhan Kabukcu
BASIC COMPUTER ARCHITECTURE HOW COMPUTER SYSTEMS WORK.
Seminar On Rain Technology
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.
Recap – Our First Computer WR System Bus 8 ALU Carry output A B S C OUT F 8 8 To registers’ read/write and clock inputs Sequence of control signal combinations.
Reconfigurable Computing1 Reconfigurable Computing Part II.
Network-Attached Storage. Network-attached storage devices Attached to a local area network, generally an Ethernet-based network environment.
Winter Semester 2010 ”Politehnica” University of Timisoara Course No. 5: Expanding Bio-Inspiration: Towards Reliable MuxTree  Memory Arrays – Part 2 –
ETE Digital Electronics
Sequential Logic Design
Architectures of Digital Information Systems Part 1: Interrupts and DMA dr.ir. A.C. Verschueren Eindhoven University of Technology Section of Digital.
Basic Computer Organization and Design
6. Structure of Computers
Complex Programmable Logic Device (CPLD) Architecture and Its Applications
Embedded Systems Design
Anne Pratoomtong ECE734, Spring2002
Sequential circuits and Digital System Reliability
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
Mattan Erez The University of Texas at Austin July 2015
Wavelet “Block-Processing” for Reduced Memory Transfers
Chapter 5: Computer Systems Organization
Packet Classification with Evolvable Hardware Hash Functions
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.
Seminar on Enterprise Software
Presentation transcript:

“Politehnica” University of Timisoara Course No. 3: Project E MBRYONICS Evolvable Systems Winter Semester 2010

The 4 levels of Embryonics Population level (∑ organisms) Organism level (∑ cells) Cell level (∑ molecules) Molecule level (∑ transistors = FPGA)

Multi-Cellular Organization An organism is an application-specific computing system, implemented as a two-dimensional array of simple processors (the cells). Each cell executes a program, the gene. All the cells operate in parallel. Together, the cells realize the desired application.

Cellular Differentiation Each cell contains all the programs of all the cells in the organism: the genome. Each cell executes one of the genes in the genome, depending on its spatial position in the array, identified by a set of [X,Y] coordinates.

Cellular Self-Repair The capability for self-repair at the cellular level is a direct consequence of the coordinate system. Since each cell contains the entire genome, the re- computation of the coordinates automatically reassigns the tasks in the array. No transfer of programs is necessary.

Multi-Molecular Organization A cell, to be truly universal, must be adapted to the application. This versatility can be obtained by breaking it down into simpler components: the molecules. Each molecule is the element of a field-programmable gate array (FPGA). The function and the connections of the molecule are defined by its molcode.

The MUXTREE Molecule Our molecule (MUXTREE) is a very fine-grained FPGA element, including all the "standard" components. The molcode is stored in a single 20-bit long shift register (the configuration register CREG).

Molecular Configuration During configuration, all the configuration registers within a cell are chained together to form a single long shift register. The borders of the cells, required for self-replication are defined by the space divider, which also defines the spare columns required for self-repair.

The MUXTREE Molecule Every cell must store the (large) genome program. Unfortunately, the only memory elements in the MUXTREE molecule are a single D-type flip-flop and the configuration register CREG.

The Genome Memory A "conventional" addressable memory (ROM) is not suited to our architecture (decoding logic too large, incompatible storage). However, the access pattern of the genome program allows us to use a different kind of memory, which we will call cyclic memory. Performance-wise, it is not efficient (jumps) but the storage structure is perfectly suited to a shift-register implementation.

Genome Memory: Implementation X0 INPUT SELECT[7:0]FU[2:0]SWITCH BLOCK[7:0] 01 DATA[7:0]MEM[2:0]SWITCH BLOCK[7:0] 11 DATA[15:0]MEM[2:0] FFCREG[19:0] A: B: C: Our configuration register CREG is a shift register. And all the connections required for a cyclic memory are already in place for configuration and/or repair.

MUXTREE: Test & Repair Every component of a molecule should be tested online. Unfortunately, this implies a staggering overhead. Possible solution: test online the most active parts (FU), offline the static parts (CREG). Connections are a major problem (testing a wire).

Testing at Configuration Time During configuration, the registers CREG can be fully tested with a minimal amount of overhead. The connections can be re-routed on the fly, re- distributing the functionality of the array.

Genome Memory: Test When used as memory, the registers CREG become active parts of the circuit. They should be tested online. Duplication is a feasible, high-overhead (redundancy) solution, inspired by the DNA’s double helix. 01 DATA[7:0]MEM[2:0]~DATA[7:0] FFCREG[19:0] D: COMP ERR

Genome Memory: Repair To repair a memory element, duplication is not sufficient. Triplication becomes necessary, associated with a majority function. The overhead rapidly increases. Another option is to consider the fault non-repairable, and seek a different (software) repair strategy. 01 DATA[4:0] MEM[2:0] FFCREG[19:0] E: COMP ERR DATA[4:0] MAJ RECOVER 0

Self-Repair: the KILL Signal For practical reasons, the self-repair mechanism at the molecular level is limited. Too many faults too close together (or a non-repairable fault) can overwhelm it. When such a failure occurs, the dying molecule sends a KILL signal that causes all the molecules in a column of cells (defined by the space divider) to die.

Hierarchical Self-Repair The KILL signal at the molecular level is the mechanism that allows the self-repair at the cellular level to work. 

Self-Repair: the UNKILL process The majority of hardware faults in a digital circuit are transient, that is, disappear after a while. As soon as cellular self-repair is over, the dead molecular tissue attempts to re-configure itself. This process is completely invisible to the upper layers of the system, i.e. the organism keeps working.

Hierarchical UNKILL If a sufficient number of faults has disappeared, the column of cells "comes back to life" via an UNKILL process (very similar to the KILL process). 

Conclusions  Ontogenetic systems are necessarily large and operate over long periods. Fault tolerance is a must both for the logic and for the memories, independently of their implementation, and transient faults cannot be ignored.  Fault tolerance implies overhead (hardware or software). How much overhead is acceptable? What is the overhead in nature?  Hardware testing (proteins within a cell) is not sufficient: higher-level software testing (immune system?) must aid the hardware.