Abstract
NestStep is a parallel programming language for the BSP (bulk–synchronous–parallel) model of parallel computation.
Extending the classical BSP model, NestStep supports dynamically nested parallelism by nesting of supersteps and a hierarchical processor group concept. Furthermore, NestStep adds a virtual shared memory realization in software, where memory consistency is relaxed to superstep boundaries. Distribution of shared arrays is also supported.
A prototype for a subset of NestStep has been implemented based on Java as sequential basis language. The prototype implementation is targeted to a set of Java Virtual Machines coupled by Java socket communication to a virtual parallel computer.
Similar content being viewed by others
References
F. Abolhassan, R. Drefenstedt, J. Keller, W. J. Paul, and D. Scheerer: On the physical design of PRAMs. Computer Journal 36(8):756-762, 1993.
G. E. Blelloch, J. C. Hardwick, J. Sipelstein, M. Zagha, and S. Chatterjee. Implementation of a portable nested data-parallel language. Journal of Parallel and Distributed Computing 21:4-14, 1994.
E. D. Brooks III, B. C. Gorda, and K. H. Warren. The parallel C preprocessor. Scientific Programming 1(1):79-89, 1992.
B. Carpenter, G. Zhang, G. Fox, X. Li, X. Li, and Y. Wen. Towards a Java environment for SPMD programming. In Proc. 4th Int. Euro-Par Conference. pp. 659-668, 1998.
D. E. Culler, A. Dusseau, S. C. Goldstein, A. Krishnamurthy, S. Lumetta, T. von Eicken, and K. Yelick. Parallel programming in Spilt-C. In Proc. Supercomputing'93, 1993.
B. Dreier, M. Zahn, and T. Ungerer. The Rthreads distributed shared memory system. In Proc. 3rd Int. Conf. on Massively Parallel Computing Systems, 1998.
J. Farley. JAVA Distributed Computing. O'Reilly, 1998.
J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison–Wesley, 1996.
J. M. Hill, B. McColl, D. C. Stefanescu, M. W. Goudreau, K. Lang, S. B. Rao, T. Suel, T. Tsantilas, and R. Bisseling. BSPlib, the BSP programming library. Report, see www.bsp-worldwide.org, 1997.
C. W. Keβler and H. Seidl. The Fork95 parallel programming language: Design, implementation, application. Int. Journal of Parallel Programming 25(1):17-50, 1997.
C. W. Keβler and H. Seidl. ForkLight: A control-synchronous parallel programming language. In Proc. High-Performance Computing and Netwroking, 1999.
F. Kuilman, K. van Reeuijk, A. J. van Gemund, and H. J. Sips. Code generation techniques for the task-parallel programming language Spar. In P. Fritzson, ed., Proc. 7th Workshop on Compilers for Parallel Computers, pp. 1-11, 1998.
W. F. McColl, Universal computing. In Proc. 2nd Int. Euro-Par Conference, Vol. 1. pp. 25-36, 1996.
J. Protic, M. Tomasevic, and V. Milutinovic. Distributed shared memory: Concepts and systems. IEEE Parallel & Distributed Technology 4(2):63-79, 1996.
R. Schreiber, High performance Fortran, Version 2. Parallel Processing Letters 7(4):437-449, 1997.
D. Skillicorn, MiniBSP: a BSP language and transformation system. Technical report, Dept. of Computing and Information Sciences, Queens's University, Kingston, Canada. http://www.qucis.queensu.ca/home/skill/mini.ps, 1996.
D. B. Skillicorn and D. Talia. Models and languages for parallel computation. ACM Surveys, 1998.
L. G. Valiant, A bridging model for parallel computation. Communications of the ACM, 33:8, August 1990, pp. 103-111.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Keßler, C.W. NestStep: Nested Parallelism and Virtual Shared Memory for the BSP Model. The Journal of Supercomputing 17, 245–262 (2000). https://doi.org/10.1023/A:1026511306490
Issue Date:
DOI: https://doi.org/10.1023/A:1026511306490