Decentralising resource management in operating systems -- getting applications involved
Rolf Neugebauer
Resource management policies are traditionally implemented by
centralised entities, either individually per resource, by a
scheduling algorithm or, at a higher level, using resource or QoS
managers. Resources are "magically" allocated to consumers with
little or no involvement of the consumers of those resources. Often,
competing consumers are given the impression of being the only
consumer of that resource, in this way, resources are being
virtualised.
With our research, we explore ways of how to involve applications in
the process of managing resources under the premises that (1)
applications potentially have some (implicit) notion of their future
resource demands and (2) applications can adapt their resource
demands. The general idea is to provide feedback to applications so
that they can proactively take part in the process of managing
resource. This approach has the effect that resource management
policies can be removed from central entities and the operating system
has only to provide mechanism. Furthermore, in contrast to centralised
approaches, application specific features can be more easily
exploited.
To achieve this aim we deploy a microeconomic theory, namely
congestion or shadow pricing, which recently received some attention
for managing congestion in communication networks. Applications are
charged based on the potential "damage" they cause to other consumers
by consuming resources. Consumers interpret these congestion charges
as feedback signals which they use to adjust their resource consumption.
In theory, it can be shown that such a system with consumers merely
acting in their own self-interest will converge to a social optimum.
In this talk I will provide an introduction to congestion pricing and
discuss its application in an OS context. It is argued that congestion
prices are the correct economic model in this context. I will then
describe and present results from two prototype implementations and
discuss various application scenarios.
|