Abstract
The programming model of parallel tasks is a suitable programming abstraction for parallel applications running on heterogeneous clusters, which are clusters composed of multiple subclusters. In this model, an application is decomposed into parallel tasks, each of which can be executed on an arbitrary number of processors. The advantage of this programming approach is that each task only needs to be implemented for a homogeneous environment while the complete application can still benefit from the entire performance of the heterogeneous cluster by a concurrent execution of independent parallel tasks on different subclusters. The execution of such an application on a specific platform is controlled by a schedule that maps each parallel task onto a set of processors.
In this article, we propose an algorithm for the scheduling of parallel tasks with precedence constraints on heterogeneous clusters. This algorithm is an extension of a layer-based scheduling approach for homogeneous platforms with an additional phase that assigns the parallel tasks to appropriate subclusters. Three different versions of this additional phase are considered. An experimental evaluation, based on simulation results as well as on measurements with different application benchmarks, shows that the proposed scheduling approach outperforms existing scheduling algorithms in most situations.
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
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)
DAG Generation Program, http://www.loria.fr/~suter/dags.html
Du, J., Leung, J.T.: Complexity of Scheduling Parallel Task Systems. SIAM J. Discret. Math. 2(4), 473–487 (1989)
Dümmler, J., Kunis, R., Rünger, G.: Layer-Based Scheduling Algorithms for Multiprocessor-Tasks with Precedence Constraints. In: Proc. of the Int. Conf. ParCo 2007. Advances in Parallel Computing, vol. 15, pp. 321–328. IOS Press (2007)
Dümmler, J., Kunis, R., Rünger, G.: SEParAT: Scheduling Support Environment for Parallel Application Task Graphs. Cluster Computing 15(3), 223–238 (2012)
Dümmler, J., Rauber, T., Rünger, G.: Combined Scheduling and Mapping for Scalable Computing with Parallel Tasks. Scientific Programming 20(1), 45–67 (2012)
Dümmler, J., Rauber, T., Rünger, G.: Programming Support and Scheduling for Communicating Parallel Tasks. J. Parallel Distrib. Comput. 73(2), 220–234 (2013)
Dutot, P.F., N’Takpe, T., Suter, F., Casanova, H.: Scheduling Parallel Task Graphs on (Almost) Homogeneous Multicluster Platforms. IEEE Trans. Parallel Distrib. Syst. 20(7), 940–952 (2009)
Hunold, S.: Low-Cost Tuning of Two-Step Algorithms for Scheduling Mixed-Parallel Applications onto Homogeneous Clusters. In: Proc. of the 10th IEEE/ACM Int. Conf. on Cluster, Cloud and Grid Computing (CCGRID 2010), pp. 253–262. IEEE Computer Society (2010)
Kunis, R., Rünger, G.: Optimizing Layer-based Scheduling Algorithms for Parallel Tasks with Dependencies. Concurr. Comput.: Pract. Exper. 23(8), 827–849 (2011)
N’Takpé, T., Suter, F.: Critical path and area based scheduling of parallel task graphs on heterogeneous platforms. In: Proc. of the 12th Int. Conf. on Parallel and Distributed Systems (ICPADS 2006), pp. 3–10 (2006)
N’Takpé, T., Suter, F., Casanova, H.: A Comparison of Scheduling Approaches for Mixed-Parallel Applications on Heterogeneous Platforms. In: Proc. of the 6th Int. Symp. on Parallel and Distributed Computing (ISPDC 2007), pp. 35–42. IEEE Computer Society (July 2007)
Radulescu, A., Nicolescu, C., van Gemund, A., Jonker, P.: CPR: Mixed Task and Data Parallel Scheduling for Distributed Systems. In: Proc. of the 15th Int. Parallel & Distributed Processing Symp. (IPDPS 2001). IEEE (2001)
Radulescu, A., van Gemund, A.: A Low-Cost Approach towards Mixed Task and Data Parallel Scheduling. In: Proc. of the Int. Conf. on Parallel Processing (ICPP 2001), pp. 69–76. IEEE (2001)
Rauber, T., Rünger, G.: Compiler support for task scheduling in hierarchical execution models. J. Syst. Archit. 45(6-7), 483–503 (1998)
Suter, F.: Scheduling Δ-Critical Tasks in Mixed-parallel Applications on a National Grid. In: Proc. of the 8th IEEE/ACM Int. Conf. on Grid Computing (GRID 2007), pp. 2–9. IEEE Computer Society, Washington, DC (2007)
Suter, F., Desprez, F., Casanova, H.: From Heterogeneous Task Scheduling to Heterogeneous Mixed Parallel Scheduling. In: Danelutto, M., Vanneschi, M., Laforenza, D. (eds.) Euro-Par 2004. LNCS, vol. 3149, pp. 230–237. Springer, Heidelberg (2004)
Topcuouglu, H., Hariri, S., Wu, M.Y.: Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing. IEEE Trans. Parallel Distrib. Syst. 13(3), 260–274 (2002)
van der Houwen, P., Messina, E.: Parallel Adams Methods. J. of Comp. and App. 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., Catalyurek, U., Kurc, 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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer International Publishing Switzerland
About this paper
Cite this paper
Dümmler, J., Rünger, G. (2013). Layer-Based Scheduling of Parallel Tasks for Heterogeneous Cluster Platforms. In: Kołodziej, J., Di Martino, B., Talia, D., Xiong, K. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2013. Lecture Notes in Computer Science, vol 8285. Springer, Cham. https://doi.org/10.1007/978-3-319-03859-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-03859-9_3
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-03858-2
Online ISBN: 978-3-319-03859-9
eBook Packages: Computer ScienceComputer Science (R0)