  As modern HPC computing platforms become increasingly heterogeneous, it is
challenging for programmers to fully leverage the computation power of massive
parallelism offered by such heterogeneity. Consequently, task-based runtime
systems have been proposed as an intermediate layer to hide the complex
heterogeneity from the application programmers. The core functionality of these
systems is to realize efficient task-to-resource mapping in the form of
Directed Acyclic Graph (DAG) scheduling. However, existing scheduling schemes
face several drawbacks to determine task priorities due to the heavy reliance
on domain knowledge or failure to efficiently exploit the interaction of
application and hardware characteristics. In this paper, we propose INSPIRIT,
an efficient and lightweight scheduling framework with adaptive priority
designed for task-based runtime systems. INSPIRIT introduces two novel task
attributes \textit{inspiring ability} and \textit{inspiring efficiency} for
dictating scheduling, eliminating the need for application domain knowledge. In
addition, INSPIRIT jointly considers runtime information such as ready tasks in
worker queues to guide task scheduling. This approach exposes more performance
opportunities in heterogeneous hardware at runtime while effectively reducing
the overhead for adjusting task priorities. Our evaluation results demonstrate
that INSPIRIT achieves superior performance compared to cutting edge scheduling
schemes on both synthesized and real-world task DAGs.
