Compiler Assisted Synthesis of Algorithm-Based Checking in Multiprocessors1

  • Prithviraj Banerjee
  • Vijay Balasubramanian
  • Amber Roy-Chowdhury
Part of the The Kluwer International Series in Engineering and Computer Science book series (SECS, volume 285)


In this section we describe a compile-time approach to synthesizing algorithm-based checks for numerical programs. The compiler is used to identify linear transformations within loops and for restructuring nonlinear program statements to introduce, more linearity into the program. The data manipulated linear statements are then checked by the introduction of checksums, which can often be done more cheaply than replication. We discuss the implementation of a source-to-source restructuring compiler based on the above approach, and present results of applying this compiler to routines from LINPACK, EISPACK and the Perfect Benchmark Suite.


Task Graph Array Variable Loop Index Expression Tree Check Variable 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    A. L. Hopkins, I. T. B. Smith, and J. H. Lala, “FTMP: A Highly Reliable Fault-Tolerant Multiprocessor for Aircraft,” Proc. IEEE, vol. 66, pp. 1221–1239, Oct. 1978.Google Scholar
  2. [2]
    D. P. Siewiorek, V. Kini, H. Mashburn, S. McConnel, and M. Hsao, “A Case Study of C.mmp, Cm*, and C.vmp. I. Experiences with Fault Tolerance in Multiprocessor Systems,” Proc. IEEE, vol. 66, pp. 1178–1199, Oct. 1978.Google Scholar
  3. [3]
    J. H. Wensley, L. Lamport, J. Goldberg, M. W. Green, K. N. Levitt, P. M. Melliar-Smith, R. E. Shostak, and C. B. Weinstock, “SIFT: Design and Analysis of a Fault-Tolerant Computer for Aircraft Control,” Proc. IEEE, vol. 66, no. 10, pp. 1240–1255, Oct. 1978.CrossRefGoogle Scholar
  4. [4]
    D. P. Siewiorek and R. S. Swartz, Theory and Practice of Reliable System Design. Bedford, MA: Digital Press, 1982.Google Scholar
  5. [5]
    O. Serlin, “Fault-Tolerant Systems in Commercial Applications,” IEEE Computer, pp. 19–30, August 1984.Google Scholar
  6. [6]
    D. Johnson, “The Intel 432: A VLSI Architecture for Fault-Tolerant Computer Systems,” IEEE Computer, pp. 40–48, August 1984.Google Scholar
  7. [7]
    K.-H. Huang and J. A. Abraham, “Algorithm-based fault tolerance for matrix operations,” IEEE Trans. Comput., vol. C-33, pp. 518–528, June 1984.Google Scholar
  8. [8]
    P. Banerjee, J. T. Rahmeh, C. Stunkel, V. S. Nair, K. Roy, V. Balasubramanian, and J. A. Abraham, “Algorithm-based fault tolerance on a hypercube multiprocessor,” IEEE Trans. Comput., vol. 39, pp. 1132–1145, September 1990.Google Scholar
  9. [9]
    J.-Y. Jou and J. A. Abraham, “Fault-tolerant matrix operations on multiple processor systems using weighted checksums,” SPIE Proceedings, vol. 495, August 1984.Google Scholar
  10. [10]
    F. Luk, “Algorithm-Based Fault Tolerance for Parallel Matrix Solvers,” Proc. SPIE Real-Time Signal Processing VIII, vol. 564, 1985.Google Scholar
  11. [11]
    M. Malek and Y. H. Choi, “A fault-tolerant fft processor,” IEEE Trans. Comput., May 1988.Google Scholar
  12. [12]
    A. L. N. Reddy and P. Banerjee, “Algorithm-based fault detection techniques in signal processing applications,” IEEE Trans. Comput., vol. 39, pp. 1304–1308, October 1990.Google Scholar
  13. [13]
    R. B. Mueller-Thuns, D. McFarland, and P. Banerjee, “Algorithm-Based Fault Tolerance for Adaptive Least Squares Lattice Filtering on a Hypercube Multiprocessor,” Proc. Int. Conf. on Parallel Processing, pp. 177 189, Aug. 1989.Google Scholar
  14. [14]
    V. Balasubramanian, “The Analysis and Synthesis of Efficient Algorithm-Based Error Detection Schemes for Hypercube Multiprocessors.” Ph.D. dissertation, Univ. of Illinois Urbana-Champaign, February 1991. Tech. Report no. CRHC-91-6, UILU-ENG-91-2210.Google Scholar
  15. [15]
    W. Harrison, “An Overview of the Structure of Parafrase.” Univ. of Illinois, Urbana-Champaign, July 1985. CSRD Tech. Report no. 501, PR-85-2. UILU ENG-85-8002.Google Scholar
  16. [16]
    B. Leasure, “ The Parafrase project’s Fortran analyzer major module documentation.” Univ. of Illinois, Urbana-Champaign, July 1985. CSRD Tech. Report no. 504, PR-85-5, UILU-ENG-85-8005.Google Scholar
  17. [17]
    C. D. Polychronopoulos, “Compiler optimizations for enhancing parallelism and their impact on architecture design,” IEEE Trans. Comput., vol. 37, pp. 991–1004, August 1988.Google Scholar
  18. [18]
    D. A. Padua and M. J. Wolfe, “Advanced compiler optimizations for supercomputers,” Commun. ACM, vol. 29, pp. 1184–1201, December 1986.Google Scholar
  19. [19]
    S. P. Midkiff and D. A. Padua, “Compiler algorithms for synchronization.” IEEE_Trans. Comput. vol. C-36, pp. 1485–1495. December 1987.Google Scholar
  20. [20]
    C.D. Polychronopoulos, M. Girkar. M. R. Hagighat, C. L. Lee. B. Leung, and D. Schonten, “Parafrase-2 manual.” CSRD, Univ. of Illinois, UrbanaChampaign, 1990.Google Scholar
  21. [21]
    V. Balasubramanian and P. Banerjee, “CRAFT: A Compiler for Synthesizing ALgorithm-Based Fault Tolerance in Hypercube Multiprocessors,” Proc. Int. Conf. Parallel Processing (ICPP-91), Aug. 1991.Google Scholar
  22. [22]
    A. Y. Aho, R. Sethi, and J. D. Ullnian, Compilers: Principles, Techniques and Tools. Reading, MA: Addison-Wesley, 1988.Google Scholar
  23. [23]
    M. Gupta, “Automatic data partitioning on distributed memory multiprocessors.” Univ. of Illinois, Urbana-Champaign, October 1990. Tech. Report no. CRHC-90-14.Google Scholar
  24. [24]
    A. Roy-Chowdhury, “Evaluation of Algorithm Based Fault-Tolerance’ Techniques on Multiple Fault Classes in the Presence of Finite Precision Arithmetic.” M.S. Thesis, Univ. of Illinois, Urbana-Champaign, August 1992. Tech. Report no. CRHC-92-15, UILU-ENG-92-2228.Google Scholar

Copyright information

© Kluwer Academic Publishers 1994

Authors and Affiliations

  • Prithviraj Banerjee
    • 1
  • Vijay Balasubramanian
    • 2
  • Amber Roy-Chowdhury
    • 1
  1. 1.Center for Reliable and High Performance ComputingUniversity of IllinoisUrbana
  2. 2.Computer Science Dept.Xavier UniversityNew Orleans

Personalised recommendations