Evolvable Hardware Questions What is it? Why do we want it? Who is it for? How do we get it?

Preview:

DESCRIPTION

Hardware that changes Hardware is readjustable/reconfigurable in some way Enabling/disabling parts, reconfiguring logic Hardware is in an environment Uses idea of adaptation to change

Citation preview

Evolvable Hardware Questions

What is it? Why do we want it? Who is it for? How do we get it?

Evolution

Responding to changes in environment Changes through generations The hardware's environment and changes

Hardware that changes

Hardware is readjustable/reconfigurable in some way

Enabling/disabling parts, reconfiguring logic Hardware is in an environment Uses idea of adaptation to change

Hardware examples

Configurability necessary for adaptation Honeywell ASIC component used for

evolution ”Evolvatron MK 1”

Honeywell ASIC (NASA)

Evolvatron MK1

Evolvatron MK1

The Environment

Hardware - Typically in electronic device with physical constraints and factors

Software - program(s) or algorithm(s) to be executed

Adaptability

Dangerous places Adapt to different problems leading to simpler

hardware Cost to change

Why do we want it?

Research - why not? Solve new problems/solve old problems

better New uses for hardware? Some uses

Evolvable vs. Not

Suiting hardware to environment before or after being brought into environment

Wider scope More commoditization

New Solutions

Might come up with new hardware solutions Might find that one hardware solution works

for many problems New hardware that does not evolve and

doesn't need to incur cost of adapting

Self-Reconfigurability

Less supervision Less maintainance Less tweaking

Examples

Autonomous FPGA fault handling through competitive runtime reconfiguration

Cell Matrix MOD 88 - self configuring platform

[...]for On-chip Real-time Optimisation of Word Length and Power Consumption in a Pipelined FFT Processor targeting a MC-CDMA Receiver.

Who wants it?

Extreme environments I.T./consumer Researchers

Extreme Environments

Space Military Industrial Exploration

IT/consumer

Servers - throughput, different problems different time of day

Desktops - games, encoding Handheld - communication modes,

power/heat/perormance

Research

Hardware/Software designers and researchers

Artificial intelligence

How do we get it?

Real-time or not Software Hardware General algorithm

Real-time

Circuit changes right away/on the fly Usually less supervision Difficult to control Difficult to create

Not Real-Time

Circuit must break to take changes Usually more control User-defined parameter adjusting easier Easier to create

Software

Genetic algorithms Genetic programming Other Metaheuristics

Hardware

Anything that can be configured Dynamically configured FPGAs preferrable

for many cases Sensors (heat, power, etc...) Redundant parts

General Algorithm

Genetic Algorithm

Sources

An Evolvable Hardware Tutorial - Jim Torresen

2005 NASA / DoD Conference on Evolvable Hardware (EH 2005)

Recommended