This Article 
 Bibliographic References 
 Add to: 
Compiler-Assisted Synthesis of Algorithm-Based Checking in Multiprocessors
April 1990 (vol. 39 no. 4)
pp. 436-446

The task of synthesizing algorithm-based checking techniques for general applications is investigated. The problem is approached at the compiler level by identifying linear transformations in Fortran DO loops and restructuring program statements to convert nonlinear transformations to linear ones. System-level checks based on this property are proposed. The approach is demonstrated with example problems of matrix multiplication and the LINPACK routine: DGEFA.

[1] C. L. Seitz, "The Cosmic Cube,"Commun. ACM, pp. 22-33, Jan. 1985.
[2] J. R. Armstrong and F. G. Gray, "Fault diagnosis in a Boolean n-cube array of multiprocessors,"IEEE Trans. Comput., vol. C-30, pp. 587-590, Aug. 1981.
[3] 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.
[4] J. Y. Jou and J. A. Abraham, "Fault tolerant arithmetic and signal processing on highly concurrent computing structures,"Proc. IEEE(Special Issue on Fault Tolerance in VLSI), vol. 74, pp. 732-741, May 1986.
[5] J. Y. Jou and J. A. Abraham, "Fault tolerant FFT networks," inProc. 15th Int. Symp. Fault-Tolerant Comput., Ann Arbor, MI, June 1985.
[6] F. T. Luk, "Algorithm-based fault tolerance for parallel matrix solvers,"Proc. SPIE, vol. 564, Real Time Signal Processing VIII, 1985.
[7] A. L. N. Reddy and P. Banerjee, "Algorithm-based fault detection techniques in signal processing applications,"IEEE Trans. Comput., to be published.
[8] C.-Y. Chen and J. A. Abraham, "Fault-tolerant systems for the computation of eigenvalues and singular values," inProc. SPIE Conf., Aug. 1986, pp. 228-237.
[9] P. Banerjeeet al., "An evaluation of system-level fault tolerance on the intel hypercube multiprocessor," inProc. 18th Int. Symp. Fault-Tolerant Comput., 1988, pp. 362-367.
[10] P. Banerjee and C. Stunkel, "A novel approach to system-level fault tolerance in hypercube multiprocessors," inProc. 3rd ACM Conf. Hypercube Concurrent Computers and Applications, Pasadena, CA, Jan. 1988, pp. 307-311.
[11] V. Balasubramanian and P. Banerjee, "Tradeoffs in the design of efficient algorithm-based error detection schemes for hypercube multiprocessors,"IEEE Trans. Software Eng., (Special Issue on Experimental Comput. Sci.), Feb. 1990.
[12] V. Balasubramanian and P. Banerjee, "Algorithm-based error detection for signal processing applications on a hypercube multiprocessor," inProc. 10th Real-Time Systems Symp., Dec. 1989.
[13] R. B. Mueller-Thuns, P. McFarland, and P. Banerjee, "Algorithm-based fault tolerance for adaptive least squares lattice filtering on a hypercube multiprocessor," inProc. 18th Int. Conf. Parallel Processing, St. Charles, IL, Aug. 1989.
[14] B. Brode, "Precompilation of Fortran programs to facilitate array processing,"IEEE Comput. Mag., vol. 14, pp. 46-51, Sept. 1981.
[15] J. Davies, C. Huson, T. Macke, B. Leasure, and M. Wolfe, "The KAP/205: An advanced source-to-source vectorizer for the Cyber 205 supercomputer," inProc. 15th Int. Conf. Parallel Processing, St. Charles, IL, Aug. 1986, pp. 827-832.
[16] J. R. Allen and K. Kennedy, "PFC: A program to convert Fortran to parallel/Form," in Tech. Rep. MASC-TR82-6, Rice Univ., Houston, TX, Mar. 1982.
[17] D. Kuck, R. Kuhn, D. Padua, B. Leasure, and M. Wolfe, "The structure of an advanced vectorizer for pipelined processors," inProc. 4th Int. Conf. Comput. Software Appl., Oct. 1980.
[18] W. Harrison, "An overview of the structure of Parafrase," in CSRD Rep. 501, PR-85-2, UILU-ENG-85-8002, Univ. of Illinois, Urbana-Champaign, July 1985.
[19] D. J. Kuck, A. H. Sameh, R. Cryton, A. V. Veidenbaum, C. D. Polychronopolous, G. Lee, T. McDaniel, B. R. Leasure, C. Beckman, J. R. Davis, and C. P. Kruskal, "The effects of program restructuring, algorithm change and architecture choice on program performance," inProc. 13th Int. Conf. Parallel Processing, Aug. 1984, pp. 129-138.
[20] B. Leasure, "The Parafrase Project's Fortran analyzer major module documentation," CSRD Rep. 504, PR-85-5, UILU-ENG-85-8005, Univ. of Illinois, Urbana-Champaign, July 1985.
[21] C. P. Polychronopoulos, "Advanced loop optimizations for parallel computers," inProc. 1987 Int. Conf. Supercomput., June 8-12, Athens, Greece, Springer-Verlag LNCS.
[22] C. Polychronopolous, "Automatic program restructuring for parallel/execution," inProc. DFVLR Conf. Parallel Processing, Sci. Eng., Bohn, West Germany, June 1987.
[23] C. Polychronopolous, "Compiler optimizations for enhancing parallelism and their impact on architecture design,"IEEE Trans. Comput., vol. 37, pp. 991-1004, Aug. 1988.
[24] C.-Y. Chen, "Design and analysis of fault-tolerant processor arrays for numerical applications," Ph.D. dissertation, Dep. Comput. Sci., Univ. of Illinois, Urbana-Champaign, 1987.
[25] D. A. Padua and M. J. Wolfe, "Advanced compiler optimizations for supercomputers,"Common. ACM, vol. 29, no. 12, pp. 1184- 1201, Dec. 1986.
[26] S. P. Midkiff and D. A. Padua, "Compiler algorithms for synchronization,"IEEE Trans. Comput., vol. C-36, no. 12, pp. 1485-1495, Dec. 1987.
[27] J. J. Dongerra, C. B. Moler, J. R. Bunch, and G. W. Stewart,LINPACK User's Guide. Philadelphia, PA: SIAM, 1979.

Index Terms:
compiler assisted synthesis; algorithm-based checking; multiprocessors; linear transformations; Fortran DO loops; nonlinear transformations; matrix multiplication; LINPACK routine; DGEFA; concurrency control; fault tolerant computing; multiprocessing systems.
V. Balasubramanian, P. Banerjee, "Compiler-Assisted Synthesis of Algorithm-Based Checking in Multiprocessors," IEEE Transactions on Computers, vol. 39, no. 4, pp. 436-446, April 1990, doi:10.1109/12.54837
Usage of this product signifies your acceptance of the Terms of Use.