Runtime Support for Multigrain and Multiparadigm Parallelism
This paper presents a general methodology for implementing on clusters the runtime support for a two-level dependence-driven thread model, initially targeted to shared-memory multiprocessors. The general ideal is to exploit existing programming solutions for these architectures, like Software DSM (SWDSM) and Message Passing Interface. The management of the internal runtime system structures and of the dependence-driven multilevel parallelism is performed with explicit messages, exploiting however the shared-memory hardware of the available SMP nodes whenever this is possible. The underlying programming models and hybrid programming solutions are not excluded, using threads for the intra-node parallelism. The utilization of shared virtual memory for thread stacks and a translator for allocating Fortran77 common blocks in shared memory enable the execution of unmodified OpenMP codes on clusters of SMPs. Initial performance results demonstrate the efficient support for fork-join and multilevel parallelism on top of SWDSM and MPI and confirm the benefits of explicit, though transparent, message passing.
KeywordsRuntime System Virtual Processor Runtime Support Explicit Message Ready Queue
Unable to display preview. Download preview PDF.
- Ayguadé, E., Labarta, J., Martorell, X., Navarro, N., Oliver, J: NanosCompiler: A Research Platform for OpenMP Extensions. In Proceedings of the 1st European Workshop on OpenMP, Lund (Sweden), October 1999. 185Google Scholar
- Cappello, F., Richard, O., Etiemble, D.: Investigating the performance of two programming models for clusters of SMP PCs. In Proceedings of the 6th IEEE Symposium On High-Performance Computer Architecture (HPCA-6), Toulouse, France, January 2000. 184Google Scholar
- Hadjidoukas, P. E., Polychronopoulos, E. D., Papatheodorou, T. S.: Integrating MPI and the Nanothreads Programming Model. In Proceedings of the 10th Euromicro Workshop on Parallel, Distributed and Network-Based Processing (PDP 2002), Las Palmas, Spain, January 2002. 189Google Scholar
- Hu, C., Lu, H., Cox, A., Zwaenepoel, W.: OpenMP for Networks of SMPs. In Proceedings of the Second Merged Symposium, IPPS/SPDP 99, 1999. 188Google Scholar
- Hu, W. W, Shi, W. S., Tang, Z. M.: JIAJIA: An SVM System Based on A New Cache Coherence Protocol. In Proceedings of the High Performance Computing and Networking (HPCN’99), April 1999. 189Google Scholar
- Jin, H., Frumkin, M., Yan, J.: The OpenMP Implementation of NAS Parallel Benchmarks and its Performance. Technical Report NAS-99-011, NASA Ames Research Center, October 1999. 192Google Scholar
- Message Passing Interface Forum: MPI: A message-passing interface standard. International Journal of Supercomputer Applications and High Performance Computing, Volume 8, Number 3/4, 1994. 184Google Scholar
- Paas, S. M., Scholtyssik, K.: Efficient Distributed Synchronization within an allsoftware DSM system for clustered PCs. In Proceedings of the 1st Workshop on Cluster-Computing, TU Chemnitz-Zwickau, November 1997. 188Google Scholar
- Polychronopoulos, C. D.: Nano-Threads: Compiler Driven Multithreading. In Proceedings of the 4th International Workshop on Compilers for Parallel Computing CPC’93, Delft (The Netherlands), December 1993. 184Google Scholar