|
Lottery scheduling's ticket and currency abstractions provide a resource
management framework that allows for both flexible allocation and
insulation between groups of processes. We propose extensions to this
framework that enable greater flexibility while preserving the ability
to isolate groups of processes. In particular, we present a mechanism
that allows processes to modify their own resource rights by exchanging
resource-specific tickets with other processes. Ticket exchanges limit the
effects of the changed allocations to the participants in the exchange,
and they allow applications to coordinate with each other in ways that
are mutually beneficial. Application-specific "negotiators" can be
used to initiate exchanges based on an application's quality-of-service
requirements and the current state of the system. We also propose flexible
access controls for currencies through extensible "brokers" that solve
such problems as the inability of users isolated by currencies to renice
background jobs. Finally, we suggest using extensibility to allow users to
install specialized allocation mechanisms for their processes. Together,
these extensions enable an application-centered approach to resource
management that is both secure and effective.
|