1 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 24: Fri 11/18/2011 (Evolvable Hardware) Instructor: Dr. Phillip Jones Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA
2 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) HW3: will be assigned as extra credit Exam 2 –Reminder push back to Friday after Thanksgiving week –Note: I will have a substitute administrating the exam since I will be attending a conference. Weekly Project Updates due: Friday’s (midnight) Announcements/Reminders
3 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Project Grading Breakdown 50% Final Project Demo 30% Final Project Report –20% of your project report grade will come from your 5-6 project updates. Friday’s midnight 20% Final Project Presentation
4 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) FPL FPT FCCM FPGA DAC ICCAD Reconfig RTSS RTAS ISCA Projects Ideas: Relevant conferences Micro Super Computing HPCA IPDPS
5 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Teams Formed and Topic: Mon 10/10 –Project idea in Power Point 3-5 slides Motivation (why is this interesting, useful) What will be the end result High-level picture of final product –Project team list: Name, Responsibility High-level Plan/Proposal: Fri 10/14 –Power Point 5-10 slides (presentation to class Wed 10/19) System block diagrams High-level algorithms (if any) Concerns –Implementation –Conceptual Related research papers (if any) Projects: Target Timeline
6 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Work on projects: 10/ /9 –Weekly update reports More information on updates will be given Presentations: Finals week –Present / Demo what is done at this point –15-20 minutes (depends on number of projects) Final write up and Software/Hardware turned in: Day of final (TBD) Projects: Target Timeline
7 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Initial Project Proposal Slides (5-10 slides) Project team list: Name, Responsibility (who is project leader) –Team size: 3-4 (5 case-by-case) Project idea Motivation (why is this interesting, useful) What will be the end result High-level picture of final product High-level Plan –Break project into mile stones Provide initial schedule: I would initially schedule aggressively to have project complete by Thanksgiving. Issues will pop up to cause the schedule to slip. –System block diagrams –High-level algorithms (if any) –Concerns Implementation Conceptual Research papers related to you project idea
8 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Weekly Project Updates The current state of your project write up –Even in the early stages of the project you should be able to write a rough draft of the Introduction and Motivation section The current state of your Final Presentation –Your Initial Project proposal presentation (Due Wed 10/19). Should make for a starting point for you Final presentation What things are work & not working What roadblocks are you running into
9 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Common Questions
10 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Text: Chapter 33 Readings: –#8: A new species of hardware (2000) –#9: Real-world applications of analog and digital evolvable hardware (1999) –# 10: Generalized Disjunction Decomposition for Evolvable Hardware (2006) Resources on Evolvable Hardware
11 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Understand Evolvable Hardware basics? Benefits and Drawbacks Key types/categories What you should learn
12 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware
13 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware GATACA GenotypePhenotype
14 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware GATACA GATAGA GenotypePhenotype
15 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware GATACA GATAGA GenotypePhenotype
16 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware Genotype Phenotype
17 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware Genotype Phenotype
18 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) One of the first papers to compare reconfigurable HW with biological organisms (1993) –“Evolvable Hardware with Genetic Learning: A first step towards building a Darwin Machine”, Higuchi –Biological organism => DNA GATACAAAGATACACCAGATA –Reconfigurable Hardware => Configuration bitstream Evolvable Hardware DFF Genotype Phenotype
19 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Phylogeny Ontogeny Epigenesis (POE) –Phylogeny: Evolution through recombination and mutations Biological reproduction : Genetic Algorithms –Ontogeny: Self replication Multicellular organism's cell division : Cellular Automata –Epigenesis: adaptation trigger by external environment Immune system development : Artificial Neural Networks Classifying Adaption/Evolution
20 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Phylogeny Ontogeny Epigenesis (POE) –Phylogeny: Evolution through recombination and mutations Biological reproduction : Genetic Algorithms –Ontogeny: Self replication Multicellular organism's cell division : Cellular Automata –Epigenesis: adaptation trigger by external environment Immune system development : Artificial Neural Networks Classifying Adaption/Evolution Ontogeny Epigenesis Phylogeny
21 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) 30/40 year old concept. But applying to reconfigurable hardware is newish (1990’s) Evolutionary Algorithms (EAs) –Genetic Algorithms –Genetic Programming –Evolution Strategies –Evolutionary programming Artificial Evolution
22 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) 30/40 year old concept. But applying to reconfigurable hardware is newish (1990’s) Evolutionary Algorithms (EAs) –Genetic Algorithms –Genetic Programming –Evolution Strategies –Evolutionary programming Artificial Evolution
23 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genome: a finite string of symbols encoding an individual Phenotype: The decoding of the genome to realize the individual Constant Size population Generic steps –Initial population –Decode –Evaluate (must define a fitness function) –Selection –Mutation –Cross over Genetic Algorithms
24 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate Selection Mutation Next Generation Cross Over
25 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate Selection Mutation Next Generation Cross Over 0000 = Black 1111 = White Left 4 bits: color 0000 = = 15 Right 4 bits: # sides
26 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate Selection Mutation Next Generation Cross Over ( ) 0000 = Black 1111 = White Left 4 bits: color 0000 = = 15 Right 4 bits: # sides
27 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate (.40) (.70) (.20) (.10) (.10) (.60) ( ) Selection Mutation Next Generation Cross Over
28 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate (.40) (.70) (.20) (.10) (.10) (.60) ( ) Selection (.40) (.70) (.60) Mutation Next Generation Cross Over
29 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate (.40) (.70) (.20) (.10) (.10) (.60) ( ) Selection (.40) (.70) (.60) Mutation Next Generation Cross Over
30 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate (.40) (.70) (.20) (.10) (.10) (.60) ( ) Selection (.40) (.70) (.60) Mutation Next Generation Cross Over
31 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate ( ) Selection (.40) (.70) (.60) Mutation Next Generation Cross Over (.40) (.70) (.20) (.10) (.10) (.60)
32 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate (.40) (.70) (.20) (.10) (.10) (.60) ( ) Selection (.40) (.70) (.60) Mutation Next Generation Cross Over
33 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate ( ) Selection (.40) (.70) (.60) Mutation Next Generation Cross Over (.70) (.40) (.65) (.85) (.80) (.60)
34 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Genetic Algorithms Initialize Population Decode Evaluate ( ) Selection (.70) (.85) (.80) Mutation Next Generation Cross Over (.70) (.40) (.65) (.85) (.80) (.60)
35 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Platform
36 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) GA are a type of guided search Why use a guide search? Why not just do an exhaustive search? Genetic Algorithms
37 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) GA are a type of guided search Why use a guide search? Why not just do an exhaustive search? Assume –1 billion individuals can be evaluated a second –The genome of a individual is 32-bits in size –How long to do an exhaustive search? Genetic Algorithms
38 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) GA are a type of guided search Why use a guide search? Why not just do an exhaustive search? Assume –1 billion individuals can be evaluated a second –Now genome of a individual is a FPGA 1,000,000 bits in size –How long to do an exhaustive search? Genetic Algorithms
39 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Extrinsic Evolution (furthest from biology) –Evolution done in SW, then result realized in HW Intrinsic Evolution –HW is used to deploy individuals –Results are sent back to SW for fitness calculation Complete Evolution –Evolution is completely done on target HW device Open-ended Evolution (closest to biology) –Evaluation criteria changes dynamically Evolvable Hardware Taxonomy Ontogeny Epigenesis Phylogeny
40 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Applications Prosthetic Hand controller chip –Kajitani “An Evolvable Hardware Chip for Prostatic Hand Controller”, 1999
41 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Applications Tone Discrimination and Frequency generation –Adrian Thompson “Silicon Evolution”, 1996 Xilinx XC6200
42 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Applications Tone Discrimination and Frequency generation Node Functions Node Genotype
43 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Applications Tone Discrimination and Frequency generation Evolved 4KHz oscillator
44 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Benefits of Evolvable Hardware?
45 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Issues?
46 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Issues?
47 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Evolvable Hardware Platforms Commercial Platforms –Xilinx XC6200 Completely multiplex base, thus could program random bitstreams dynamically without damaging chip –Xilinx Virtex FPGA Custom Platforms –POEtic cell –Evolvable LSI chip (Higuchi)
48 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Next Lecture Exam 2 Overview
49 - CPRE 583 (Reconfigurable Computing): Evolvable Hardware Iowa State University (Ames) Notes