High performance scheduling of mixed-mode DAGs on heterogeneous multicores
Many HPC applications can be expressed as mixed-mode computations, in which each node of a computational DAG is itself a parallel computation that can be molded at runtime to allocate different amounts of processing resources. At the same time, modern HPC systems are becoming increasingly heterogeneous to address the requirements of energy efficiency. Effectively using heterogeneous devices is complex, requiring the developer to be aware of each DAG nodes' criticality, and the relative performance of the underlying heterogeneous resources. This paper studies how irregular mixed-mode parallel computations can be mapped on a single-ISA heterogeneous architecture with the goals of performance and portability. To achieve high performance we analyze various schemes for heterogeneous scheduling, including both criticality-aware and performance-only schemes, and extend them with task molding to dynamically adjust the amount of resources used for each task. To achieve performance portability we track each DAG nodes' performance and construct an online model of the system and its performance. Using a HiKey960 big.LITTLE board as experimental system, the resulting scheduler implementations achieve large speed-ups when executing irregular DAGs compared to traditional random work stealing.
READ FULL TEXT