CPRE 583 Reconfigurable Computing Lecture 15 Fri 10152010
CPRE 583 Reconfigurable Computing Lecture 15: Fri 10/15/2010 (Reconfiguration Management) Instructor: Dr. Phillip Jones (phjones@iastate. edu) Reconfigurable Computing Laboratory Iowa State University Ames, Iowa, USA http: //class. ee. iastate. edu/cpre 583/ 1 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Announcements/Reminders • Midterm: – Take home portion (40%) given Friday 10/22, due Tue 10/26 (midnight) – In class portion (60%) Wed 10/27 • Distance students will have in class portion given via a timed Web. CT (2 hour) session (take on Wed, Thur or Friday). • Start thinking of class projects and forming teams – Submit teams and project ideas: Mon 10/11 midnight – Project proposal presentations: Fri 10/22 • MP 3: Power. PC Coprocessor offload (today/tomorrow) • Problem 2 of HW 2 (released after MP 3 gets released) 2 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
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 3 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Projects Ideas: Relevant conferences • • • FPL FPT FCCM FPGA DAC ICCAD Reconfig RTSS RTAS ISCA • • Micro Super Computing HPCA IPDPS 4 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Initial Project Proposal Slides (5 -10 slides) • Project team list: Name, Responsibility (who is project leader) • 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 5 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
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 Fri 10/22). Should make for a starting point for you Final presentation • What things are work & not working • What roadblocks are you running into 6 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Projects: Target Timeline • Teams Formed and Idea: Mon 10/11 – 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/22 – Power Point 5 -10 slides • System block diagrams • High-level algorithms (if any) • Concerns – Implementation – Conceptual • Related research papers (if any) 7 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Projects: Target Timeline • Work on projects: 10/22 - 12/8 – Weekly update reports • More information on updates will be given • Presentations: Last Wed/Fri of class – 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) 8 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Project Grading Breakdown • 50% Final Project Demo • 30% Final Project Report – 30% of your project report grade will come from your 5 -6 project updates. Friday’s midnight • 20% Final Project Presentation 9 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Common Questions 10 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Common Questions 11 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Overview • Chapter 4: Reconfiguration Management 12 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
What you should learn • Some basic configuration architectures • Key issues when managing the reconfiguration of a system 13 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Reconfiguration Management • Goal: – Minimize the overhead associated with run-time reconfiguration • Why import to address – Can take 100’s of milliseconds to reconfigure a device – For high performance applications this can be a large overhead (i. e. decreases performance) 14 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
High Level Configuration Setups Externally trigger reconfiguration CPU Configuration Request FSM ROM (bitfile) Config Data Config Control (CC) 15 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management FPGA Iowa State University
High Level Configuration Setups Self trigger reconfiguration Config Data ROM (bitfile) FSM FPGA CC 16 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Configuration Architectures • Single-context • Multi-context • Partially Reconfigurable – Relocation & Defragmentation – Pipeline Reconfiguration – Block Reconfigurable 17 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Single-context FPGA Config clk Config I/F Data CLK IN OUT EN Config enable 18 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Multi-context FPGA Config clk CLK OUT IN EN CLK IN OUT EN Context switch Context 1 Enable Context 2 Enable Context 3 Enable Config Enable 1 1 2 2 3 3 Config Data Config Enable 19 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Config Data Iowa State University
Partially Reconfigurable • Reduce amount of configuration to send to device. Thus decreasing reconfiguration overhead • Need addressable configuration memory, as opposed to single context daisy chain shifting • Example Encryption – Change key – And logic dependent on key • PR devices – AT 40 K – Xilinx Virtex series (and Spartan, but not a run time) • Need to make sure partial config do not overlap in space/time (typical a config needs to be placed in a specific location, not as homogenous as you would think in terms of resources, and timing delays) 20 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable 21 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable Full Reconfig 10 -100’s ms 22 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable Partial Reconfig 100’s us - 1’s ms 23 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable Partial Reconfig 100’s us - 1’s ms 24 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable Partial Reconfig 100’s us - 1’s ms 25 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable Partial Reconfig 100’s us - 1’s ms 26 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Partially Reconfigurable Partial Reconfig 100’s us - 1’s ms Typically a partial configuration modules map to a specific physical location 27 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation • Make configuration architectures support relocatable modules • Example of defragmentation text good example (defrag or swap out, 90% decrease in reconfig time compared to full single context) – Best fit, first fit, … • Limiting factor – Routing/logic is heterogeneous • timing issues, need modified routes • Special resources needed (e. g. hard mult, BRAMS) • Easy issue if there are blocks of homogeneity – Connection to external I/O (fix IP cores, board restrict) • Virtualized I/O (fixed pin with multiple internal I/Fs? – 2 D architecture more difficult to deal with • Summary of feature PR arch should have – Homogenous logic and routing layout – Bus based communication (e. g. network on chip) – 1 D organization for relocation 28 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation A B C 29 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation D C 30 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation D A C 31 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation D C 32 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation D C A 33 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Relocation and Defragmentation E More efficient use of Configuration Space F D C A 34 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Pipeline Reconfigurable • Example: Pipe. Rench – Simplifies reconfiguration – Limit what can be implemented PE PE Cycle 1 Virtual 0 Pipeline 1 stage 2 0 2 3 0 0 1 1 1 2 2 2 3 3 3 4 4 3 PE PE 4 Physical 0 Pipeline 1 stage 2 35 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management 0 6 0 4 Cycle 1 5 2 3 4 5 6 0 0 3 3 3 1 1 1 4 4 2 2 2 0 Iowa State University
Block Reconfigurable • Swappable Logic Units • Abstraction layer over a general PR architecture: SCORE Config Data 36 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Managing the Reconfiguration Process • • Choosing a configuration When to load Where to load Reduce how often one needs to reconfigure, hiding latency 37 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Configuration Grouping • What to pack • Pack multiple related in time configs into one – Simulated annealing, clustering based on app control flow 38 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Configuration Caching • When to load • LRU, credit based dealing with variable sized configs 39 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Configuration Scheduling • Prefetching • Control flow graph – Static compiler inserted conf instructions – Dynamic: probabilistic approaches MM (branch prediction) • Constraints – Resource – Real-time • Mitigation – System status and prediction • What are current request • Predict which config combination will give best speed up 40 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Software-based Relocation Defragmentation • Placing R/D decision on CPU host not on chip config controller 41 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Context Switching • Safe state then start where left off. 42 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Next Lecture • Data Parallel 43 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Questions/Comments/Concerns • Write down – Main point of lecture – One thing that’s still not quite clear OR – If everything is clear, then give an example of how to apply something from lecture 44 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
Lecture Notes 45 - CPRE 583 (Reconfigurable Computing): Reconfiguration Management Iowa State University
- Slides: 45