Linguistic constructs for BSP style programming

A necessary condition for the establishment, on a substantial basis, of a parallel software industry would appear to be the availability of technology for generating transportable software, i.e. architecture independent software which delivers scalable performance for a wide variety of applications on a wide range of multiprocessor computers. We are developing H-BSP-a general purpose parallel computing environment for developing transportable programs. H-BSP is based on the Bulk Synchronous Parallel Model (BSP), in which a computation involves a number of supersteps, each having several parallel computational threads that synchronize at the end of the superstep. The BSP Model deals explicitly with the notion of communication among computational threads and introduces parameters g and L that quantify the ratio of computation throughput to communication throughput and the synchronization period, respectively. These two parameters, together with the number of processors and the problem size, are used to quantify the performance and, therefore, the transportability of given classes of algorithms across machines having different values for these parameters. Recently algorithm designers have developed algorithms for a number of regular problems that are provably optimal as functions of g and L, but for many irregular problems developing optimal solutions will depend on the compiler and the run-time system taking advantage of the g and L values for the intended target. This paper describes the BSP Model and some preliminary linguistic constructs for BSP style programming.

[1]  Thomas E. Cheatham,et al.  A Suite of Analysis Tools Based on a General Purpose Abstract Interpreter , 1994, CC.

[2]  Leslie G. Valiant,et al.  A Combining Mechanism for Parallel Computers , 1992, Heinz Nixdorf Symposium.

[3]  Thomas E. Cheatham,et al.  Supporting multiple evolving compilers , 1994, SEKE.

[4]  Dan C. Stefanescu,et al.  An equational framework for the flow analysis of higher order functional programs , 1994, LFP '94.

[5]  Leslie G. Valiant,et al.  A bridging model for parallel computation , 1990, CACM.

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

[7]  Anoop Gupta,et al.  Modeling communication in parallel algorithms: a fruitful interaction between theory and systems? , 1994, SPAA '94.

[8]  W. F. McColl,et al.  General purpose parallel computing , 1993 .

[9]  William F. McColl,et al.  Scalable Parallel Computing: A Grand Unified Theory and its Practical Development , 1994, IFIP Congress.

[10]  Monica S. Lam,et al.  A data locality optimizing algorithm , 1991, PLDI '91.

[11]  Leslie G. Valiant,et al.  Why BSP Computers , 1993 .

[12]  Monica S. Lam,et al.  Communication optimization and code generation for distributed memory machines , 1993, PLDI '93.

[13]  Thomas E. Cheatham,et al.  General Purpose Optimization Technology , 1995, LCPC.

[14]  Guy E. Blelloch,et al.  Implementation of a portable nested data-parallel language , 1993, PPOPP '93.

[15]  Thomas Cheatham Models, Languages, and Compiler Technology for High Performance Computers , 1994, MFCS.

[16]  Leslie G. Valiant,et al.  Why BSP computers? (bulk-synchronous parallel computers) , 1993, [1993] Proceedings Seventh International Parallel Processing Symposium.

[17]  Leslie G. Valiant,et al.  Bulk synchronous parallel computing-a paradigm for transportable software , 1995, Proceedings of the Twenty-Eighth Annual Hawaii International Conference on System Sciences.

[18]  Thomas E. Cheatham,et al.  H-BSP - A General Purpose Parallel Computing Environment , 1994, IFIP Congress.

[19]  Leslie G. Valiant,et al.  Direct Bulk-Synchronous Parallel Algorithms , 1994, J. Parallel Distributed Comput..