Extending OpenMP for Implementation of Multi-Paradigm and Multi-Grain Parallel Execution Model

C. Hu, J. Wang, J. Li, and J. Lai (PRC)


parallel computing language, parallel execution model, multi-paradigm parallel, multi-grain parallel, OpenMP specification.


The characteristics of large-scale parallel applications are multi-paradigm and multi-grain parallel in essence. The key factor to improve the performance of parallel application systems is determining suitable parallel paradigms and grains according to the nature of the practical problem. Therefore, it is necessary to provide multi-paradigm and multi-grain parallel programming interface for development of large-scale parallel application systems. This paper proposes a multi paradigm and multi-grain parallel execution model integrated coarse grain parallelism (paralleled by macro tasks), mid grain parallelism (paralleled by basic program blocks) and fine grain parallelism (paralleled in repetition blocks). This model also supports the task parallel paradigm, data parallel paradigm and sequential executing paradigm. In this paper, we also discuss the programming mechanism of this model by extended OpenMP specification. The extensions include computing resource partition, defining different grain task groups, mapping from task groups to the respective processor groups, out of-core computing, asynchronous parallel I/O and definition of sequential relationship of tasks. In the end, we compare the performance of different implementations of benchmark, using the same numerical algorithm but employing different programming approaches including MPI, MPI+OpenMP and our extended OpenMP. And we discuss a case based on SMP-Cluster and network storage architecture.

Important Links:

Go Back