  Domain-specific systems-on-chip, a class of heterogeneous many-core systems,
are recognized as a key approach to narrow down the performance and
energy-efficiency gap between custom hardware accelerators and programmable
processors. Reaching the full potential of these architectures depends
critically on optimally scheduling the applications to available resources at
runtime. Existing optimization-based techniques cannot achieve this objective
at runtime due to the combinatorial nature of the task scheduling problem. As
the main theoretical contribution, this paper poses scheduling as a
classification problem and proposes a hierarchical imitation learning
(IL)-based scheduler that learns from an Oracle to maximize the performance of
multiple domain-specific applications. Extensive evaluations with six streaming
applications from wireless communications and radar domains show that the
proposed IL-based scheduler approximates an offline Oracle policy with more
than 99% accuracy for performance- and energy-based optimization objectives.
Furthermore, it achieves almost identical performance to the Oracle with a low
runtime overhead and successfully adapts to new applications, many-core system
configurations, and runtime variations in application characteristics.
