

For many years, the number of processing units per compute node is increasing significantly. For utilizing all or most of the available compute resources of a high-performance computing cluster, at least some of its nodes will have to be shared by several applications at the same time. Even if jobs are co-scheduled on a node, it can happen that compute resources remain idle, although there may be jobs that could make use of them (e.g., if the resource was temporarily blocked when the job was started). Heterogeneous schedulers, which schedule tasks for different devices, can bind jobs to resources in a way that can significantly reduce the idle time. Typically, such schedulers make their decisions based on a static strategy.
We investigate the impact of allowing a heterogeneous scheduler to modify its strategy at runtime. For a set of applications, we determine the makespan and show how it is influenced by four different scheduling strategies. A strategy tailored to one use case can be disastrous in another one and can consequently even result in a slowdown – in our experiments of up to factor 2.5.