# zbMATH — the first resource for mathematics

Satisfiability modulo theory (SMT) formulation for optimal scheduling of task graphs with communication delay. (English) Zbl 1391.90290
Summary: In scheduling theory and practise for parallel computing, representing a program as a task graph with communication delays is a popular model, due to its general nature, its expressiveness and relative simplicity. Unfortunately, scheduling such a task graph on a set of processors in such a way that it achieves its shortest possible execution time ($$P|\mathrm{pred}, c_{ij}| C_{\max}$$ in $$\alpha|\beta|\gamma$$ notation) is a strong NP-hard optimization problem without any known guaranteed approximation algorithm. Hence, many heuristics have been researched and are used in practise. However, in many situations it is necessary to obtain optimal schedules, for example, in the case of time-critical systems or for the evaluation of heuristics. Recent years have seen some advances in optimal algorithms for this scheduling problem, based on smart exhaustive state-space search or MILP (mixed integer linear programming) formulations. This paper proposes a novel approach based on SMT (satisfiability modulo theory). We propose an elegant SMT formulation of the scheduling problem that only needs one decision variable and is very compact and comprehensible in comparison to the state-of-the-art MILP formulations. This novel optimal scheduling approach is extensively evaluated in experiments with more than a thousand task graphs. We perform experimental comparison with the best known MILP formulations, with attempts to further improve them, and deeply analyse the behaviour of the different approaches with respect to size, structure, number of processors, etc. Our proposed SMT-based approach in general outperforms the MILP-formulations and still possesses great potential for further optimization, from which MILP formulations have benefited in the past.
##### MSC:
 90B35 Deterministic scheduling theory in operations research 68M14 Distributed systems 68M20 Performance evaluation, queueing, and scheduling in the context of computer systems 90C11 Mixed integer programming
##### Software:
GXL; z3; JaCoP; KAAPI; StarPU; Gurobi
Full Text: