Orthogonal fault-tolerant systolic arrays for matrix multiplication

Abstract A systematic approach for designing one class of fault-tolerant systolic arrays (FTSAs) with orthogonal interconnects and unidirectional data flow, Orthogonal Unidirectional Systolic Array (OUSA), for multiplication of rectangular matrices is presented in this paper. The method employs space-time redundancy to achieve fault-tolerance. By conducting proposed systematic design procedure, four different systolic arrays of OUSA type are obtained. All the arrays can tolerate single transient errors and majority of multiple errors with high probability. In order to provide high bandwidth in data access, a special hardware called address generator unit, was designed. Hardware complexity and performance gains achieved at higher (system, algorithm and architecture) design levels were analyzed. The obtained results show that with n2 + 2n processing elements the total execution time of the fault-tolerant algorithm is 6n + 3 time units, the hardware overhead due to involving fault-tolerance is in the range from 6.25% down to 0.8%, while time overhead is 50%. In addition, by involving hardware implemented address generation unit we reduce the total execution time of the algorithm almost five times, compared to software address calculations.

[1]  C. R. Wan,et al.  Massive parallel processing for matrix multiplication: a systolic approach , 2001 .

[2]  Mile K. Stojcev,et al.  Address generators for linear systolic array , 2010, Microelectron. Reliab..

[3]  Mile K. Stojcev,et al.  Hexagonal systolic arrays for matrix multiplication , 2001 .

[4]  Petru Eles,et al.  Design Optimization of Time- and Cost-Constrained Fault-Tolerant Embedded Systems With Checkpointing and Replication , 2009, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[5]  Kermin Fleming,et al.  Hardware Acceleration of Matrix Multiplication on a Xilinx FPGA , 2007, 2007 5th IEEE/ACM International Conference on Formal Methods and Models for Codesign (MEMOCODE 2007).

[6]  Suku Nair,et al.  Real-Number Codes for Bault-Tolerant Matrix Operations On Processor Arrays , 1990, IEEE Trans. Computers.

[7]  M. P. Bekakos Highly parallel computations : algorithms and applications , 2001 .

[8]  Emina I. Milovanovic,et al.  The Design of Optimal Planar Systolic Arrays for Matrix Multiplication , 1997 .

[9]  Asim J. Al-Khalili,et al.  Fault-tolerant design methodology for systolic array architectures , 1994 .

[10]  Mark Zwolinski,et al.  On the Design of Self-Checking Controllers with Datapath Interactions , 2006, IEEE Transactions on Computers.

[11]  Victor Malyshkin Proceedings of the 9th international conference on Parallel Computing Technologies , 1995 .

[12]  Siddharth Joshi,et al.  FPGA Based High Performance Double-Precision Matrix Multiplication , 2009, VLSI Design.

[13]  Yongge Huang Supercomputing Research Advances , 2008 .

[14]  David J. Evans,et al.  Nineteen ways of systolic matrix multiplication , 1998, Int. J. Comput. Math..

[15]  Jacob A. Abraham,et al.  Algorithm-Based Fault Tolerance for Matrix Operations , 1984, IEEE Transactions on Computers.

[16]  N. M. Stojanovi,et al.  Mapping matrix multiplication algorithm onto fault-tolerant systolic array , 2004 .

[17]  Melvin A. Breuer,et al.  Fault tolerance in linear systolic arrays using time redundancy , 1990, [1988] Proceedings of the Twenty-First Annual Hawaii International Conference on System Sciences. Volume I: Architecture Track.

[18]  Philippe Coussy,et al.  High-Level Synthesis: from Algorithm to Digital Circuit , 2008 .

[19]  C. N. Zhang,et al.  Optimal fault-tolerant design approach for VLSI array processors , 1997 .

[20]  Mile K. Stojcev,et al.  Multi-functional systolic array with reconfigurable micro-power processing elements , 2009, Microelectron. Reliab..