کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
432435 | 688890 | 2013 | 15 صفحه PDF | دانلود رایگان |
Task-based programming models are beneficial for the development of parallel programs for several reasons. They provide a decoupling of the specification of parallelism from the scheduling and mapping to execution resources of a specific hardware platform, thus allowing a flexible and individual mapping. For platforms with a distributed address space, the use of parallel tasks, instead of sequential tasks, adds the additional advantage of a structuring of the program into communication domains that can help to reduce the overall communication overhead.In this article, we consider the parallel programming model of communicating parallel tasks (CM-tasks), which allows both task-internal communication as well as communication between concurrently executed tasks at arbitrary points of their execution. We propose a corresponding scheduling algorithm and describe how the scheduling is supported by a transformation tool. An experimental evaluation using synthetic task graphs as well as several complex application programs shows that employing the CM-task model may lead to significant performance improvements compared to other parallel execution schemes.
► We describe the parallel programming model of communicating M-tasks (CM-tasks).
► We discuss the scheduling of CM-task programs and present an appropriate algorithm.
► We present programming support for the development of CM-task applications.
► Benchmark results show the benefits of an implementation based on CM-tasks.
Journal: Journal of Parallel and Distributed Computing - Volume 73, Issue 2, February 2013, Pages 220–234