Foundations of Dependable Computing pp 159-211 | Cite as
Compiler Assisted Synthesis of Algorithm-Based Checking in Multiprocessors1
- 1 Citations
- 36 Downloads
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.
Keywords
Task Graph Array Variable Loop Index Expression Tree Check VariablePreview
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.CrossRefGoogle 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