20
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

Ontogenetic systems

  • Upload
    mingan

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: Ontogenetic systems

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

Page 2: Ontogenetic systems

Introduction

Motivations for growth-based approaches :Tackling complexity through scalability

Page 3: Ontogenetic systems

Introduction

Motivations for growth-based approaches :Tackling complexity through scalability

Several “theoretical” approaches:L-Systems “Blob” computing

MorphogenesisNeuronal growth

Few practical approaches in electronics

Page 4: Ontogenetic systems

Introduction

Motivations for growth-based approaches :Tackling complexity through scalabilityFault tolerance through redundancy

Page 5: Ontogenetic systems

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

Page 6: Ontogenetic systems

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

Page 7: Ontogenetic systems

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 …

Page 8: Ontogenetic systems

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×+IN OUT

Page 9: Ontogenetic systems

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

Page 10: Ontogenetic systems

Development in hardware – Why?

Step 1: analyze the application and extract the component tasks

×+ ÷≠ FFT +

×

DCT×+ ÷≠ FFT +

×

IN DCT OUT

Page 11: Ontogenetic systems

Development in hardware – Why?

Step 2: as a function of the tasks, design one (or more) custom processors.

×+ ÷≠ FFT +

×

DCT×+ ÷≠ FFT +

×

IN DCT OUT

Page 12: Ontogenetic systems

Development in hardware – Why?

Step 3: program the FPGA to implement an array of processors.

×+ ÷≠ FFT +

×

DCT×+ ÷≠ FFT +

×

IN DCT OUT

Page 13: Ontogenetic systems

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

Page 14: Ontogenetic systems

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)

Page 15: Ontogenetic systems

×+ ÷≠ FFT +

×

DCT

Programmable substrateProgrammable substrate

Growth

Application self-organizes in a programmable substrate

×+ ÷≠ FFT +

×

IN DCT OUT

Page 16: Ontogenetic systems

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

Page 17: Ontogenetic systems

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

× ×

Page 18: Ontogenetic systems

Environmental adaptation

Application self-organizes depending on input stream – structural adaptation

×+ ÷≠ FFT +

×IN

DCT

OUTFFT2 DCT

×+ ÷≠ FFT +

×

DCT

FFT2 DCT

FFT DCT

Page 19: Ontogenetic systems
Page 20: Ontogenetic systems

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