  This paper proposes Bayesian optimization augmented factoring self-scheduling
(BO FSS), a new parallel loop scheduling strategy. BO FSS is an automatic
tuning variant of the factoring self-scheduling (FSS) algorithm and is based on
Bayesian optimization (BO), a black-box optimization algorithm. Its core idea
is to automatically tune the internal parameter of FSS by solving an
optimization problem using BO. The tuning procedure only requires online
execution time measurement of the target loop. In order to apply BO, we model
the execution time using two Gaussian process (GP) probabilistic machine
learning models. Notably, we propose a locality-aware GP model, which assumes
that the temporal locality effect resembles an exponentially decreasing
function. By accurately modeling the temporal locality effect, our
locality-aware GP model accelerates the convergence of BO. We implemented BO
FSS on the GCC implementation of the OpenMP standard and evaluated its
performance against other scheduling algorithms. Also, to quantify our method's
performance variation on different workloads, or workload-robustness in our
terms, we measure the minimax regret. According to the minimax regret, BO FSS
shows more consistent performance than other algorithms. Within the considered
workloads, BO FSS improves the execution time of FSS by as much as 22% and 5%
on average.
