UIC Thesis Corbetta


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

UIC Thesis Corbetta

  1. 1. A Flexible Tile-Based Communication Infrastructure for Partial Reconfigurable Architectures BY Simone Corbetta [email_address] Thesis committee: Shantanu Dutt (chair), Donatella Sciuto, Ashfaq Ahmad Khokhar UIC Thesis Defense: May, 8th 2008
  2. 2. Aims <ul><li>[A1] Define a communication infrastructure for partially reconfigurable architectures </li></ul><ul><li>[A2] Design the communication protocol </li></ul><ul><li>[A3] Design network nodes </li></ul><ul><li>[A4] Implementation </li></ul>
  3. 3. Rationale and Innovation <ul><li>Problem statement </li></ul><ul><ul><li>Dynamic capabilities of modern devices demands for flexibility, reliability and adaptability </li></ul></ul><ul><ul><li>Adaptability to dynamic context changes </li></ul></ul><ul><li>Innovative contributions </li></ul><ul><ul><li>Network-based communication infrastructure tailored for partial reconfigurable architectures </li></ul></ul><ul><ul><li>Device-independent </li></ul></ul><ul><ul><li>Resource-aware design </li></ul></ul><ul><ul><li>Reliable communication </li></ul></ul><ul><ul><li>Adaptable communication schema </li></ul></ul>
  4. 4. Outline <ul><li>Introduction </li></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  5. 5. What’s next <ul><li>Introduction </li></ul><ul><ul><li>A bird’s eye-view on communication infrastructures </li></ul></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  6. 6. Communication-centric design <ul><li>Increasing complexity in modern Systems-on-Chips </li></ul><ul><ul><li>Increasing applications scenarios </li></ul></ul><ul><ul><li>Communication requirements increase </li></ul></ul><ul><ul><li>Communication-centric design [1,2] </li></ul></ul><ul><li>Static versus dynamic environment </li></ul><ul><ul><li>Executing applications are not known a priori </li></ul></ul><ul><ul><li>Communication requirements cannot be specified prior to system execution </li></ul></ul><ul><li>“ Classical” widely-used communication approaches lack of flexibility and scalability </li></ul><ul><ul><li>Need to define a flexible, adaptable solution </li></ul></ul><ul><li>[1] “ Communication Centric SoC Design for Nanoscale Domain ”. Ogras, U. Y.; Jingcao, Hu; Marculescu, R. 16th IEEE International Conference on Application-Specific Systems, Architecture and Processors. July 2005. pp.73-78. </li></ul><ul><li>[2] “ On-Chip Networks: a Scalable, Communication-Centric Embedded System Design Paradigm ”. Henkel, J.; Wolf, W.; Chakradhar, S. Proceedings of the 17th International Conference on VLSI Design, 2004. pp.845.851. </li></ul>
  7. 7. Communication infrastructure and dynamic features <ul><li>Dynamic reconfiguration can be used to effectively realize communication infrastructures that are </li></ul><ul><ul><li>Flexible </li></ul></ul><ul><ul><li>Reliable </li></ul></ul><ul><ul><li>Adaptable (at run-time) to communication requirements </li></ul></ul><ul><li>Dynamic reconfiguration as a specific feature of the communication infrastructure layer design </li></ul>
  8. 8. Point-to-point links <ul><li>Directly connect communicating modules </li></ul>(a) ad-hoc connection (b) regular topology (complete graph) Scalability is affected, due to high resource requirements; reusability is low, interfaces are application-dependent Simplicity; ensures high performance, and low latency; no overhead Drawbacks Advantages
  9. 9. Bus-based systems <ul><li>Single, centralized and shared communication architecture </li></ul><ul><ul><li>An arbiter grants access to the shared resource </li></ul></ul>... Arbiter (a) single bus ... ... Bridge (b) multiple buses Bottleneck; level of contention increases, concurrent accesses are serialized; single point-of-failure Simplicity; reusability, commercial standards Drawbacks Advantages
  10. 10. Crossbar switch <ul><li>MxN matrix of programmable components </li></ul>Line 1 Line 2 Programmable interconnect point Resource requirements, in terms of programmable components True parallellism, physically different concurrent communication links can be established Drawbacks Advantages
  11. 11. Network-on-Chip <ul><li>Borrow main ideas from data-network (LANs, WANs) </li></ul><ul><li>Based on distributed communication nodes ( switches ) [3,4] </li></ul><ul><li>[3] “ Networks-on-Chip: a New SoC Paradigm ”. De Micheli, G.; Benini, L. Computer. 2002, Volume 35. pp.70-78. </li></ul><ul><li>[4] “ Networks-on-Chip: a New Paradigm for System-on-Chip Design ”. Nurmi, J. Proceedings of the International Symposium on System-on-Chip, Nov. 2005. pp.2-6. </li></ul>Computational overhead; high resource requirements Flexibility; scalability; reusability; reliability, no single point-of-failure Drawbacks Advantages
  12. 12. What’s next <ul><li>Introduction </li></ul><ul><li>FPGAs and dynamic reconfiguration </li></ul><ul><ul><li>Brief overview of devices and dynamic features </li></ul></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  13. 13. Field Programmable Gate Arrays <ul><li>Programmable logic devices </li></ul><ul><ul><li>(Re)programmable logic blocks and interconnects </li></ul></ul><ul><li>Configuration is stored within the configuration memory architecture </li></ul>Image taken from “ Bebop to the Boolean Boogie: an Unconventional Guide to Electronics Fundamentals, Components and Processes ” by Clive Maxfield [Everyday Practical Electronics]
  14. 14. Reconfiguration and Reconfigurability <ul><li>Reconfiguration is the process of alteration of the system configuration/behavior </li></ul><ul><li>Reconfigurability is the ability to support reconfiguration </li></ul><ul><li>Which is the granularity of the reconfiguration process </li></ul><ul><ul><li>Total versus partial reconfiguration </li></ul></ul><ul><li>Who is the responsible of the reconfiguration task </li></ul><ul><ul><li>Internal versus external reconfiguration </li></ul></ul><ul><li>When the reconfiguration is performed </li></ul><ul><ul><li>Dynamic versus static reconfiguration </li></ul></ul>
  15. 15. What’s next <ul><li>Introduction </li></ul><ul><li>FPGAs and dynamic reconfiguration </li></ul><ul><li>Related works </li></ul><ul><ul><li>XPipes </li></ul></ul><ul><ul><li>DyNoC </li></ul></ul><ul><ul><li>CoNoChi </li></ul></ul><ul><li>Proposed approach & implementation </li></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  16. 16. XPipes (1/2) <ul><li>Designed for multi-processors systems [5] </li></ul><ul><li>Ad-hoc network topology defined at synthesis-time </li></ul><ul><ul><li>XPipesCompiler </li></ul></ul><ul><li>Based on a layered approach: Smart Stack protocol </li></ul><ul><li>[5] Bertozzi, D.; Benini, L. “ XPipes: A Network-on-Chip Architecture for Gigascale Systems-on-Chip ”. Circuits and Systems Magazine , IEEE, 2004, 4, pp.18-31. </li></ul>DATA-LINK LAYER NETWORK LAYER TRANSPORT LAYER physical link
  17. 17. XPipes (2/2) <ul><li>Advantages </li></ul><ul><ul><li>Layered stacked protocol allows for independent optimization of different aspects </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>Topology is fixed at synthesis-time </li></ul></ul><ul><ul><ul><li>No flexibility </li></ul></ul></ul><ul><ul><li>Routing path is defined once for all at synthesis-time </li></ul></ul><ul><ul><ul><li>No reliability </li></ul></ul></ul><ul><ul><li>Resource requirements </li></ul></ul><ul><ul><ul><li>(See experimental results) </li></ul></ul></ul>
  18. 18. DyNoC (1/2) <ul><li>Static NoC for heterogeneous systems [6] </li></ul><ul><ul><li>Static 2D-mesh interconnection topology </li></ul></ul><ul><ul><li>Static routing mechanism (modified XY-Algorithm ) </li></ul></ul><ul><li>[6] Bobda, C.; Ahmadinia, A.; Majer, M.; Teich, J.; Fekete, S.; Van der Veen, J. “ DyNoC: A Dynamic Infrastructure for Communicationin Dynamically Reconfigurable Devices ”. International Conference on Field Programmable Logic and Applications , August 2005, pp.151-158. </li></ul>DyNoC Rule
  19. 19. DyNoC (2/2) <ul><li>Advantages </li></ul><ul><ul><li>2D-mesh topology guarantess high connectivity </li></ul></ul><ul><ul><ul><li>DyNoC Rule </li></ul></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>Static topology guarantees no flexibility </li></ul></ul><ul><ul><li>High overhead </li></ul></ul><ul><ul><ul><li>One network node for each “slot” in the architecture </li></ul></ul></ul>
  20. 20. CoNoChi (1/2) <ul><li>Reconfigurable packet-switched communication architecture [7] </li></ul><ul><li>[7] Pionteck, T.; Koch, R.; Albrecth, C. “ Applying Partial Reconfiguration to Networks-on-Chips ”. International Conference on Field Programmable Logic and Applications , August 2006, pp.1-6. </li></ul>
  21. 21. CoNoChi (2/2) <ul><li>Advantages </li></ul><ul><ul><li>Network nodes can be added at run-time </li></ul></ul><ul><ul><li>Flexibilty </li></ul></ul><ul><li>Drawbacks </li></ul><ul><ul><li>No multiple communication sessions are supported </li></ul></ul><ul><ul><li>No clear distinction between communication and computational layer </li></ul></ul><ul><ul><ul><li>Hard to manage system complexity </li></ul></ul></ul><ul><ul><ul><li>Resource requirements </li></ul></ul></ul>
  22. 22. Qualitative Comparison No clear distinction Computation and communication Supported Not supported Not supported Dynamic Reconfiguration Flexibility thanks to dynamic reconfiguration No flexibility No flexibility Flexibility Relies on run-time choices Static mesh Relies upon synthesis-time choices Connectivity CoNoChi DyNoC XPipes
  23. 23. What’s next <ul><li>Introduction </li></ul><ul><li>FPGAs and dynamic reconfiguration </li></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><ul><li>Main features and implementation </li></ul></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  24. 24. A light-weight approach <ul><li>“ Light-weight ” w.r.t. </li></ul><ul><ul><li>Communication protocol , to reduce computational overhead </li></ul></ul><ul><ul><li>Resource requirements , to keep reconfiguration complexity low </li></ul></ul><ul><ul><li>Network nodes design , to reduce overhead and latency </li></ul></ul><ul><ul><li>Routing mechanism , to reduce latency </li></ul></ul><ul><li>To master system complexity a layered approach has been used </li></ul>COMPUTATIONAL LAYER COMMUNICATION LAYER VS
  25. 25. Overview
  26. 26. Packet-switched communication <ul><li>Packet-switching instead of circuit-switching [8] </li></ul><ul><li>General packet structure </li></ul><ul><li>[8] Dally, W.; Towles, B. “Route packets, not wires: on-chip interconnection networks” . In proceedings of the Design and Automation Conference in Europe, 2001, pp.684-689. </li></ul>Contains communication-related information (route update, communication tail, replies…) Control Contains data of the current communication request Data Contains preliminary information on the current communication session, useful for the recipient Header
  27. 27. Session-oriented communication <ul><li>Communication based on the concept of session </li></ul><ul><ul><li>A precise sequence of packets </li></ul></ul><ul><li>Communication based on the minimal information required </li></ul><ul><ul><li>Header </li></ul></ul><ul><ul><li>Data </li></ul></ul><ul><ul><li>Tile </li></ul></ul><ul><li>For each Master-Slave couple multiple concurrent sessions are supported </li></ul>
  28. 28. A layered protocol
  29. 29. Routing mechanisms (1/2) <ul><li>Who chooses the routing path? </li></ul><ul><li>INITIATOR-BASED : the initiator chooses the entire path to reach the destination end-point </li></ul><ul><li>DESTINATION-BASED : information is kept within the routing tables, local decisions </li></ul>initiator-based destination-based VS Switch-related overhead is greater, due to routing table read process Update of the information is complex; overhead increases CONS PROS Flexibilty and transparency on the communication details Switch design has low complexity; switch-related overhead is low Destination-based Initiator-based
  30. 30. Routing mechanisms (2/2) <ul><li>An hybrid approach takes advantage from both mechanisms </li></ul>ESEE SEE/ E/// EE// ////
  31. 31. What’s next <ul><li>Introduction </li></ul><ul><li>FPGAs and dynamic reconfiguration </li></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><ul><li>Implementation </li></ul></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  32. 32. Target architecture <ul><li>Target architecture </li></ul><ul><ul><li>Static side </li></ul></ul><ul><ul><li>Reconfigurable side </li></ul></ul>Static Reconfigurable FPGA Bus-macro TILE columns rows
  33. 33. Switch design
  34. 34. Master NI Design
  35. 35. Slave NI Design
  36. 36. What’s next <ul><li>Introduction </li></ul><ul><li>FPGAs and dynamic reconfiguration </li></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><li>Experimental results </li></ul><ul><ul><li>Case studies </li></ul></ul><ul><li>Conclusions and future works </li></ul>
  37. 37. Experimental Results <ul><li>Purpose is to demonstrate the validity of the proposed approach </li></ul><ul><li>Resource requirements </li></ul><ul><ul><li>Switch design </li></ul></ul><ul><ul><li>Master and Slave NI </li></ul></ul><ul><li>Virtex-II Pro Case Study </li></ul><ul><ul><li>Comparison with XPipes </li></ul></ul><ul><li>Virtex-4 Case Study </li></ul>
  38. 38. Switch Resource Requirements <ul><li>Switch design is effectively light-weight </li></ul>
  39. 39. Switch Performance
  40. 40. Master NI Resource Requirements <ul><li>Depends on number of concurrent sessions, packet size </li></ul><ul><ul><li>Linear relation </li></ul></ul>XC3S200 XC2VP7 XC4VFX12 27-bits packet 32-bits packet
  41. 41. Slave NI Resource Requirements <ul><li>Depends expecially on concurrent sessions allowed </li></ul><ul><ul><li>Linear </li></ul></ul>27-bits packets case
  42. 42. Virtex-II Pro Case Study (1/3)
  43. 43. Virtex-II Pro Case Study (2/3)
  44. 44. Virtex-II Pro Case Study (3/3) <ul><li>XPipes versus proposed solution </li></ul>Resource requirements 618/1215 = 50.8% 846/1520 = 55.5% Half clock cycles required Latency IMPROVEMENT ! <ul><li>Resource-aware design </li></ul><ul><li>High performance </li></ul>
  45. 45. Virtex-4 Case Study (1/2)
  46. 46. Virtex-4 Case Study (2/2)
  47. 47. What’s next <ul><li>Introduction </li></ul><ul><li>FPGAs and dynamic reconfiguration </li></ul><ul><li>Related works </li></ul><ul><li>Proposed approach & implementation </li></ul><ul><li>Experimental results </li></ul><ul><li>Conclusions and future works </li></ul>
  48. 48. Concluding Remarks (1/2) <ul><li>A suitable communication infrastructure has been designed and implemented </li></ul>Communication protocol and Network Interface designs Layered approach Tile-based implementation and tile dimensioning Device independent design Switch-design; communication protocol complexity Resource-aware design Dynamic routing; dynamic topology Reliability Dynamic switch insertion; dynamic switch deletion; dynamic topology; dynamic routing mechanism; support of dynamic reconfiguration Flexibility and adaptability
  49. 49. Concluding Remarks (2/2) <ul><li>Work under development for ACM TRETS Transaction (Transactions on Reconfigurable Technology and Systems) </li></ul><ul><li>Future works </li></ul><ul><ul><li>Define and realize a tool to automatically generate application-specific network </li></ul></ul><ul><ul><li>Implement the Network and Reconfiguration Monitor </li></ul></ul><ul><ul><li>Analysis and study of the power characterization of the proposed approach </li></ul></ul>“ A Light-Weight Network-on-Chip Architecture for Dynamically Reconfigurable Systems ”. Corbetta, S.; Rana, V.; Santambrogio. M. D. Proceedings of the 8th edition of the International Symposium on Systems, Architectures, Modeling and Simulation (IEEE Conference Session), July 2008.
  50. 50. <ul><li>Webpage </li></ul><ul><ul><li>www.dresd.org/?q=CITiES </li></ul></ul><ul><li>Mailing List </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><li>Contact </li></ul><ul><ul><li>To have more information regarding the CITiES Project: </li></ul></ul><ul><ul><ul><li>[email_address] </li></ul></ul></ul><ul><ul><li>For a complete list of information on how to contact us: </li></ul></ul><ul><ul><ul><li>www.dresd.org/?q=contact_cities </li></ul></ul></ul>General Information
  51. 51. Questions <ul><li>Thanks for your attention. </li></ul><ul><li>Any questions? </li></ul>