Scheduling games for concurrent systems
A scheduler is an algorithm that assigns at any time a set of processes to a set of processors. Processes usually interact with each other, which introduces dependencies amongst them. Typically, such dependencies induce extra delays that the scheduler needs to avoid. Specific types of applications, like streaming applications, synthesize a scheduler from a formal model that is aware of these interactions. However, such interaction-specific information is not available for general types of applications. In this paper, we propose an interaction aware scheduling framework for generic concurrent applications. We formalize the amount of work performed by an application as constraints. We use these constraints to generate a graph, and view scheduler synthesis as solving a game on this graph that is played between the scheduler and the application. We illustrate that our framework is expressive enough to subsume an established scheduling framework for streaming programs.
|International Conference on Coordination Models and Languages|
Dokter, K.P.C, Jongmans, S.-S.T.Q, & Arbab, F. (2016). Scheduling games for concurrent systems. Presented at the International Conference on Coordination Languages and Models. doi:10.1007/978-3-319-39519-7_6