Основные понятия
INSPIRIT, an efficient and lightweight scheduling framework with adaptive priority, is proposed to optimize task scheduling in task-based runtime systems on heterogeneous hardware. INSPIRIT introduces two novel task attributes - inspiring ability and inspiring efficiency - to determine task priorities, eliminating the need for application domain knowledge. INSPIRIT also jointly considers runtime information such as the number of ready tasks in worker queues to guide task scheduling, exposing more performance opportunities in heterogeneous hardware while reducing overhead.
Аннотация
The paper proposes INSPIRIT, an efficient and lightweight scheduling framework designed for task-based runtime systems on heterogeneous hardware resources.
Key highlights:
- INSPIRIT introduces two novel task attributes - inspiring ability and inspiring efficiency - to determine task priorities, eliminating the need for application domain knowledge.
- INSPIRIT jointly considers runtime information such as the number of ready tasks in worker queues to guide task scheduling, exposing more performance opportunities in heterogeneous hardware while reducing overhead.
- Experimental results demonstrate that INSPIRIT achieves superior performance compared to cutting-edge scheduling schemes on both synthesized and real-world task DAGs.
The paper first observes that priority-based scheduling can effectively improve performance, but the generation of optimal priorities is challenging as it heavily depends on both the application and hardware characteristics. To address this, the authors propose the concepts of inspiring ability and inspiring efficiency.
Inspiring ability represents the number of dependencies released upon task completion, while inspiring efficiency represents the number of dependencies a task can release per unit time. INSPIRIT leverages these two attributes to adaptively adjust task priorities during runtime. When there are not enough tasks scheduled, INSPIRIT prioritizes tasks with higher inspiring efficiency to ensure maximum hardware utilization. When there are sufficient tasks, INSPIRIT prioritizes tasks with higher inspiring ability to generate more potential tasks and sustain parallelism.
INSPIRIT also monitors the number of ready tasks (Nready) in worker queues as an indicator to guide task execution. By regulating Nready, INSPIRIT can effectively reduce the overhead of task mapping adjustment across different hardware while concurrently monitoring the runtime state.
The evaluation results demonstrate that INSPIRIT achieves superior performance compared to cutting-edge scheduling schemes on both synthesized and real-world task DAGs, with speedups ranging from 1.03x to 3.22x.
Статистика
The number of tasks executed within a unit time window is less than the upper limit, nbound, which is closely related to the hardware configurations and the type of tasks executed.
Цитаты
"INSPIRIT introduces two novel task attributes inspiring ability and inspiring efficiency for dictating scheduling, eliminating the need for application domain knowledge."
"INSPIRIT jointly considers runtime information such as ready tasks in worker queues to guide task scheduling, exposing more performance opportunities in heterogeneous hardware at runtime while effectively reducing the overhead for adjusting task priorities."