Advertisement

On the scalability of evolvable hardware architectures: comparison of systolic array and Cartesian genetic programming

  • Javier MoraEmail author
  • Rubén Salvador
  • Eduardo de la Torre
Article
  • 73 Downloads

Abstract

Evolvable hardware allows the generation of circuits that are adapted to specific problems by using an evolutionary algorithm (EA). Dynamic partial reconfiguration of FPGA LUTs allows making the processing elements (PEs) of these circuits small and compact, thus allowing large scale circuits to be implemented in a small FPGA area. This facilitates the use of these techniques in embedded systems with limited resources. The improvement on resource-efficient implementation techniques has allowed increasing the size of processing architectures from a few PEs to several hundreds. However, these large sizes pose new challenges for the EA and the architecture, which may not be able to take full advantage of the computing capabilities of its PEs. In this article, two different topologies—systolic array (SA) and Cartesian genetic programming (CGP)—are scaled from small to large sizes and analyzed, comparing their behavior and efficiency at different sizes. Additionally, improvements on SA connectivity are studied. Experimental results show that, in general, SA is considerably more resource-efficient than CGP, needing up to 60% fewer FPGA resources (LUTs) for a solution with similar performance, since the LUT usage per PE is 5 times smaller. Specifically, 10 \(\times\) 10 SA has better performance than 5 \(\times\) 10 CGP, but uses 50% fewer resources.

Keywords

FPGA Evolvable hardware Dynamic partial reconfiguration Systolic array Cartesian genetic programming Scalability 

Notes

Acknowledgements

This work was partially supported by the Spanish Ministry of Economy and Competitiveness under the project REBECCA (Reference TEC2014-58036-C4-2-R), and the FPI grant program of said Ministry (Grant No. BES-2012-060459). The LUT-based PEs were originally developed in collaboration with Ing. Roland Dobai, Ph.D., from Brno University of Technology.

References

  1. 1.
    D.B. Bartolini, M. Carminati, F. Cancare, M.D. Santambrogio, D. Sciuto, HERA project’s holistic evolutionary framework. In IEEE 27th International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 231–238. IEEE (2013).  https://doi.org/10.1109/IPDPSW.2013.110
  2. 2.
    B. Blodget, P. James-Roxby, E. Keller, S. McMillan, P. Sundararajan, A self-reconfiguring Platform. In Field Programmable Logic and Application, Lecture Notes in Computer Science, vol. 2778, pp. 565–574. Springer Berlin, (2003).  https://doi.org/10.1007/978-3-540-45234-8_55 CrossRefGoogle Scholar
  3. 3.
    F. Cancare, D.B. Bartolini, M. Carminati, D. Sciuto, M.D. Santambrogio, On the evolution of hardware circuits via reconfigurable architectures. ACM Trans. Reconfig. Technol. Syst. 5(4), 22:1–22:22 (2012).  https://doi.org/10.1145/2392616.2392620 CrossRefGoogle Scholar
  4. 4.
    F. Cancare, M.D. Santambrogio, D. Sciuto, A direct bitstream manipulation approach for virtex4-based evolvable systems. In Proceedings of IEEE International Symposium on Circuits and Systems (ISCAS), pp. 853–856. IEEE (2010).  https://doi.org/10.1109/ISCAS.2010.5537429
  5. 5.
    R. Dobai, K. Glette, J. Torresen, L. Sekanina, Evolutionary digital circuit design with fast candidate solution establishment in field programmable gate arrays. In 2014 IEEE International Conference on Evolvable Systems (ICES), pp. 85–92 (2014).  https://doi.org/10.1109/ICES.2014.7008726
  6. 6.
    R. Dobai, L. Sekanina, Image filter evolution on the Xilinx Zynq platform. In Proceedings of NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 164–171. IEEE (2013).  https://doi.org/10.1109/AHS.2013.6604241
  7. 7.
    R. Dobai, L. Sekanina, Low-level flexible architecture with hybrid reconfiguration for evolvable hardware. ACM Trans. Reconfig. Technol. Syst. 8(3), 20:1–20:24 (2015)CrossRefGoogle Scholar
  8. 8.
    A.E. Eiben, J.E. Smith, Introduction to Evolutionary Computing. Natural Computing Series (Springer, Berlin, 2003).  https://doi.org/10.1007/978-3-662-05094-1 CrossRefzbMATHGoogle Scholar
  9. 9.
    Á. Gallego, J. Mora, A. Otero, E. de la Torre, T. Riesgo, A scalable evolvable hardware processing array. In International Conference on Reconfigurable Computing and FPGAs (ReConFig), pp. 1–7. IEEE (2013).  https://doi.org/10.1109/ReConFig.2013.6732266
  10. 10.
    K. Glette, Design and implementation of scalable online evolvable hardware pattern recognition systems. Ph.D. thesis (2008). http://urn.nb.no/URN:NBN:no-20883
  11. 11.
    K. Glette, P. Kaufmann, Lookup table partial reconfiguration for an evolvable hardware classifier system. In IEEE Congress on Evolutionary Computation (CEC), pp. 1706–1713. IEEE (2014).  https://doi.org/10.1109/CEC.2014.6900503
  12. 12.
    K. Glette, J. Torresen, M. Hovin, Intermediate level FPGA reconfiguration for an online EHW pattern recognition system. In Proceedings of NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 19–26. IEEE (2009).  https://doi.org/10.1109/AHS.2009.46
  13. 13.
    K. Glette, J. Torresen, M. Yasunaga, An online EHW Pattern recognition system applied to sonar spectrum classification. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 4684, pp. 1–12. Springer, Berlin (2007).  https://doi.org/10.1007/978-3-540-74626-3_1
  14. 14.
    T.G.W. Gordon, Exploiting development to enhance the scalability of hardware evolution. Ph.D. thesis (2005). https://www.bcs.org/upload/pdf/tgordon.pdf
  15. 15.
    G.W. Greenwood, A.M. Tyrrell, Introduction to Evolvable Hardware. IEEE Press Series Computational Intelligence. Wiley-IEEE Press (2006). https://doi.org/10.1002/0470049715
  16. 16.
    T. Higuchi, Y. Liu, X. Yao, (eds.) Evolvable Hardware. Genetics And Evolution Computer Series. Springer (2006).  https://doi.org/10.1007/0-387-31238-2 zbMATHGoogle Scholar
  17. 17.
    J.R. Koza, F.H. Bennett III, D. Andre, M.A. Keane, Genetic Programming III (Morgan Kaufmann Publishers Inc., San Francisco, 1999)zbMATHGoogle Scholar
  18. 18.
    J.R. Koza, M.A. Keane, M.J. Streeter, W. Mydlowec, J.Y. Guido, Genetic Programming IV, Genetics Programming Series, vol. 5. Springer (2005).  https://doi.org/10.1007/b137549
  19. 19.
    H.T. Kung, C.E. Leiserson, Systolic Arrays for (VLSI) (CMU-CS. Carnegie-Mellon University, Department of Computer Science, 1978)Google Scholar
  20. 20.
    S.Y. Kung, On supercomputing with systolic/wavefront array processors. Proc. IEEE 72(7), 867–884 (1984).  https://doi.org/10.1109/PROC.1984.12944 CrossRefGoogle Scholar
  21. 21.
    T. Martinek, L. Sekanina, An evolvable image filter: experimental evaluation of a complete hardware implementation in FPGA. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 3637, pp. 76–85. Springer, Berlin (2005).  https://doi.org/10.1007/11549703_8 CrossRefGoogle Scholar
  22. 22.
    J.F. Miller (ed.), Cartesian Genetic Programming. Natural Computing Series (Springer, Berlin 2011).  https://doi.org/10.1007/978-3-642-17310-3 zbMATHGoogle Scholar
  23. 23.
    J.F. Miller, P. Thomson, Cartesian genetic programming. In Genetic Programming, Lecturer Notes In Computer Science, vol. 1802, pp. 121–132. Springer, Berlin (2000).  https://doi.org/10.1007/978-3-540-46239-2_9 Google Scholar
  24. 24.
    J. Mora, Á. Gallego, A. Otero, E. de la Torre, T. Riesgo, Noise-agnostic adaptive image filtering without training references on an evolvable hardware platform. In 2013 Conference on Design and Architectures for Signal and Image Processing (DASIP), pp. 182–189 (2013). http://ieeexplore.ieee.org/document/6661538/
  25. 25.
    J. Mora, A. Otero, E. de la Torre, T. Riesgo, Fast and compact evolvable systolic arrays on dynamically reconfigurable FPGAs. In 10th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC), pp. 1–7. IEEE (2015).  https://doi.org/10.1109/ReCoSoC.2015.7238087
  26. 26.
    J. Mora, E. de la Torre, Accelerating the evolution of a systolic array-based evolvable hardware system. Microprocess. Microsyst. 56, 144–156 (2018).  https://doi.org/10.1016/j.micpro.2017.12.001 CrossRefGoogle Scholar
  27. 27.
    A. Otero, Á. Morales-Cas, J. Portilla, E. de la Torre, T. Riesgo, A modular peripheral to support self-reconfiguration in SoCs. In 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools (DSD), pp. 88–95. IEEE (2010).  https://doi.org/10.1109/DSD.2010.100
  28. 28.
    R. Salomon, H. Widiger, A. Tockhorn, Rapid evolution of time-efficient packet classifiers. In Proceedings of IEEE Congress Evolutionary Computation (CEC), pp. 2793–2799. IEEE (2006).  https://doi.org/10.1109/CEC.2006.1688659
  29. 29.
    R. Salvador, Parametric and structural self-adaptation of embedded systems using evolvable hardware. Ph.D. thesis (2015). http://oa.upm.es/39354/
  30. 30.
    R. Salvador, A. Otero, J. Mora, E. de la Torre, T. Riesgo, L. Sekanina, Evolvable 2D computing matrix model for intrinsic evolution in commercial FPGAs with native reconfiguration support. In 2011 NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 184–191 (2011).  https://doi.org/10.1109/AHS.2011.5963934
  31. 31.
    R. Salvador, A. Otero, J. Mora, E. de la Torre, T. Riesgo, L. Sekanina, Self-reconfigurable evolvable hardware system for adaptive image processing. IEEE Trans. Comput. 62(8), 1481–1493 (2013).  https://doi.org/10.1109/TC.2013.78 MathSciNetCrossRefzbMATHGoogle Scholar
  32. 32.
    R. Salvador, A. Otero, J. Mora, E. de la Torre, L. Sekanina, T. Riesgo, Fault tolerance analysis and self-healing strategy of autonomous, evolvable hardware systems. In 2011 International Conference on Reconfigurable Computing and FPGAs, pp. 164–169 (2011).  https://doi.org/10.1109/ReConFig.2011.37
  33. 33.
    L. Sekanina, Virtual reconfigurable circuits for real-world applications of evolvable hardware. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 2606, pp. 186–197. Springer, Berlin (2003).  https://doi.org/10.1007/3-540-36553-2_17 CrossRefGoogle Scholar
  34. 34.
    L. Sekanina, Handbook Of Natural Computing, Chap. Evolvable Hardware, pp. 1657–1705 (Springer, Berlin, 2012).  https://doi.org/10.1007/978-3-540-92910-9_50 CrossRefGoogle Scholar
  35. 35.
    A. Thompson, Silicon evolution. In Proceedings of the 1st annual conference on Genetic Programming, pp. 444–452. MIT Press (1996)Google Scholar
  36. 36.
    J. Torresen, G.A. Senland, K. Glette, Partial reconfiguration applied in an on-line evolvable pattern recognition system. In NORCHIP, pp. 61–64. IEEE (2008).  https://doi.org/10.1109/NORCHP.2008.4738283
  37. 37.
    G. Tufte, P.C. Haddow, Evolving an adaptive digital filter. In Proceedings of 2nd NASA/DoD Workshop on Evolvable Hardware, pp. 143–150. IEEE (2000).  https://doi.org/10.1109/EH.2000.869352
  38. 38.
    A. Upegui, E. Sánchez, Evolving hardware with self-reconfigurable connectivity in Xilinx FPGAs. In Proceedings of 1st NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 153–162. IEEE (2006).  https://doi.org/10.1109/AHS.2006.38
  39. 39.
    Z. Vasicek, L. Sekanina, An evolvable hardware system in Xilinx Virtex II Pro FPGA. IJICA 1(1), 63–73 (2007).  https://doi.org/10.1504/IJICA.2007.013402 CrossRefGoogle Scholar
  40. 40.
    Z. Vasicek, L. Sekanina, Hardware accelerators for cartesian genetic programming. In Genetic Programming, Lecture Notes in Computer Science, vol. 4971, pp. 230–241. Springer, Berlin (2008).  https://doi.org/10.1007/978-3-540-78671-9_20 Google Scholar
  41. 41.
    Z. Vasicek, L. Sekanina, Hardware accelerator of cartesian genetic programming with multiple fitness units. Comput. Inf. 29(6), 1359–1371 (2010). http://www.cai.sk/ojs/index.php/cai/article/view/149/126
  42. 42.
    Z. Vasicek, M. Zadnik, L. Sekanina, J. Tobola, On evolutionary synthesis of linear transforms in FPGA. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 5216, pp. 141–152. Springer, Berlin (2008).  https://doi.org/10.1007/978-3-540-85857-7_13
  43. 43.
    J. Wang, Q.S. Chen, C.H. Lee, Design and implementation of a virtual reconfigurable architecture for different applications of intrinsic evolvable hardware. IET Comput. Digit. Tech. 2(5), 386–400 (2008).  https://doi.org/10.1049/iet-cdt:20070124 CrossRefGoogle Scholar
  44. 44.
    J. Wang, C.H. Piao, C.H. Lee, Implementing multi-VRC cores to evolve combinational logic circuits in parallel. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 4684, pp. 23–34. Springer, Berlin (2007).  https://doi.org/10.1007/978-3-540-74626-3_3
  45. 45.
    Xilinx Inc., Virtex-5 FPGA User Guide (UG190) (2012)Google Scholar
  46. 46.
    Xilinx Inc., 7 Series FPGAs Configurable Logic Block (UG474) (2014)Google Scholar
  47. 47.
    R.S. Zebulum, M.A.C. Pacheco, M.M.B.R. Vellasco, Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms, 1 edn. no. 22 in International Series In Computer Intelligence (CRC Press Inc., 2001)Google Scholar

Copyright information

© Springer Science+Business Media, LLC, part of Springer Nature 2018

Authors and Affiliations

  1. 1.Centre of Industrial Electronics (CEI)Universidad Politécnica de MadridMadridSpain
  2. 2.Research Center on Software Technologies and Multimedia Systems for Sustainability (CITSEM)Universidad Politécnica de MadridMadridSpain

Personalised recommendations