Skip to main content

Compiler Assisted Synthesis of Algorithm-Based Checking in Multiprocessors1

  • Chapter
Foundations of Dependable Computing

Abstract

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.

This research was supported in part by the Office of Naval Research under contract N00014-91-J-1096

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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.

    Article  Google Scholar 

  4. D. P. Siewiorek and R. S. Swartz, Theory and Practice of Reliable System Design. Bedford, MA: Digital Press, 1982.

    Google Scholar 

  5. O. Serlin, “Fault-Tolerant Systems in Commercial Applications,” IEEE Computer, pp. 19–30, August 1984.

    Google Scholar 

  6. D. Johnson, “The Intel 432: A VLSI Architecture for Fault-Tolerant Computer Systems,” IEEE Computer, pp. 40–48, August 1984.

    Google Scholar 

  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. 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. 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. F. Luk, “Algorithm-Based Fault Tolerance for Parallel Matrix Solvers,” Proc. SPIE Real-Time Signal Processing VIII, vol. 564, 1985.

    Google Scholar 

  11. M. Malek and Y. H. Choi, “A fault-tolerant fft processor,” IEEE Trans. Comput., May 1988.

    Google Scholar 

  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. 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. 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. 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. 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. 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. D. A. Padua and M. J. Wolfe, “Advanced compiler optimizations for supercomputers,” Commun. ACM, vol. 29, pp. 1184–1201, December 1986.

    Google Scholar 

  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. 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. 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. A. Y. Aho, R. Sethi, and J. D. Ullnian, Compilers: Principles, Techniques and Tools. Reading, MA: Addison-Wesley, 1988.

    Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Kluwer Academic Publishers

About this chapter

Cite this chapter

Banerjee, P., Balasubramanian, V., Roy-Chowdhury, A. (1994). Compiler Assisted Synthesis of Algorithm-Based Checking in Multiprocessors1. In: Koob, G.M., Lau, C.G. (eds) Foundations of Dependable Computing. The Kluwer International Series in Engineering and Computer Science, vol 285. Springer, Boston, MA. https://doi.org/10.1007/978-0-585-28002-8_6

Download citation

  • DOI: https://doi.org/10.1007/978-0-585-28002-8_6

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-0-7923-9486-0

  • Online ISBN: 978-0-585-28002-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics