Compilation of scientific programs into multithreaded and message driven computation

Many programs written in the SPMD programming model send messages asynchronously, and block when receiving messages. Multiple threads can make use of the processor while other threads wait for messages. This paper describes and evaluates two techniques for multithreading on the nodes of distributed memory message passing systems. One method is a purely runtime threads package. The second method requires the SPMD code to be systematically transformed into message driven code which can be run under a message driven model. The multithreading of scientific applications is evaluated on the iPSC2 and the CM5.<<ETX>>

[1]  Prithviraj Banerjee,et al.  An Approximate Algorithm for the Partitionable Independent Task Scheduling Problem , 1990, ICPP.

[2]  Prithviraj Banerjee,et al.  A scheduling algorithm for parallelizable dependent tasks , 1991, [1991] Proceedings. The Fifth International Parallel Processing Symposium.

[3]  Laszlo A. Belady,et al.  Dynamic space-sharing in computer systems , 1969, Commun. ACM.

[4]  Brian N. Bershad,et al.  Scheduler activations: effective kernel support for the user-level management of parallelism , 1991, TOCS.

[5]  Devang Shah,et al.  Implementing Lightweight Threads , 1992, USENIX Summer.

[6]  Seth Copen Goldstein,et al.  Active messages: a mechanism for integrating communication and computation , 1998, ISCA '98.

[7]  Prithviraj Banerjee,et al.  Automating Parallelism of Regular Computations for Distributed-Memory Multicomputers in the Paradigm Compiler , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[8]  Herb Schwetman,et al.  CSIM† Reference Manual (Revision 16) , 1992 .

[9]  Prithviraj Banerjee,et al.  Techniques to overlap computation and communication in irregular iterative applications , 1994, ICS '94.

[10]  Manish Gupta,et al.  Compile-time estimation of communication costs on multicomputers , 1992, Proceedings Sixth International Parallel Processing Symposium.

[11]  Colin Whitby-Strevens The transputer , 1985, ISCA 1985.

[12]  Michael T. Heath,et al.  Visualizing the performance of parallel programs , 1991, IEEE Software.

[13]  John Zahorjan,et al.  Chores: enhanced run-time support for shared-memory parallel computing , 1993, TOCS.

[14]  F. H. Mcmahon,et al.  The Livermore Fortran Kernels: A Computer Test of the Numerical Performance Range , 1986 .

[15]  Anant Agarwal,et al.  Performance Tradeoffs in Multithreaded Processors , 1992, IEEE Trans. Parallel Distributed Syst..

[16]  Jiun-Ming Hsu Performance measurement and hardware support for message passing in distributed memory multicomputers , 1992 .

[17]  Laxmikant V. Kalé,et al.  The Chare Kernel Parallel Programming Language and System , 1990, ICPP.

[18]  Anoop Gupta,et al.  Exploring The Benefits Of Multiple Hardware Contexts In A Multiprocessor Architecture: Preliminary Results , 1989, The 16th Annual International Symposium on Computer Architecture.

[19]  Prithviraj Banerjee,et al.  Processor Allocation and Scheduling of Macro Dataflow Graphs on Distributed Memory Multicomputers by the PARADIGM Compiler , 1993, 1993 International Conference on Parallel Processing - ICPP'93.

[20]  Andrew A. Chien,et al.  Architecture of a message-driven processor , 1987, ISCA '87.

[21]  Manish Gupta,et al.  A methodology for high-level synthesis of communication on multicomputers , 1992, ICS '92.

[22]  Ken Kennedy,et al.  Fortran D Language Specification , 1990 .

[23]  M. J. Beckerle,et al.  Overview of the START(*T) multithreaded computer , 1993, Digest of Papers. Compcon Spring.

[24]  David E. Culler,et al.  Monsoon: an explicit token-store architecture , 1990, [1990] Proceedings. The 17th Annual International Symposium on Computer Architecture.

[25]  Manish Gupta,et al.  Automatic Data Partitioning on Distributed Memory Multicomputers , 1992 .

[26]  A. Gupta,et al.  Exploring the benefits of multiple hardware contexts in a multiprocessor architecture: preliminary results , 1989, ISCA '89.

[27]  Ken Kennedy,et al.  Compiling Fortran D for MIMD distributed-memory machines , 1992, CACM.

[28]  Ken Kennedy,et al.  Evaluation of compiler optimizations for Fortran D on MIMD distributed memory machines , 1992, ICS '92.

[29]  Ken Kennedy,et al.  Compiler optimizations for Fortran D on MIMD distributed-memory machines , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[30]  Edward W. Felten,et al.  Improving the performance of message-passing applications by multithreading , 1992, Proceedings Scalable High Performance Computing Conference SHPCC-92..