Abstract
Task-based approaches are popular for the development of parallel programs for several reasons. They provide a decoupling of the parallel specification from the scheduling and mapping to the 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 of several application programs shows that using the CM-task model may lead to significant performance improvements compared to other parallel execution schemes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bal, H., Haines, M.: Approaches for Integrating Task and Data Parallelism. IEEE Concurrency 6(3), 74–84 (1998)
Bansal, S., Kumar, P., Singh, K.: An Improved Two-step Algorithm for Task and Data Parallel Scheduling in Distributed Memory Machines. Parallel Comput. 32(10), 759–774 (2006)
Barker, K., Davis, K., Hoisie, A., Kerbyson, D., Lang, M., Pakin, S., Sancho, J.: Using Performance Modeling to Design Large-Scale Systems. IEEE Computer 42(11), 42–49 (2009)
Chakrabarti, S., Yelick, K., Demmel, J.: Models and Scheduling Algorithms for Mixed Data and Task Parallel Programs. J. Parallel Distrib. Comput. 47, 168–184 (1997)
Dümmler, J., Kunis, R., Rünger, G.: A Scheduling Toolkit for Multiprocessor-Task Programming with Dependencies. In: Kermarrec, A.-M., Bougé, L., Priol, T. (eds.) Euro-Par 2007. LNCS, vol. 4641, pp. 23–32. Springer, Heidelberg (2007)
Dümmler, J., Rauber, T., Rünger, G.: A Transformation Framework for Communicating Multiprocessor-Tasks. In: Proc. of the 16th Euromicro Int. Conf. on Parallel, Distributed and Network-Based Processing, PDP 2008, pp. 64–71. IEEE (2008)
Dümmler, J., Rauber, T., Rünger, G.: Communicating Multiprocessor-Tasks. In: Adve, V., Garzarán, M.J., Petersen, P. (eds.) LCPC 2007. LNCS, vol. 5234, pp. 292–307. Springer, Heidelberg (2008)
Dümmler, J., Rauber, T., Rünger, G.: Mixed Programming Models using Parallel Tasks. In: Dongarra, Hsu, Li, Yang, Zima (eds.) Handbook of Research on Scalable Computing Technologies, pp. 246–275. Information Science Reference (2009)
Hairer, E., Nørsett, S., Wanner, G.: Solving Ordinary Differential Equations I: Nonstiff Problems. Springer, Berlin (1993)
Hoffmann, R., Rauber, T.: Fine-Grained Task Scheduling Using Adaptive Data Structures. In: Luque, E., Margalef, T., Benítez, D. (eds.) Euro-Par 2008. LNCS, vol. 5168, pp. 253–262. Springer, Heidelberg (2008)
Hunold, S., Rauber, T., Suter, F.: Redistribution Aware Two-step Scheduling for Mixed-parallel Applications. In: Proc. of the 2008 IEEE International Conference on Cluster Computing, CLUSTER 2008, pp. 50–58. IEEE (2008)
Kühnemann, M., Rauber, T., Rünger, G.: Performance Modelling for Task-Parallel Programs. In: Gerndt, M., Getov, V., Hoisie, A., Malony, A., Miller, B. (eds.) Performance Analysis and Grid Computing, pp. 77–91. Kluwer (2004)
Leijen, D., Schulte, W., Burckhardt, S.: The design of a task parallel library. In: Proc. of the 24th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications, OOPSLA 2009, pp. 227–242. ACM (2009)
OpenMP Application Program Interface, Version 3.0 (May 2008), http://www.openmp.org
Radulescu, A., Nicolescu, C., van Gemund, A., Jonker, P.: CPR: Mixed Task and Data Parallel Scheduling for Distributed Systems. In: Proc. of the 15th International Parallel & Distributed Processing Symposium, IPDPS 2001. IEEE (2001)
Radulescu, A., van Gemund, A.: A Low-Cost Approach towards Mixed Task and Data Parallel Scheduling. In: Proc. of the International Conference on Parallel Processing, ICPP 2001, pp. 69–76. IEEE (2001)
Ramaswamy, S., Sapatnekar, S., Banerjee, P.: A Framework for Exploiting Task and Data Parallelism on Distributed Memory Multicomputers. IEEE Transactions on Parallel Distributed Systems 8(11), 1098–1116 (1997)
Rauber, T., Reilein, R., Rünger, G.: Group-SPMD Programming with Orthogonal Processor Groups. Concurrency and Computation: Practice and Experience, Special Issue on Compilers for Parallel Computers 16(2-3), 173–195 (2004)
Rauber, T., Rünger, G.: Compiler Support for Task Scheduling in Hierarchical Execution Models. Journal of Systems Architecture 45(6-7), 483–503 (1998)
Skillicorn, D., Talia, D.: Models and Languages for Parallel Computation. ACM Computing Surveys 30(2), 123–169 (1998)
van der Houwen, P., Messina, E.: Parallel Adams Methods. Journal of Computational and Applied Mathematics 101, 153–165 (1999)
van der Wijngaart, R., Jin, H.: The NAS Parallel Benchmarks, Multi-Zone Versions. Tech. Rep. NAS-03-010, NASA Ames Research Center (2003)
Vydyanathan, N., Krishnamoorthy, S., Sabin, G., Çatalyürek, Ü., Kurç, T., Sadayappan, P., Saltz, J.: An Integrated Approach to Locality-Conscious Processor Allocation and Scheduling of Mixed-Parallel Applications. IEEE Trans. Parallel Distrib. Syst. 20(8), 1158–1172 (2009)
Wimmer, M., Träff, J.: Work-stealing for Mixed-mode Parallelism by Deterministic Team-building. In: Proc. of the 23rd ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2011. ACM (2011)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dümmler, J., Rauber, T., Rünger, G. (2013). Scheduling Support for Communicating Parallel Tasks. In: Rajopadhye, S., Mills Strout, M. (eds) Languages and Compilers for Parallel Computing. LCPC 2011. Lecture Notes in Computer Science, vol 7146. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-36036-7_17
Download citation
DOI: https://doi.org/10.1007/978-3-642-36036-7_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-36035-0
Online ISBN: 978-3-642-36036-7
eBook Packages: Computer ScienceComputer Science (R0)