An improved two-step algorithm for task and data parallel scheduling in distributed memory machines

  • Authors:
  • Savina Bansal;Padam Kumar;Kuldip Singh

  • Affiliations:
  • Department of Electronics Engineering, GZS College of Engineering and Technology, Bathinda, Punjab, India;Department of E&CE, Indian Institute of Technology Roorkee, Roorkee, Uttranchal, India;Department of E&CE, Indian Institute of Technology Roorkee, Roorkee, Uttranchal, India

  • Venue:
  • Parallel Computing
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Scheduling of most of the parallel scientific applications demand simultaneous exploitation of task and data parallelism for efficient and effective utilization of system and other resources. Traditional optimization techniques, like optimal control-theoretic approaches, convex-programming, and bin-packing, have been suggested in the literature for dealing with the most critical processor allocation phase. However, their application onto the real world problems is not straightforward, which departs the solutions away from optimality. Heuristic based approaches, in contrast, work in the integer domain for the number of processors all through, and perform appreciably well. A two-step Modified Critical Path and Area-based (MCPA) scheduling heuristic is developed which targets at improving the processor allocation phase of an existing Critical Path and Area-based (CPA) scheduling algorithm. Strength of the suggested algorithm lies in bridging the gap between the processor allocation and task assignment phases of scheduling. It helps in making better processor allocations for data parallel tasks without sacrificing the essential task parallelism available in the application program. Performance of MCPA algorithm, in terms of normalized schedule length and speedup, is evaluated for random and real application task graph suites. It turns out to be much better than the parent CPA algorithm and comparable to the high complexity Critical Path Reduction (CPR) algorithm.