Ontogenetic systems

Post on 03-Jan-2016

35 views 0 download

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

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

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

… aka (in computing) self-replication

Demonstration

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

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

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

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

← Growth (cellular division)

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

well adapted to self-replication in FPGAs?

Not really! New algorithms are needed

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

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

The Tom Thumb algorithm

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

Data information

: mobile molcode

: fixed molcode

: mobile flag

: fixed flag

M

F

M

F

The Tom Thumb algorithm - States

Flag data

: north connection (8)

: east connection (9)

: south connection (A)

: west connection (B)

The Tom Thumb algorithm - States

Flag data

: branch activation (C)

: north branch (D)

: east branch (E)

The Tom Thumb algorithm - States

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:

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’’

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

The Tom Thumb algorithm

Loop of 2x4 molecules

The Tom Thumb algorithm

Loop of 4x4 molecules

The Tom Thumb algorithm

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

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

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