This Article 
 Bibliographic References 
 Add to: 
Synthesizing Variable Instruction Issue Interpreters for Implementing Functional Parallelism on SIMD Computers
April 1997 (vol. 8 no. 4)
pp. 412-423

Abstract—Functional parallelism can be supported on SIMD machines by interpretation. Under such a scheme, the programs and data of each task are loaded on the processing elements (PEs) and the Control Unit of the machine executes a central control algorithm that causes the concurrent interpretation of the tasks on the PEs. The central control algorithm is, in many respects, analogous to the control store program on microprogrammed machines. Accordingly, the organization of the control algorithm greatly influences the performance of the synthesized MIMD environment.

Most central control algorithms are constructed to interpret the execution phase of all instructions during every cycle (iteration). However, it is possible to delay the interpretation of infrequent and costly instructions to improve the overall performance. Interpreters that attempt improved performance by delaying the issue of infrequent instructions are referred to as variable issue control algorithms. This paper examines the construction of optimized variable issue control algorithms. In particular, a mathematical model for the interpretation process is built and two objective functions (instruction throughput and PE utilization) are defined. The problem of deriving variable issue control algorithms for these objective functions has been shown elsewhere to be NP-complete. Therefore, this paper investigates three heuristic algorithms for constructing near optimal variable issue control algorithms. The performance of the algorithms is studied on four different instruction sets and the trends of the schedulers with respect to the instruction sets and the objective functions are analyzed.

[1] G.H. Barnes, R.M. Brown, M. Kato, D.J. Kuck, D.L. Slotnick, and R.A. Stokes, "The ILLIAC-IV Computer," IEEE Trans. Computers, vol. 17, pp. 746-757, 1968.
[2] W.D. Hillis, The Connection Machine.Cambridge, Mass.: The MIT Press, 1985.
[3] W.D. Hillis and G.L. Steele, "Data Parallel Algorithms," Comm. ACM, vol. 29, no. 12, pp. 1,170-1,183, Dec. 1986.
[4] R.M. Hord, Parallel Supercomputing in SIMD Architectures.Boca Raton, Fla.: CRC Press, 1990.
[5] R.J. Collins, "Multiple Instruction Multiple Data Emulation on the Connection Machine," Technical Report CSD-910004, Dept. of Computer Science, Univ. of California., Los Angeles, Feb. 1988.
[6] H.G. Dietz and W.E. Cohen, "A Massively Parallel MIMD Implemented by SIMD Hardware," Technical Report EE 92-4-P, School of Electrical Eng., Purdue Univ., West Lafayette, Ind., Jan. 1992.
[7] P. Hudak and E. Mohr, "Graphinators and the Duality of SIMD and MIMD," Proc. 1988 ACM Symp. Lisp and Functional Programming, 1988.
[8] M. Nilsson and H. Tanaka, "MIMD Execution by SIMD Computers," J. Information Processing, vol. 13, no. 1, pp. 58-61, 1988.
[9] P.A. Wilsey, D.A. Hensgen, N.B. Abu-Ghazaleh, C.E. Slusher, and D.Y. Hollinden, "The Concurrent Execution of Non-Communicating Programs on SIMD Processors," Proc. Fourth Symp. Frontiers of Massively Parallel Computation, pp. 29-36, Oct. 1992.
[10] J. Bruck and M. Blaum, “Neural Networks, Error-Correcting Codes, and Polynomials Over the Binary n-Cube,” IEEE Trans. Information Theory, vol. 35, pp. 976-987, 1989.
[11] R.A. Bagley, P.A. Wilsey, and N.B. Abu-Ghazaleh, "Composing Functional Unit Blocks for Efficient Interpretation of MIMD Code Sequences on SIMD Processors," Parallel Processing: CONPAR 94-VAPP VI, B. Buchberger and J. Volkert, eds., vol. 854, Lecture Notes in Computer Science, pp. 616-627, Springer-Verlag, Sept. 1994.
[12] H.G. Dietz, "Common Subexpression Induction," Proc. 1992 Int'l Conf. Parallel Processing, vol. II, pp. 174-182, Aug. 1992.
[13] W. Shu and M.-Y. Wu, "Asynchronous Problems on SIMD Parallel Computers," IEEE Trans. Parallel and Distributed Systems, vol. 6, no. 7, pp. 704-713, July 1995.
[14] X. Fan, N.B. Abu-Ghazaleh, and P.A. Wilsey, "On the Complexity of Scheduling MIMD Operations for SIMD Interpretation," J. Parallel and Distributed Computing, vol. 29, no. 8, pp. 91-95, Aug. 1995.
[15] S.A. Kravitz, A.P. Mathur, and V. Rego, "Logic Simulations on Massively Parallel Architectures," Proc. 16th Ann. Int'l Symp. Computer Architectures, pp. 336-343, 1989.
[16] P. Kacsuk and A. Bale, "DAP Prolog: A Set-Oriented Approach to Prolog," The Computer J., vol. 30, no. 5, pp. 393-403, 1987.
[17] M. Nilsson and H. Tanaka, "Massively Parallel Implementation of Flat GHC on the Connection Machine," Proc. Int'l Conf. Fifth Generation Computer Systems, pp. 1,031-1,039, 1988.
[18] Connection Machine CM-200 Series Technical Summary.Cambridge, Mass.: Thinking Machine Corporation, 1991.
[19] MasPar MP-1 Architecture Specification.Sunnyvale, Calif.: MasPar Computer Corporation, Mar. 1991.
[20] J. Nickolls, "The Design of the MasPar MP-1," Proc. 35th IEEE CS Int'l Conf., COMP-CON '90, pp. 25-28, 1990.
[21] D.Y. Hollinden, D.A. Hensgen, and P.A. Wilsey, "Experiences Implementing the MINTABS System on a MasPar MP-1," Proc. Third Symp. Experiences with Distributed and Multiprocessor Systems SEDMS III, pp. 43-58, Mar. 1992.
[22] H.G. Dietz and W.E. Cohen, "A Control-Parallel Programming Model Implemented on SIMD Hardware," Languages and Compilers for Parallel Computing, U. Banerjee, D. Gelernter, A. Nicolau, and D. Padua, eds., vol. 757, Lecture Notes in Computer Science, pp. 311-325, Springer-Verlag, Aug. 1992.
[23] N.B. Abu-Ghazaleh, "Variable Instruction Scheduling for Efficient MIMD Interpretation on SIMD Machines," master's thesis, Univ. of Cincinnati, June 1994.
[24] E.G. Coffman., Computer and Job-Shop Scheduling Theory.New York: John Wiley and Sons, 1976.
[25] M.R. Garey and D.S. Johnson, Computers and Intractability: A Guide to the Theory of NP-Completeness.New York: W.H. Freeman, 1979.
[26] L. Klienrock, Queueing Systems, vol. Iand II. New York: John Wiley and Sons, 1976.
[27] P.P. Chang, S.A. Mahlke, and W.W. Hwu, "Using Profile Information to Assisst Classic Code Optimizations," Software—Practice and Experiences, vol. 21, no. 12, pp. 1,301-1,321, 1991.
[28] J.A. Fisher, "Trace Scheduling: A Technique for Global Microcode Compaction," IEEE Trans. Computers, vol. 30, no. 7, pp. 478-490, July 1981.
[29] P.A. Wilsey, D.A. Hensgen, N.B. Abu-Ghazaleh, C.E. Slusher, and D.Y. Hollinden, "The Concurrent Execution of Non-Communicating Programs on SIMD Processors," Proc. Fourth Symp. Frontiers of Massively Parallel Computation, pp. 29-36, Oct. 1992.
[30] J.L. Hennessy and D.A. Patterson, Computer Architecture: A Quantitative Approach, Morgan Kaufmann, San Mateo, Calif., 1990.
[31] L. Ott, An Introduction to Statistical Methods and Data Analysis.Boston: PWS-Kent, 1988.
[32] N.B. Abu-Ghazaleh, T. Dichiaro, P.A. Wilsey, D.A. Hensgen, and M.M. Cahay, "Parallel Execution of Monte Carlo Simulations on SIMD Processors," Technical Report 146-2-93-ECE, Dept. of ECE, Univ. of Cincinnati, Cincinnati, Oh., Feb. 1993.
[33] Introduction to SpixTools.Mountain View, Calif.: Sun Microsystems Laboratories Inc., 1991.

Index Terms:
MIMD on SIMD, interpretation, variable instruction issue, scheduling instruction execution, SIMD computers.
Nael B. Abu-Ghazaleh, Philip A. Wilsey, Xianzhi Fan, Debra A. Hensgen, "Synthesizing Variable Instruction Issue Interpreters for Implementing Functional Parallelism on SIMD Computers," IEEE Transactions on Parallel and Distributed Systems, vol. 8, no. 4, pp. 412-423, April 1997, doi:10.1109/71.588621
Usage of this product signifies your acceptance of the Terms of Use.