This Article 
 Bibliographic References 
 Add to: 
A New Task Graph Model for Mapping Message Passing Applications
December 2007 (vol. 18 no. 12)
pp. 1740-1753
The exploitation of parallelism in a message-passing platform implies a previous modelling phase of the parallel application as a task graph, which properly reflects its temporal behaviour. In this paper, we analyse the classical task graph models of the literature and their drawbacks when modelling message-passing programs with arbitrary task structure. We define a new task graph model called TTIG (Temporal Task Interaction Graph) that integrates the classical models used in the literature. The TTIG allows to explicitly capture the ability of concurrency of adjacent tasks for applications where adjacent tasks can communicate at any point inside them. A mapping strategy is developed from this model, that minimizes the expected execution time by properly exploiting task parallelism. The effectiveness of this approach has been proved in different experimentation scopes for a wide range of message-passing applications.

[1] P. Dinda, T. Gross, D. O'Hallaron, E. Segall, J. Stichnoth, J. Subhlok, J. Webb, and B. Yang, “The CMU Task Parallel Program Suite,” Technical Report CMU-CS-94-131, School of Computer Science, Carnegie Mellon Univ., 1994.
[2] J. Subhlok and G. Vondran, “Optimal Use of Mixed Task and Data Parallelism for Pipelined Computations,” J. Parallel and Distributed Computing, vol. 60, pp. 297-319, 2000.
[3] M. Yang, T. Gandhi, R. Kasturi, L. Coraor, O. Camps, and J. McCandless, “Real-Time Obstacle Detection System for High-Speed Civil Transport Supersonic Aircraft,” Proc. Nat'l Aeroscope and Electronics Conf. (NAECON '00), Oct. 2000.
[4] A. Geist, A. Beguelin, J. Dongarra, W. Jiang, R. Manchek, and V. Sunderam, “PVM: Parallel Virtual Machine,” A Users' Guide and Tutorial for Networked Parallel Computing. MIT Press, 1994.
[5] “Message Passing Interface Forum: MPI: A Message-Passing Interface Standard,” J. Supercomputer Applications, vol. 8, nos.3/4, 1994.
[6] V. Sarkar, Partitioning and Scheduling Parallel Programs for Execution on Multiprocessors. MIT Press, 1989.
[7] J.D. Ullman, “NP-Complete Scheduling Problems,” J. Computing Systems Science, vol. 10, pp. 384-393, 1975.
[8] Y.-K. Kwok and I. Ahmad, “Dynamic Critical-Path Scheduling: An Effective Technique for Allocating Task Graphs to Multiprocessors,” IEEE Trans. Parallel and Distributed Systems, vol. 7, no. 5, pp.506-521, May 1996.
[9] J.J. Hwang, Y.C. Chow, F.D. Anger, and C.Y. Lee, “Scheduling Precedence Task Graphs in Systems with Interprocessor Communication Times,” SIAM J. Computing, vol. 18, no. 2, pp. 244-257, Apr. 1989.
[10] T. Yang and A. Gerasoulis, “DSC: Scheduling Parallel Tasks on an Unbounded Number of Processors,” IEEE Trans. Parallel and Distributed Systems, vol. 5, no. 9, pp. 951-967, Sept. 1994.
[11] H. Ali and H. El-Rewini, “Task Allocation in Distributed Systems: A Split-Graph Model,” J. Combinatorial Math. and Combinatorial Computing, vol. 14, pp. 15-32, 1993.
[12] C.-C. Hui and S. Chanson, “Allocating Task Interaction Graph to Processors in Heterogeneous Networks,” IEEE Trans. Parallel and Distributed Systems, vol. 8, no. 9, pp. 908-925, Sept. 1997.
[13] C. Roig, A. Ripoll, M.A. Senar, F. Guirado, and E. Luque, “Exploiting Knowledge of Temporal Behavior in Parallel Programs for Improving Distributed Mapping,” Proc. Sixth Int'l European Conf. Parallel Computing (EuroPar '00), pp. 262-271, 2000.
[14] M.G. Norman and P. Thanisch, “Models of Machines and Computation for Mapping in Multicomputers,” ACM Computing Surveys, vol. 25, no. 3, pp. 263-302, Sept. 1993.
[15] S. Pelagatti, Structured Development of Parallel Programs. Taylor and Francis, 1998.
[16] O. Sinnen and L. Sousa, “A Platform Independent Parallelising Tool Based on Graph Theoretic Models,” Proc. Fourth Int'l Conf. Vector and Parallel Processing (VECPAR '00), pp. 154-167, 2000.
[17] Y.K. Kwok and I. Ahmad, “Benchmarking and Comparison of the Task Graph Scheduling Algorithms,” J. Parallel and Distributed Computing, vol. 59, pp. 381-422, 1999.
[18] P. Bouvry, J. Chassin, and D. Trystram, “Efficient Solutions for Mapping Parallel Programs,” Proc. First Int'l European Conf. Parallel Computing (EuroPar '95), pp. 379-390, 1995.
[19] T. Xie and X. Qin, “A New Allocation Scheme for Parallel Applications with Deadline and Security Constraints on Clusters,” Proc. Seventh IEEE Int'l Conf. Cluster Computing (Cluster '05), CD-ROM, 2005.
[20] H. Topcuoglu and M.-Y. Wu, “Performance Effective and Low-Complexity Task Scheduling for Heterogeneous Computing,” IEEE Trans. Parallel and Distributed Systems, vol. 13, no. 3, pp. 260-274, Mar. 2002.
[21] J. Barbosa, C. Morais, R. Nobrega, and A.P. Monteiro, “Static Scheduling of Dependent Parallel Tasks on Heterogeneous Clusters,” Proc. IEEE Int'l Workshop Algorithms Models and Tools for Parallel Computing on Heterogeneous Networks (HeteroPar '05), CD-ROM, 2005.
[22] J.P. Kitajima, C. Tron, and B. Plateau, “ALPES: A Tool for the Performance Evaluation of Parallel Programs,” Environments and Tools for Parallel Scientific Computing, J.J. Dongarra and B.Tourancheau, eds., pp. 213-228, 1993.
[23] A. Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, second ed. Addison Wesley, 2003.
[24] D. Gil, A. Hernandez, O. Rodriguez, J. Mauri, and P. Radeva, “Statistical Strategy for Anisotropic Adventitia Modelling in IVUS,” IEEE Trans. Medical Imaging, vol. 25, no. 6, pp. 768-778, 2006.
[25] Y. Ohtaki, D. Takahashi, T. Boku, and M. Sato, “Implementation of Strassen's Matrix Multiplication Algorithm for Heterogeneous Clusters,” Proc. 18th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '04), CD-ROM, 2004.
[26] L. Lam and C.Y. Suen, “An Evaluation of Parallel Thinning Algorithms for Character Recognition,” IEEE Trans. Pattern Recognition and Machine Intelligence, vol. 17, no. 9, pp. 914-919, 1995.
[27] Y. Censor, D. Gordon, and R. Gordon, “Component Averaging: An Efficient Iterative Parallel Algorithm for Large Scale and Sparse Unstructured Problems,” Parallel Computing, vol. 27, pp.777-808, 2001.
[28] I. Ahmad, Y. He, and M.L. Liou, “Video Compression with Parallel Processing,” Parallel Computing, vol. 25, pp. 1039-1078, 2002.
[29] B. Bishop, T.P. Kelliher, and M.J. Irwin, “A Detailed Analysis of Mediabench,” Proc. IEEE Workshop Signal Processing Systems (SiPS'99), pp. 449-455, 1999.
[30] P. Sadayappan, R. Ercal, and J. Ramanujam, “Cluster Partitioning Approaches to Mapping Parallel Programs onto Hypercube,” Parallel Computing, vol. 13, pp. 1-16, 1990.
[31] H. El-Rewini, T. Lewis, and H. Ali, Task Scheduling in Parallel and Distributed Systems. Prentice Hall, 1994.
[32] A. Kalinov and S. Klinov, “Optimal Mapping of a Parallel Application Processes onto Heterogeneous Platform,” Proc. 19th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '05), CD-ROM, 2005.
[33] S. Sanyal and S.K. Das, “MaTCH: Mapping Data-Parallel Tasks on a Heterogeneous Computing Platform Using the Cross-Entropy Heuristic,” Proc. 19th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '05), CD-ROM, 2005.
[34] P. Phinjaroenphan and S. Bevinakoppa, “A Novel Algorithm for Mapping Parallel Applications in Computational Grid Environments,” Proc. Seventh IEEE High Performance Computing and Grid in Asia Pacific Region (HPC Asia '04), pp. 347-350, 2004.
[35] E. Maillet TAPE/PVM an Efficient Performance Monitor for PVM Applications—User Guide,, 1995.
[36] Vampir 2.0—Visualization and Analysis of MPI Programs, http:/, 1999.
[37] B. Uk, M. Taufer, T. Stricker, G. Settanni, A. Cavalli, and A. Caflisch, “Combining Task and Data Parallelism to Speed Up Protein Folding on a Desktop Grid Platform,” Proc. Third IEEE Int'l Symp. Cluster Computing and the Grid (CCGrid '03), 2003.
[38] S. Martinez, R. Tomàs, C. Roig, M. Valls, and R. Moreno, “Parallel Calculation of Volcanoes for Criptographic Uses,” Proc. 20th IEEE Int'l Parallel and Distributed Processing Symp. (IPDPS '06), 2006.
[39] O. Jorba, C. Pérez, F. Rocadenbosch, and J.M. Baldasano, “Cluster Analysis of 4-Day Tracjectories Arriving in the Barcelona Area (Spain) from 1997 to 2002,” J. Applied Meteorology, vol. 43, no. 6, pp.887-901, Dec. 2004.
[40] M.Y. Wu and D.D. Gajski, “Hypertool: A Programming Aid for Message Passing Systems,” IEEE Trans. Parallel and Distributed Systems, vol. 1, no. 3, pp. 330-343, July 1990.
[41] P.J. Cameron, Combinatorics: Topics, Techniques and Algorithms. Cambridge Univ. Press, 1994.
[42] M.A. Senar, A. Ripoll, A. Cortés, and E. Luque, “Clustering and Reassignment-Based Mapping Strategy for Message-Passing Architectures,” Proc. 12th Int'l Parallel Processing Symp./Symp. Parallel and Distributed Processing (IPPS/SPDP '98), pp. 415-421, 1998.
[43] O. Sinnen and L. Sousa, “On Task Scheduling Accuracy: Evaluation Methodology and Results,” J. Supercomputing, vol. 27, pp. 177-194, 2004.
[44] F. Guirado, A. Ripoll, C. Roig, and E. Luque, “Performance Prediction Using an Application Oriented Mapping Tool,” Proc. 12th Euromicro Conf. Parallel, Distributed and Network-Based Processing (PDP '04), pp. 184-191, Feb. 2004.

Index Terms:
Task graphs, modelling message-passing programs, program behaviour, task concurrency, static mapping, mapping algorithms
Concepcio Roig, Ana Ripoll, Fernando Guirado, "A New Task Graph Model for Mapping Message Passing Applications," IEEE Transactions on Parallel and Distributed Systems, vol. 18, no. 12, pp. 1740-1753, Dec. 2007, doi:10.1109/TPDS.2007.1117
Usage of this product signifies your acceptance of the Terms of Use.