A Heuristic-Based Resource Allocation Approach for Parallel Execution of Interacting Tasks

Heterogeneity and complexity of distributed computing increases rapidly as high speed processors are widely available. In modern computing environment, resources are dynamic, heterogeneous, geographically spread over different computational domains and connected through different capacity of high speed communication links. In a large distributed environment a modular program can be considered as a set of loosely coupled interacting modules/tasks (since all the modules/tasks are considered as simultaneously and independently executable) and represented by task interaction graph (TIG) model. Parallel execution of these interacting modules/tasks is highly preferred to reduce the overall completion time of a program. During parallel execution of tasks, the communication overhead due to message passing may increase the cost of parallel execution. Parallel execution of tasks is chosen if and only if parallel execution cost together with communication overhead is less than serial execution cost. So, resources are to be allocated such that advantage of parallel execution is maintained. In this paper, for any task and resource graph, we propose a heuristics based approach to find out an optimal number of tasks that can be executed in parallel on a set of resources where they can be executed.

[1]  Salim Hariri,et al.  Performance-Effective and Low-Complexity Task Scheduling for Heterogeneous Computing , 2002, IEEE Trans. Parallel Distributed Syst..

[2]  Bin Zhang,et al.  A Dependent Tasks Scheduling Model in Grid , 2008, APWeb.

[3]  Boontee Kruatrachue,et al.  Grain size determination for parallel processing , 1988, IEEE Software.

[4]  Leandro Soares Indrusiak,et al.  A survey of scheduling metrics and an improved ordering policy for list schedulers operating on workloads with dependencies and a wide variation in execution times , 2013, Future Gener. Comput. Syst..

[5]  Leandro Soares Indrusiak,et al.  Scheduling HPC Workflows for Responsiveness and Fairness with Networking Delays and Inaccurate Estimates of Execution Times , 2013, Euro-Par.

[6]  Ronald L. Graham,et al.  Bounds for certain multiprocessing anomalies , 1966 .

[7]  Shahid H. Bokhari,et al.  Dual Processor Scheduling with Dynamic Reassignment , 1979, IEEE Transactions on Software Engineering.

[8]  Hesham H. Ali,et al.  Task scheduling in parallel and distributed systems , 1994, Prentice Hall series in innovative technology.

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

[10]  Nandini Mukherjee,et al.  Agglomeration of Dependent Tasks for Efficient Scheduling in Grid Environment , 2010 .

[11]  K. Mani Chandy,et al.  A comparison of list schedules for parallel processing systems , 1974, Commun. ACM.

[12]  Ian T. Foster,et al.  The anatomy of the grid: enabling scalable virtual organizations , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[13]  Daniel Gajski,et al.  Hypertool: A Programming Aid for Message-Passing Systems , 1990, IEEE Trans. Parallel Distributed Syst..