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.
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- ATMEL Corporation. 2005. DSP Library: User Manual. DRAFT-DPS-12/05. ATMEL Corporation.Google Scholar
- A. Avizienis. 1967. Design of fault-tolerant computers. In Proceedings of the Fall Joint Computer Conference, Vol. 31. 733--743. Google ScholarDigital Library
- 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 ScholarDigital Library
- E. Bonabeau, M. Dorigo, and G. Theraulaz. 1999. Swarm Intelligence, from Natural to Artificial Systems. Oxford University Press. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- M. Dorigo and M. Birattari. 2007. Swarm intelligence. Scholarpedia 2, 9, 1462.Google ScholarCross Ref
- M. Dorigo and T. Stützle. 2004. Ant Colony Optimization. Bradford Company, Scituate, MA. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- J. A. B. Fortes and C. S. Raghavendra. 1985. Gracefully degradable processor arrays. IEEE Transactions on Computers 34, 11, 1033--1044. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- J. Kennedy, R. Eberhart, and Y. Shi. 2001. Swarm Intelligence. Morgan Kaufmann Academic Press. Google ScholarDigital Library
- 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 Scholar
- 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 Scholar
- C. R. Kube. 1997. Collective Robotics: From Local Perception to Global Action. Ph.D. Dissertation. Department of Computer Science, University of Alberta, Edmonton. Google ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- 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 Scholar
- 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 Scholar
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- M. Resnick. 1997. Turtles, Termites, and Traffic Jams: Explorations in Massively Parallel Microworlds. MIT Press. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 Scholar
- M. Rubenstein, A. Cornejo, and R. Nagpal. 2014. Programmable self-assembly in a thousand-robot swarm. Science 345, 6198, 795--799.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- M. Sipper. 1997. Evolution of Parallel Cellular Machines: The Cellular Programming Approach. Springer-Verlag, Heidelberg, Germany. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- Texas Instruments Inc. 2014. DSPLIB 3.4.0.0 Release Notes. Texas Instruments Inc.Google Scholar
- 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 Scholar
- 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 ScholarDigital Library
- 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 ScholarCross Ref
- 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 Scholar
- 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 ScholarDigital Library
- S. Wildermann. 2012. Systematic Design of Self-Adaptive Embedded Systems with Applications in Image Processing. Ph.D. Dissertation. University of Erlangen-Nuremberg.Google Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarDigital Library
- 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 Scholar
- 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 ScholarCross Ref
Index Terms
Computing Swarms for Self-Adaptiveness and Self-Organization in Floating-Point Array Processing
Recommendations
Floating-point FPGA: architecture and modeling
This paper presents an architecture for a reconfigurable device that is specifically optimized for floating-point applications. Fine-grained units are used for implementing control logic and bit-oriented operations, while parameterized and ...
Intel® Itanium® floating-point architecture
WCAE '03: Proceedings of the 2003 workshop on Computer architecture education: Held in conjunction with the 30th International Symposium on Computer ArchitectureThe Intel® Itanium® architecture is increasingly becoming one of the major processor architectures present in the market today. Launched in 2001, the Intel Itanium processor was followed in 2002 by the Itanium 2 processor, with increased integer and ...
Exploiting Parallelism in Geometry Processing with General Purpose Processors and Floating-Point SIMD Instructions
Three-dimensional (3D) graphics applications have become very important workloads running on today's computer systems. A cost-effective graphics solution is to perform geometry processing of 3D graphics on the host CPU and have specialized hardware ...
Comments