1 / 32

Ontogenetic systems

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.

paula-carr
Download Presentation

Ontogenetic systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Introduction At the heart of the growth of a multi-cellular organism is the process of cellular division… … aka (in computing) self-replication

  3. Demonstration

  4. 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

  5. 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

  6. Development in hardware – Why? • 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. × IN ×+ ÷≠ FFT + DCT OUT

  7. 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 …

  8. 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 × IN ×+ ×+ ÷≠ FFT + DCT OUT

  9. 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

  10. × ×+ ÷≠ FFT + DCT Development in hardware – Why? • Step 1: analyze the application and extract the component tasks × IN ×+ ÷≠ FFT + DCT OUT

  11. × ×+ ÷≠ FFT + DCT Development in hardware – Why? • Step 2: as a function of the tasks, design one (or more) custom processors. × IN ×+ ÷≠ FFT + DCT OUT

  12. × ×+ ÷≠ FFT + DCT Development in hardware – Why? • Step 3: program the FPGA to implement an array of processors. × IN ×+ ÷≠ FFT + DCT OUT

  13. + ×+ FFT DCT × ÷≠ × ×+ ÷≠ FFT + DCT IN OUT Development in hardware – Why? • Step 4: Assign the tasks to the processing nodes and set up the connection network. × IN ×+ ÷≠ FFT + DCT OUT

  14. 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) Development in hardware – Why?

  15. Self-replicating CA • Question: are the “standard” self-replicating loops well adapted to self-replication in FPGAs? Not really! • New algorithms are needed

  16. The Tom Thumb algorithm • In an FPGA, self-replication = copy of the configuration • Need algorithms that can evolve in an FPGA environment

  17. The Tom Thumb algorithm Simple(st) example: Assume a configuration (shift) register of 4x4 bits

  18. The Tom Thumb algorithm - States Data information

  19. The Tom Thumb algorithm - States Data information

  20. The Tom Thumb algorithm - States Flag data

  21. The Tom Thumb algorithm - States Flag data

  22. The Tom Thumb algorithm - Rules • Instead of a look-up table, the rules are defined by the motion of data and signals

  23. The Tom Thumb algorithm - Rules • Instead of a look-up table, the rules are defined by the motion of data and signals

  24. The Tom Thumb algorithm Note: the genome must be injected twice

  25. The Tom Thumb algorithm

  26. The Tom Thumb algorithm Loop of 2x4 molecules

  27. The Tom Thumb algorithm Loop of 4x4 molecules

  28. Basic cell made of 12 x 6 = 72 molecules The Tom Thumb algorithm - Example Original specifications

  29. The Tom Thumb algorithm - Example Genome made of 144 characters

  30. Ontogenetic hardware • Ok, so the Tom Thumb algorithm can self-replicate an arbitrary structure within an FPGA • But what kindof structures is it interesting to self-replicate

More Related