Optimal Multicore Scheduling: An Application of ASP Techniques

* Final gross prices may vary according to local VAT.

Get Access

Abstract

Optimal scheduling policies for multicore platforms have been the holy grail of systems programming for almost a decade now. In this paper, we take two instances of the optimal multicore scheduling problem, the dual-core and the quad-core instances, and attempt to solve them using Answer Set Programming. We represent the problem using a graph theoretic formulation, whereby finding the minimum edge cover of a weighted graph aids us in finding an optimal multicore schedule. We then use an answer set solver to obtain answer sets of varying sizes for our formulation. While a polynomial time algorithm for finding the minimum edge cover of a weighted graph exists in imperative languages and is suitable for dual-core processors, our approach uses ASP techniques to solve both the dual-core and quad-core versions of this problem. We discuss some optimizations to reduce execution runtime, and conclude by discussing potential uses of our application.