A Dynamic Scheduling Algorithm for Distributed Kahn Process Networks in a Cluster Environment

In this paper, a novel dynamic task scheduling algorithm is proposed for parallel applications modeled in Kahn process networks (KPN) running in a distributed multi-processor cluster. Static job scheduling algorithms do not work for the purpose for that the complexity of a KPN model remains unpredictable at compile time. Dynamic load balancing strategies ignore the explicit data dependences among tasks and may lead to inappropriate process migrations. The algorithm presented in this paper is based on the sequence of dynamic recorded events of each task at runtime. It then predicts the execution efficiency of a KPN model in various scheduling (task-processor assignments) through the estimation of average resource utilization rate. Simulations have shown satisfying results.

[1]  Twan Basten,et al.  Efficient Execution of Process Networks , 2001 .

[2]  Thomas M. Parks A comparison of MPI and process networks , 2005, 19th IEEE International Parallel and Distributed Processing Symposium.

[3]  Erwin A. de Kock,et al.  YAPI: application modeling for signal processing systems , 2000, Proceedings 37th Design Automation Conference.

[4]  Alexandru Turjan,et al.  System design using Khan process networks: the Compaan/Laura approach , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[5]  Y.-K. Kwok,et al.  Static scheduling algorithms for allocating directed task graphs to multiprocessors , 1999, CSUR.

[6]  Thomas Martyn Parks,et al.  Bounded scheduling of process networks , 1996 .

[7]  Edward A. Lee,et al.  Dataflow process networks , 2001 .

[8]  Todor Stefanov,et al.  pn: A Tool for Improved Derivation of Process Networks , 2007, EURASIP J. Embed. Syst..

[9]  Twan Basten,et al.  Requirements on the Execution of Kahn Process Networks , 2003, ESOP.

[10]  Srinivasan Parthasarathy,et al.  Customized dynamic load balancing for a network of workstations , 1996, Proceedings of 5th IEEE International Symposium on High Performance Distributed Computing.

[11]  Willy Zwaenepoel,et al.  On the use and implementation of message logging , 1994, Proceedings of IEEE 24th International Symposium on Fault- Tolerant Computing.

[12]  Weishi Zhang,et al.  Modeling Service Interactions Using Kahn Process Network , 2006, 2006 Seventh International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'06).

[13]  Achour Mostéfaoui,et al.  Communication-based prevention of useless checkpoints in distributed computations , 2000, Distributed Computing.

[14]  George Bosilca,et al.  Open MPI: Goals, Concept, and Design of a Next Generation MPI Implementation , 2004, PVM/MPI.