Optimal Multicore Scheduling: An Application of ASP Techniques
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.
KeywordsASP clingo multicore scheduling edge cover
Unable to display preview. Download preview PDF.
- 1.clingo, http://potassco.sourceforge.net/
- 3.smodels and lparse, http://www.tcs.hut.fi/Software/smodels/
- 4.SPEC CPU (2006), http://www.spec.org/cpu2006/
- 5.Tam, D., Azimi, R., Soares, L., Stumm, M.: Managing Shared L2 Caches on Multicore Systems in Software. In: WIOSCA (June 2007); held in conjunction with the (ISCA) (2007)Google Scholar