Parameterized Task Graph Scheduling Algorithm for Comparing Algorithmic Components
Jared Coleman, Ravi Vivek Agrawal, Ebrahim Hirani, Bhaskar, Krishnamachari

TL;DR
This paper introduces a flexible, parameterized list-scheduling algorithm for task graph scheduling, enabling systematic comparison of algorithmic components and their impact on performance across multiple datasets.
Contribution
It proposes a generalized parametric scheduling framework that combines various heuristic components to generate and evaluate 72 distinct algorithms.
Findings
Different algorithmic components significantly affect scheduling performance.
The combined effects of components can be systematically studied using the proposed framework.
Benchmarking reveals optimal component combinations for specific datasets.
Abstract
Scheduling distributed applications modeled as directed, acyclic task graphs to run on heterogeneous compute networks is a fundamental (NP-Hard) problem in distributed computing for which many heuristic algorithms have been proposed over the past decades. Many of these algorithms fall under the list-scheduling paradigm, whereby the algorithm first computes priorities for the tasks and then schedules them greedily to the compute node that minimizes some cost function. Thus, many algorithms differ from each other only in a few key components (e.g., the way they prioritize tasks, their cost functions, where the algorithms consider inserting tasks into a partially complete schedule, etc.). In this paper, we propose a generalized parametric list-scheduling algorithm that allows mixing and matching different algorithmic components to produce 72 unique algorithms. We benchmark these algorithms…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed and Parallel Computing Systems · Scheduling and Optimization Algorithms · Cloud Computing and Resource Management
