Evolvable hardware ehw
This presentation is the property of its rightful owner.
Sponsored Links
1 / 37

Evolvable Hardware (EHW) PowerPoint PPT Presentation


  • 50 Views
  • Uploaded on
  • Presentation posted in: General

Evolvable Hardware (EHW). Topic Review S08*ENGG*6530 Antony Savich. Topic Review Outline. Motivation Concept details Problems and bottlenecks General applications Personal Retrospect Conclusion Design project summary. References.

Download Presentation

Evolvable Hardware (EHW)

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Evolvable hardware ehw

Evolvable Hardware(EHW)

Topic Review

S08*ENGG*6530

Antony Savich


Topic review outline

Topic Review Outline

  • Motivation

  • Concept details

  • Problems and bottlenecks

  • General applications

  • Personal Retrospect

  • Conclusion

  • Design project summary

S08*ENGG*6530 - EHW


References

References

  • Jim Torresen, An Evolvable Hardware Tutorial. In proc. of 14th International Conference on Field Programmable Logic and Applications (FPL'2004), August 2004, Antwerp - Belgium

  • P Haddow, G Tufte, P Van Remortel, Evolvable hardware: pumping life into dead silicon. In OnGrowth, Form and Computers.Sanjeev Kumar, Peter J. Bentley, Editors.Elsevier, 2003

  • Langdon, W.B. and Gustafson, S. (2005) Genetic Programming and Evolvable Machines: five years of reviews. Genetic Programming and Evolvable Machines, 6 (2). pp. 221-228. Springer, 2005

S08*ENGG*6530 - EHW


What is evolvable hardware

What is Evolvable Hardware?

  • EHW is hardware which is generated or regenerated by special means

  • Goal: improve circuit performance parameters via dynamic autonomous regeneration

    • speed, area, power, output quality

  • Hardware Auto Evolution

S08*ENGG*6530 - EHW


What do we normally do

What do we normally do?

  • Hardware engineering

    • Application analysis

    • Requirement specification

    • Circuit design (RTL, layout, routing)

    • Test suite formulation

    • Circuit verification and validation

      • Simulation

      • Hardware

    • Field performance evaluation

S08*ENGG*6530 - EHW


What do we normally do1

What do we normally do?

S08*ENGG*6530 - EHW


Why should we bother

Why should we bother?

  • From design specification on,

    • 85% (approx) of human time is spent on product (circuit) generation

  • Design complexity exponentially increases

    • Easy to hierarchaly specify

    • Difficult to optimize as a whole

  • Human time = expensive

  • Machine time = cheap…….

S08*ENGG*6530 - EHW


Why should we bother1

Why should we bother?

  • Sizing limitation is not valid (Moore’s law)

    • ~1billion transistors per chip (Intel 2006)

    • How much is this better than ~100million tr. chips?

  • Designability is the current hurdle

  • Nowadays, improvement in transistor count does not equate to a similar functional or performance improvement, the gap grows…

S08*ENGG*6530 - EHW


What is the benefit

What is the benefit?

  • If it were possible to evolve inefficient circuits…

  • The circuits created by evolution can be:

    • much simpler than human creations

    • not always comprehendible by humans

S08*ENGG*6530 - EHW


By autoevolution we get

By autoevolution we get…

  • Reduced complexity, smaller circuits

    • In turn helps simplify the evolutionary process

  • More efficient circuits

  • Better performing circuits

  • New ideas and innovation

  • At the expense of machine time…

    gives us extra time to do other things

    than do boring circuit design?

S08*ENGG*6530 - EHW


How do we do it

How do we do it?

Specification

S08*ENGG*6530 - EHW


How do we do it1

How do we do it?

  • Usually implies evolutionary techniques:

    • Genetic Algorithms

    • Genetic Programming

    • Evolutionary Programming

S08*ENGG*6530 - EHW


How do we do it2

How do we do it?

  • Can be applied to various circuits

    • Digital (commercial or custom)

    • Analog

  • Off-line or on-line evolution

S08*ENGG*6530 - EHW


How do we do it3

How do we do it?

Use requirements

Random

using defined

representation

Determine

fitness

Implement on

technology

Evolve

S08*ENGG*6530 - EHW


How do we do it4

How do we do it?

Ideas?

Need to map a circuit description (phenotype)

to an evolutionary technique description (genotype)

How do we represent a circuit?

Random

using defined

representation

S08*ENGG*6530 - EHW


How fpgas are relevant

How FPGAs are relevant?

  • FPGAs are a natural

    example of reconfigurable

    digital technology

  • Can use the programming bitstream as the genotype directly

  • Can rapidly reconfigure to fit new solutions

S08*ENGG*6530 - EHW


How do we do it5

How do we do it?

Need to evaluate

generated circuits

(typically many)

Assign a fitness

parameter

How would you normally

evaluate a circuit?

S08*ENGG*6530 - EHW


Evaluation methods

Evaluation methods

S08*ENGG*6530 - EHW


How do we do it6

How do we do it?

What are the evaluation

criteria for fitness?

Use requirements

S08*ENGG*6530 - EHW


Problem redefinition

Problem Redefinition

  • Sometimes…

  • The task of finding a solution is redefined as a task of

    • Specifying the problem

    • Representing the solution

  • Sometimes, one is not easier than the other

S08*ENGG*6530 - EHW


How do we do it7

How do we do it?

This step depends on the algorithm you choose,

In EHW this is typically GA (genetic algorithms)

Evolve

S08*ENGG*6530 - EHW


Genetic algorithm

Genetic Algorithm

Initial circuit population using

a chosen representation

Parents

Evolution

Children

S08*ENGG*6530 - EHW


A cycle of evolution

A cycle of evolution

S08*ENGG*6530 - EHW


Issues by design

Issues by design…

  • Using FPGAs leads naturally to direct mapping (genotype – phenotype)

    • Creates a search space explosion for larger circuits

  • Indirect mapping – reduces genotype description vs. phenotype requirements

    • Less information in genotype, not all phenotypes are mapped (best solution may be skipped)

    • Changes complexity of finding a best solution into complexity of finding the right mapping to include it

S08*ENGG*6530 - EHW


Issues by design1

Issues by design…

  • Representation of genes – quick failure

    • If short, 1’s or 0’s, a single bit mutation may lead to complete circuit failure

    • It’s difficult to encode genes in a genotype such that a small gene change will result in small functionality change

S08*ENGG*6530 - EHW


Issues by design2

Issues by design…

  • Technological evolution is a problem

    • Better flexibility means increased granularity

    • Increased complexity means larger phenotype

    • Larger phenotype means slower configuration times

    • New heterogeneous FPGA features pose mapping difficulties – not EHW friendly.

  • Complexity of system means complexity of fitness functions, longer evaluation times

S08*ENGG*6530 - EHW


Solutions

Solutions

  • ‘Virtual’ FPGAs are possible:

    • Reduce genotype by simplifying routing choices; logic component choices

    • Can be mapped onto commercial FPGAs

S08*ENGG*6530 - EHW


Solutions1

Solutions

  • Development of EHW friendly features

    • Map only the features that are suitable for evolution

  • Partially evolvable systems

    • Design most of the system (fixed portion)

    • Allow only a portion to be evolved

S08*ENGG*6530 - EHW


An interesting application

An Interesting Application

  • On-line evolutionary systems:

    • Create competing nodes

    • Operate one in real time

    • Evolve others in parallel

    • Another reaches maturity - swap

S08*ENGG*6530 - EHW


Personal retrospective 1

Personal Retrospective: 1

  • On-line HW/SW evolvable system:

    • Why only require hardware execution vs. software processing?

    • Why only evolve hardware?

  • The key – hardware/software cohabitation within an on-line self-evolvable system.

S08*ENGG*6530 - EHW


Personal retrospective 11

Personal Retrospective: 1

Evolving a

scheduled

Unit

(co-evolution)

Scheduled for

optimization

Load monitor & scheduler

Task set {1..n}

Task set {1..m}

Hard

model

Soft

model

With current advances in self-reconfiguration technology

and device size, this is all possible as a SoC!

S08*ENGG*6530 - EHW


Personal retrospective 2

Personal Retrospective: 2

  • Current research:

    Neural Network (ANN) implementations

    • Rough model of the brain

    • ANNs provide approximating solutions to problems

    • ANNs are trained on a sample of the problem space

  • Quality of results highly depends on parameters used in constructing ANN:

    • Topology (number and type of neurons)

    • Arithmetic representation

    • Learning function

S08*ENGG*6530 - EHW


Personal retrospective 21

Personal Retrospective: 2

  • Fitness determined by training a configuration

  • Training is expensive, best done in hardware (currently FPGA), many configs to train

  • This process can benefit from automated design evolution, the technology is directly correlated with EHW methods:

S08*ENGG*6530 - EHW


Summary ehw

Summary: EHW

Evolved

using

GA

Reduce-

Encoded by

Represented by

Need a

Genotype

101011

Phenotype

1011010101010100

Circuit

Fitness

Technology

Evaluated

Implemented on

S08*ENGG*6530 - EHW


Topic conclusion

Topic Conclusion

  • Evolvable Hardware – great circuits made easy

    (in theory)

  • Typically Genetic Algorithm is used to evolve

  • Rephrases the “circuit design” problem into the “pheno-genotype... mapping” problem.

  • Currently, can evolve small circuits

  • New hardware not friendly

S08*ENGG*6530 - EHW


Course project direction

Course Project Direction

  • Take an existing architecture

    • monolithic, full hardware acceleration

    • a type of ANN for this project

  • Use Tensilica tools

  • Profile and map portions of hardware to produce:

    • software execution + smaller accelerator

  • Goal: compare resulting performance vs. consumption of FPGA resources.

S08*ENGG*6530 - EHW


Evolvable hardware ehw

Thank you

S. Dali, Man with His Head Full of Clouds, 1936

S08*ENGG*6530 - EHW


  • Login