skip to main content
research-article
Open Access

Computing Swarms for Self-Adaptiveness and Self-Organization in Floating-Point Array Processing

Published:01 September 2015Publication History
Skip Abstract Section

Abstract

Advancements in CMOS technology enable the integration of a huge number of resources on the same system-on-chip. Managing the consequent growing complexity, including fault tolerance issues in deep submicron technologies, is a hard challenge for hardware designers. Self-organization may represent a viable path toward the development of massively parallel architectures in current and future technologies. This approach is progressively more studied in multiprocessor architectures where, however, a further mind-set shift in terms of programming paradigm is required.

In this article, self-organization and self-adaptiveness are exploited for the design of a coprocessing unit for array computations, supporting floating-point arithmetic. From the experience of previous explorations, an architecture embodying some principle of swarm intelligence to pursue adaptability, scalability, and fault tolerance is proposed. The architecture realizes a loosely structured collection of hardware agents implementing fixed behavioral rules aimed at the best exploitation of the available resources in whatever kind of context without any hardware reconfiguration. Comparisons with off-the-shelf very long instruction word (VLIW) digital signal processors (DSPs) on specific tasks reveal similar performance thus not paying the improved robustness with performance. The multitasking capabilities, together with the intrinsic scalability, make this approach valuable for future extensions as well, especially in the field of neuronal networks simulators.

References

  1. M. Abramovici, C. E. Stroud, and J. M. Emmert. 2004. Online BIST and BIST-based diagnosis of FPGA logic blocks. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 12, 12, 1284--1294. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. Ahsan, F. Omara, and M. Zahran. 2008. Chip multiprocessor: Challenges and opportunities. In Proceedings of the 6th International Conference on Informatics and Systems (INFOS’08). 54--65.Google ScholarGoogle Scholar
  3. G. Angius, C. Manca, D. Pani, and L. Raffo. 2006. Cooperative VLSI tiled architectures: Stigmergy in a swarm coprocessor. In Ant Colony Optimization and Swarm Intelligence. Lecture Notes in Computer Science, Vol. 4150. Springer, 396--403. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. ATMEL Corporation. 2005. DSP Library: User Manual. DRAFT-DPS-12/05. ATMEL Corporation.Google ScholarGoogle Scholar
  5. A. Avizienis. 1967. Design of fault-tolerant computers. In Proceedings of the Fall Joint Computer Conference, Vol. 31. 733--743. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. J. Beal. 2012. A dimensionless graceful degradation metric for quantifying resilience. In Proceedings of the IEEE 6th International Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW’12). 89--92. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Bonabeau, M. Dorigo, and G. Theraulaz. 1999. Swarm Intelligence, from Natural to Artificial Systems. Oxford University Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Brambilla, E. Ferrante, M. Birattari, and M. Dorigo. 2013. Swarm robotics: A review from the swarm engineering perspective. Swarm Intelligence 7, 1, 1--41. DOI:http://dx.doi.org/10.1007/s11721-012-0075-2Google ScholarGoogle ScholarCross RefCross Ref
  9. C. Brunelli, F. Garzia, D. Rossi, and J. Nurmi. 2010. A coarse-grain reconfigurable architecture for multimedia applications supporting subword and floating-point calculations. Journal of Systems Architecture 56, 1, 38--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. G. Busonera, S. Carucci, D. Pani, and L. Raffo. 2007. Self-organization on silicon: System integration of a fixed-point swarm coprocessor. In Nature Inspired Cooperative Strategies for Optimization (NICSO 2007). Studies in Computational Intelligence, Vol. 129. Springer, 149--158.Google ScholarGoogle Scholar
  11. M. Chean and J. A. B. Fortes. 1990. A taxonomy of reconfiguration techniques for fault-tolerant processor arrays. IEEE Computer 23, 2, 55--69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. O. Derin, E. Cannella, G. Tuveri, P. Meloni, T. Stefanov, L. Fiorin, L. Raffo, and M. Sami. 2013. A system-level approach to adaptivity and fault-tolerance in NoC-based MPSoCs: The MADNESS project. Microprocessors and Microsystems 37, 67, 515--529. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. G. Di Caro, F. Ducatelle, and L. M. Gambardella. 2004. AntHocNet: An ant-based hybrid routing algorithm for mobile ad hoc networks. In Proceedings of the 8th International Conference on Parallel Problem Solving from Nature (PPSN’04). 461--470.Google ScholarGoogle Scholar
  14. M. Dorigo and M. Birattari. 2007. Swarm intelligence. Scholarpedia 2, 9, 1462.Google ScholarGoogle ScholarCross RefCross Ref
  15. M. Dorigo and T. Stützle. 2004. Ant Colony Optimization. Bradford Company, Scituate, MA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. F. Ducatelle, G. A. Di Caro, C. Pinciroli, and L. M. Gambardella. 2011. Self-organized cooperation between robotic swarms. Swarm Intelligence 5, 2, 73--96.Google ScholarGoogle ScholarCross RefCross Ref
  17. A. Farmahini-Farahani, S. M. Fakhraie, and S. Safari. 2007. SOPC-based architecture for discrete particle swarm optimization. In Proceedings of the 14th IEEE International Conference on Electronics, Circuits, and Systems (ICECS’07). 1003--1006.Google ScholarGoogle Scholar
  18. J. A. B. Fortes and C. S. Raghavendra. 1985. Gracefully degradable processor arrays. IEEE Transactions on Computers 34, 11, 1033--1044. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Fukuda, D. Funato, K. Sekiyama, and F. Arai. 1998. Evaluation on flexibility of swarm intelligent system. In Proceedings of the IEEE International Conference on Robotics and Automation, Vol. 4. 3210--3215.Google ScholarGoogle Scholar
  20. F. Garzia, W. Hussain, and J. Nurmi. 2009. CREMA: A coarse-grain reconfigurable array with mapping adaptiveness. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’09). 708--712.Google ScholarGoogle Scholar
  21. M. Glass, M. Lukasiewycz, C. Haubelt, and J. Teich. 2009. Incorporating graceful degradation into embedded system design. In Proceedings of the Design, Automation, & Test in Europe Conference and Exhibition (DATE’’09). 320--323. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. P. P. Grassé. 1959. La reconstruction du nid et les coordinations interindividuelles chez Bellicositermes natalensis et Cubitermes sp. La theorie de la stigmergie: Essai d’interpretation des termites constructeurs. Insectes Sociaux 6, 41--83.Google ScholarGoogle ScholarCross RefCross Ref
  23. F. Gruau, Y. Lhuillier, P. Reitz, and O. Temam. 2004. Blob computing. In Proceedings of the 1st Conference on Computing Frontiers (CF’04). 125--139. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. C. Haubelt, D. Koch, F. Reimann, T. Streichert, and J. Teich. 2010. ReCoNets—design methodology for embedded systems consisting of small networks of reconfigurable nodes and connections. In Dynamically Reconfigurable Systems, M. Platzner, J. Teich, and N. Wehn (Eds). Springer, 223--243.Google ScholarGoogle Scholar
  25. H. Hoffmann, J. Eastep, M. D. Santambrogio, J. E. Miller, and A. Agarwal. 2010. Application heartbeats for software performance and health. ACM SIGPLAN Notices 45, 5, 347--348. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. M. Jo, D. Lee, K. Han, and K. Choi. 2014. Design of a coarse-grained reconfigurable architecture with floating-point support and comparative study. Integration, the VLSI Journal 47, 2, 232--241. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. J. Kennedy, R. Eberhart, and Y. Shi. 2001. Swarm Intelligence. Morgan Kaufmann Academic Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Khan, S. Laha, and S. K. Sarkar. 2013. A novel particle swarm optimization approach for VLSI routing. In Proceedings of the IEEE 3rd International Advance Computing Conference (IACC’13). 258--262.Google ScholarGoogle Scholar
  29. M. M. Khan, D. R. Lester, L. A. Plana, A. Rast, X. Jin, E. Painkras, and S. B. Furber. 2008. SpiNNaker: Mapping neural networks onto a massively-parallel chip multiprocessor. In Proceedings of the IEEE International Joint Conference on Neural Networks (IJCNN’08). 2849--2856.Google ScholarGoogle Scholar
  30. C. R. Kube. 1997. Collective Robotics: From Local Perception to Global Action. Ph.D. Dissertation. Department of Computer Science, University of Alberta, Edmonton. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. P. Kuntz and P. Layzell. 1997. An ant clustering algorithm applied to partitioning in VLSI technology. In Proceedings of the 4th European Conference on Artificial Life. 417--424.Google ScholarGoogle Scholar
  32. T. Lehtonen, D. Wolpert, P. Liljeberg, J. Plosila, and P. Ampadu. 2010. Self-adaptive system for addressing permanent errors in on-chip interconnects. IEEE Transactions on Very Large Scale Integration (VLSI) Systems 18, 4, 527--540. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. P. R. Lewis, A. Chandra, S. Parsons, E. Robinson, K. Glette, R. Bahsoon, J. Torresen, and Y. Xin. 2011. A survey of self-awareness and its application in computing systems. In Proceedings of the 5th IEEE Conference on Self-Adaptive and Self-Organizing Systems Workshops (SASOW’11). 102--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. K. Loukil, N. Ben Amor, M. Abid, and J. Philippe Diguet. 2013. Self-adaptive on-chip system based on cross-layer adaptation approach. International Journal of Reconfigurable Computing 2013, Article No. 6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. D. Mange, M. Sipper, A. Stauffer, and G. Tempesti. 2000. Toward robust integrated circuits: The embryonics approach. Proceedings of the IEEE 88, 516--541.Google ScholarGoogle ScholarCross RefCross Ref
  36. P. Meloni, G. Tuveri, L. Raffo, E. Cannella, T. Stefanov, O. Derin, L. Fiorin, and M. Sami. 2012. System adaptivity and fault-tolerance in NoC-based MPSoCs: The MADNESS project approach. In Proceedings of the 2012 15th Euromicro Conference on Digital System Design (DSD’12). 517--524. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. J. Von Neumann. 1956. Probabilistic logic and the synthesis of reliable organisms from unreliable components. In Automata Studies, C. Shannon and J. McCarthy (Eds.). Princeton University Press, 43--98.Google ScholarGoogle Scholar
  38. S. F. Oberman and M. J. Flynn. 1996. A variable latency pipelined floating-point adder. In Euro-Par’96 Parallel Processing. Lecture Notes in Computer Science, Vol. 1124. Springer, 183--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. F. Palumbo, N. Carta, D. Pani, P. Meloni, and L. Raffo. 2012. The multi-dataflow composer tool: Generation of on-the-fly reconfigurable platforms. Journal of Real-Time Image Processing 9, 1, 233--249. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. F. Palumbo, D. Pani, and L. Raffo. 2010. Hybrid switching techniques for heterogeneous traffic support in multi-processers system on chip and massively parallel processors. In Computer Science Research and the Internet, J. E. Morris (Ed.). Nova Science Publishers, 301--340.Google ScholarGoogle Scholar
  41. F. Palumbo, D. Pani, L. Raffo, and S. Secchi. 2008. A surface tension and coalescence model for dynamic distributed resources allocation in massively parallel processors on-chip. Studies in Computational Intelligence 129, 335--345.Google ScholarGoogle Scholar
  42. D. Pani. 2006. Conception, Design and Evaluation of Novel Digital VLSI Architectures for Computation Intensive Parallel Processing. Ph.D. Dissertation. Department of Electrical and Electronic Engineering, University of Cagliari, Italy.Google ScholarGoogle Scholar
  43. D. Pani, G. Barabino, and L. Raffo. 2013. NInFEA: An embedded framework for the real-time evaluation of fetal ECG extraction algorithms. Biomed Tech 58, 1, 13--26.Google ScholarGoogle ScholarCross RefCross Ref
  44. D. Pani and L. Raffo. 2004. A swarm intelligence based VLSI multiplication-and-add scheme. In Parallel Problem Solving from Nature—PPSN VIII. Lecture Notes in Computer Science, Vol. 3242. Springer, 362--371.Google ScholarGoogle Scholar
  45. D. Pani and L. Raffo. 2006. Stigmergic approaches applied to flexible fault-tolerant digital VLSI architectures. Journal of Parallel Distributed Computing, Special Issue on Parallel Bioinspired Algorithms 66, 8, 1014--1024. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. D. Pani and L. Raffo. 2010. Self-coordinated on-chip parallel computing: A swarm intelligence approach. In Parallel and Distributed Computational Intelligence. Springer-Verlag, Berlin, 91--112.Google ScholarGoogle Scholar
  47. D. Pani, S. Secchi, and L. Raffo. 2010. Self organization on a swarm computing fabric: A new way to look at fault tolerance. In Proceedings of the 7th ACM International Conference on Computing Frontiers. 327--336. Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. D. Pani, F. Usai, L. Citi, and L. Raffo. 2011. Real-time processing of tfLIFE neural signals on embedded DSP platforms: A case study. In Proceedings of the 5th International IEEE/EMBS Conference on Neural Engineering (NER’11). 44--47.Google ScholarGoogle Scholar
  49. J. H. Patel and L. Y. Fung. 1982. Concurrent error detection in ALU’s by recomputing with shifted operands. IEEE Transactions on Computers 31, 7, 589--959. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. M. Pereira, T. Lo, and L. Carro. 2009. A self-adaptive approach for fault-tolerance in future technologies. In Proceedings of the 1st HiPEAC Workshop on Design for Reliability (DFR’09).Google ScholarGoogle Scholar
  51. M. Resnick. 1997. Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds. MIT Press. Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. E. Rotenberg. 1999. AR-SMT: A microarchitectural approach to fault tolerance in microprocessors. In Proceedings of the 29th IEEE International Symposium on Fault-Tolerant Computing (FTCS’99). 84--91. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. P. K. Rout, D. P. Acharya, and G. Panda. 2010. Digital circuit placement in FPGA based on efficient particle swarm optimization techniques. In Proceedings of the International Conference on Industrial and Information Systems (ICIIS’10). 224--227.Google ScholarGoogle Scholar
  54. M. Rubenstein, A. Cornejo, and R. Nagpal. 2014. Programmable self-assembly in a thousand-robot swarm. Science 345, 6198, 795--799.Google ScholarGoogle Scholar
  55. E. Sahin, T. H. Labella, V. Trianni, J.-L. Deneubourg, P. Rasse, D. Floreano, L. M. Gambardella, F. Mondada, S. Nolfi, and M. Dorigo. 2002. SWARM-BOT: Pattern formation in a swarm of self-assembling mobile robots. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics.Google ScholarGoogle Scholar
  56. M. Salehie and L. Tahvildari. 2009. Self-adaptive software: Landscape and research challenges. ACM Transactions on Autonomous and Adaptive Systems 4, 2, Article No. 14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. C. Sau, D. Pani, F. Palumbo, and L. Raffo. 2012. A nature-inspired adaptive floating-point coprocessing system. In Proceedings of the 2012 Conference on Design and Architectures for Signal and Image Processing (DASIP’12). 1--8.Google ScholarGoogle Scholar
  58. R. Schoonderwoerd, O. E. Holland, J. L. Bruten, and L. J. M. Rothkrantz. 1996. Ant-based load balancing in telecommunications networks. Adaptive Behavior 5, 2, 169--207. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. M. Sipper. 1997. Evolution of Parallel Cellular Machines: The Cellular Programming Approach. Springer-Verlag, Heidelberg, Germany. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. F. Sironi, M. Triverio, H. Hoffmann, M. Maggio, and M. D. Santambrogio. 2010. Self-aware adaptation in FPGA-based systems. In Proceedings of the International Conference on Field Programmable Logic and Applications (FPL’10). 187--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. R. Sterritt and M. Hinchey. 2010. SPAACE IV: Self-properties for an autonomous & autonomic computing environment——part IV: A newish hope. In Proceedings of the 7th IEEE International Conference and Workshops on Engineering of Autonomic and Autonomous Systems (EASe’10). 119--125. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. M. B. Taylor, J. Kim, J. Miller, D. Wentzlaff, F. Ghodrat, B. Greenwald, H. Hoffman, P. Johnson, J.-W. Lee, W. Lee, A. Ma, A. Saraf, M. Seneski, N. Shnidman, V. Strumpen, M. Frank, S. Amarasinghe, and A. Agarwal. 2002. The Raw microprocessor: A computational fabric for software circuits and general-purpose programs. IEEE Micro 22, 2, 25--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Texas Instruments Inc. 2014. DSPLIB 3.4.0.0 Release Notes. Texas Instruments Inc.Google ScholarGoogle Scholar
  64. A. M. Tyrrell. 1999. Computer know thy self!: A biological way to look at fault-tolerance. In Proceedings of the 25th Euromicro Conference, Vol. 2. 129--135.Google ScholarGoogle Scholar
  65. A. M. Tyrrell, G. Hollingworth, and S. L. Smith. 2001. Evolutionary strategies and intrinsic fault tolerance. In Proceedings of the 3rd NASA/DoD Conference on Evolvable Hardware. 98--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. A. Upegui, C. A. Pena-Reyes, and E. Sanchez. 2005. An FPGA platform for on-line topology exploration of spiking neural networks. Microprocessors and Microsystems 29, 5, 211--223.Google ScholarGoogle ScholarCross RefCross Ref
  67. M. W. Van Tol, Z. Pohl, and M. Tichý. 2011. A framework for self-adaptive collaborative computing on reconfigurable platforms. In Proceedings of the International Conference on Parallel Computing (PARCO’11). 579--586.Google ScholarGoogle Scholar
  68. E. Waingold, M. Taylor, D. Srikrishna, V. Sakar, W. Lee, V. Lee, J. Kim, M. Frank, P. Finch, R. Barua, J. Babb, S. Amarasinghe, and A. Agarwal. 1997. Baring it all to software: RAW machines. IEEE Computer 30, 9, 86--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. S. Wildermann. 2012. Systematic Design of Self-Adaptive Embedded Systems with Applications in Image Processing. Ph.D. Dissertation. University of Erlangen-Nuremberg.Google ScholarGoogle Scholar
  70. S. Yajnik and N. K. Jha. 1997. Graceful degradation in algorithm-based fault tolerant multiprocessor systems. IEEE Transactions on Parallel and Distributed Systems 8, 2, 137--153. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. A. G. Zamorano, J. Timmis, and A. Tyrrell. 2011. A flexible decentralised communication architecture on a field programmable gate array for swarm system simulations. In Proceedings of the 2011 IEEE Congress on Evolutionary Computation (CEC’11). 230--237.Google ScholarGoogle Scholar
  72. K. Zhang, Y. Yao, O. Labanni, Z. Lu, X. Wu, and Z. Lu. 2012. A new universal-environment adaptive multi-processor scheduler for autonomous cyber-physical system. In Proceedings of the IEEE/ACIS 11th International Conference on Computer and Information Science (ICIS’12). 373--378. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. X. Zhang, G. Dragffy, A. G. Pipe, and Q. M. Zhu. 2004. Artificial innate immune system: An instant defence layer of embryonics. In Proceedings of the 3rd International Conference on Artificial Immune Systems (ICARIS’04). 302--315.Google ScholarGoogle Scholar
  74. Z. Zhang, K. Long, J. Wang, and F. Dressler. 2014. On swarm intelligence inspired self-organized networking: Its bionic mechanisms, designing principles and optimization approaches. IEEE Communications Surveys & Tutorials 16, 1, 513--537.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Computing Swarms for Self-Adaptiveness and Self-Organization in Floating-Point Array Processing

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Autonomous and Adaptive Systems
      ACM Transactions on Autonomous and Adaptive Systems  Volume 10, Issue 3
      October 2015
      204 pages
      ISSN:1556-4665
      EISSN:1556-4703
      DOI:10.1145/2819320
      Issue’s Table of Contents

      Copyright © 2015 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 September 2015
      • Accepted: 1 March 2015
      • Revised: 1 February 2015
      • Received: 1 April 2014
      Published in taas Volume 10, Issue 3

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader