A look at an algorithm in haskell that I am working on for doing fair and less-fair-but-actually-kind-of efficient scheduling of tasks across across multiple machines. The goal is to take existing work scheduling approaches that tend to be ok at optimising for resource utilisation across multiple dimensions (IO, Memory, CPU) for a fixed set of resources, and introduce variably available / variable price resources. Using budgets (min/max concurrent resources, cost of execution, timelines of completion) I hope to arbitrate between allocation of existing and new resources without sacrificing utilisation.
This talk was presented at FP-Syd, May 2016.
[ deck ]