+ All Categories
Home > Documents > Ontogenetic systems

Ontogenetic systems

Date post: 03-Jan-2016
Category:
Upload: paula-carr
View: 35 times
Download: 0 times
Share this document with a friend
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
32
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
Transcript
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

At the heart of the growth of a multi-cellular organism is the process of cellular division…

… aka (in computing) self-replication

Page 3: Ontogenetic systems

Demonstration

Page 4: Ontogenetic systems

Langton’s Loop Environment: 8 (?) states, 5 neighbours (von

Neumann), rules designed by hand Initial configuration: 94 active cells (vs. 200k+ in

von Neumann’s Universal Constructor) Replication occurs after 151 iterations

Page 5: Ontogenetic systems

Self-replicating CA After von Neumann, nothing much happened for

almost 30 years! Why? Probably because the hardware wasn’t

ready. In the 90’s, FPGAs changed the scenario

PROGRAMMABLE CONNECTIONS

PROGRAMMABLE FUNCTIONS

CONFIGURATION

I/O ELEMENTSLOGIC ELEMENTS

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

← Growth (cellular division)

Page 15: Ontogenetic systems

Self-replicating CA Question: are the “standard” self-replicating loops

well adapted to self-replication in FPGAs?

Not really! New algorithms are needed

Page 16: Ontogenetic systems

The Tom Thumb algorithm

PROGRAMMABLE CONNECTIONS

PROGRAMMABLE FUNCTIONS

CONFIGURATION

I/O ELEMENTSLOGIC ELEMENTS

In an FPGA, self-replication = copy of the configuration

Need algorithms that can evolve in an FPGA environment

Page 17: Ontogenetic systems

Simple(st) example: Assume a configuration (shift) register of 4x4 bits

The Tom Thumb algorithm

Page 18: Ontogenetic systems

Data information

: empty data (0)

: molcode data (1 ... 7)

: flag data (8 ... E)

: don’t care data (1 ... E)

M

F

-

The Tom Thumb algorithm - States

Page 19: Ontogenetic systems

Data information

: mobile molcode

: fixed molcode

: mobile flag

: fixed flag

M

F

M

F

The Tom Thumb algorithm - States

Page 20: Ontogenetic systems

Flag data

: north connection (8)

: east connection (9)

: south connection (A)

: west connection (B)

The Tom Thumb algorithm - States

Page 21: Ontogenetic systems

Flag data

: branch activation (C)

: north branch (D)

: east branch (E)

The Tom Thumb algorithm - States

Page 22: Ontogenetic systems

The Tom Thumb algorithm - Rules Instead of a look-up table, the rules are defined

by the motion of data and signals

F

FM

F

M F

F’’ M F’ F’’ M F’

t t +1

shift data:

Page 23: Ontogenetic systems

The Tom Thumb algorithm - Rules Instead of a look-up table, the rules are defined

by the motion of data and signals

t t +1

load data:

F’M’F’’M’’ F’M’F’’M’’

Page 24: Ontogenetic systems

1 1 12 12 1

2

3 1

2

3 1

23

4 1

23

4 1

2 34

1 1

2 34

1 1

2 341

2 1

2 341

2 1

2 3

4

12

3 1

2 3

4

12

3 1

2 3

41

23

4 1

2 3

41

23

4 1

2 3

4

3

2

4

1 1

2 3

42

34

1 1

2 3

43

41

2 1

2 3

43

41

2 1

2 3

44

12

3 1

2 3

44

12

3 1

2 3

41

23

4

The Tom Thumb algorithm

Note: the genome must be injected twice

Page 25: Ontogenetic systems

The Tom Thumb algorithm

Page 26: Ontogenetic systems

Loop of 2x4 molecules

The Tom Thumb algorithm

Page 27: Ontogenetic systems

Loop of 4x4 molecules

The Tom Thumb algorithm

Page 28: Ontogenetic systems

Basic cell made of 12 x 6 = 72 molecules1

2

2 1

2

2

2 2

1

2 2

2

2

2

2

2

22

2

2

2 1

2 1

2

2

2 22

1 1

1 1

1 1

1 1

2

1 1 1

1 1

11

1

1 1

1

1

1

1

1

2

2

11

1

1

1

11

1

1

1

2

2

11 1

1

2

1

2

1

2

2

11

1

1

1

1

1

1

1

1

2

1

1

1

1

1

2

1

1

2

1

1

1

1

1

1

1

2

2

2

1

1

1

1

1

1

1

2

2

2

2

1

1

1

1

1

1

1

1

2

1

2

1

1

1 11

1

1

2

1

1

2

1

2

2

2

The Tom Thumb algorithm - Example

Original specifications

Page 29: Ontogenetic systems

Genome made of 144 characters

1

1

2 2 2 22

1 1 1

11 1 1 1

1

2 2 21 1 2

2

2

2

1

1

2

21

1 2 22

2 1

1 11 1 1 1

1

21

2 2

11 1

1 1 1 1 12

2 1

2

2

1 1 1 1 1 1 1 1

1 1

1

1

The Tom Thumb algorithm - Example

Page 30: Ontogenetic systems
Page 31: Ontogenetic systems
Page 32: Ontogenetic systems

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 to self-replicate


Recommended