RESOURCE MANAGEMENT AND QOS
A computer system has many resources, which may be
required to solve a problem: CPU, memory at different levels,
bandwidth of I/O devices, e.g., disk and host networkinterface,
and bandwidth of the system bus. In Figure 3, the
basic resource types CPU, memory, and bandwidth are
partitioned into concrete system resources.
One of the primary functions of an OS is to multiplex
these resources among the users of the system. In the advent
of conflicting resource requests, the traditional OS
must decide which requests are allocated resources to operate
the computer system fairly and efficiently [Peterson et
al. 85]. Fairness and efficiency are still the most important
goals for resource management in today’s commodity OSs.
However, with respect to multimedia applications, other
goals that are related to timeliness become of central importance.
For example, user interactions and synchronization
require short response times with upper bounds, and
multimedia streams require a minimum throughput for a
certain period of time. These application requirements are
specified as QoS requirements. Typical application-level
QoS specifications include parameter types like frame rate,
resolution, jitter, end-to-end delay, and synchronization
skew [Nahrstedt et al. 99]. These high-level parameters
have to be broken down (or mapped) into low-level parameters
and resources that are necessary to support the
requested QoS, like CPU time per period, amount of memory,
and average and peak network bandwidth. A discussion
of this mapping process is beyond the scope of this
paper, but we want to emphasize at this point that such a
specification of resource requirements is difficult to
achieve. A constant frame rate does not necessarily require
constant throughput and constant execution time per period.
Furthermore, user interactions can generate unpredictable
resource requirements.
In order to meet QoS requirements from applications
and users, it is necessary to manage the system resources in
such a manner that sufficient resources are available at the
right time to perform the task with the requested QoS. In
particular, resource management in OS for QoS comprises
the following basic tasks:
Specification and allocation request for resources that
are required to perform the task with the requested
QoS.
Admission control includes a test whether enough resources
are available to satisfy the request without interfering
with previously granted requests. The way
this test is performed depends on requirement specification
and allocation mechanism used for this resource.
Allocation and scheduling mechanisms assure that a
sufficient share of the resource is available at the right
time. The type of mechanism depends on the resource
type. Resources that can only exclusively be used by a
single process at a time have to be multiplexed in the
temporal domain. In other words, exclusive resources,
like CPU or disk I/O, have to be scheduled. Basically,
we can differentiate between fair scheduling, real-time
scheduling, and work and non-work conserving scheduling
mechanisms. So-called shared resources, like
memory, basically require multiplexing in the spatial
domain, which can be achieved, e.g., with the help of a
table.
Accounting tracks down the actual amount of resources
that is consumed in order to perform the task.
Accounting information is often used in scheduling
mechanisms to determine the order of waiting requests.
Accounting information is also necessary to
make sure that no task consumes more resources than
negotiated and steals them (in overload situations)
from other tasks. Furthermore, accounting information
might trigger system-initiated adaptation.
Adaptation might be initiated by the user/application
or the system and can mean to downgrade QoS and
corresponding resource requirements, or to upgrade
them. Adaptation leads in any case to new allocation
parameters. Accounting information about the actual
resource consumption might be used to optimize
resource utilization.
Deallocation frees the resources.
Specification, admission control, and allocation and
scheduling strongly depend on the particular resource type,
while adaptation and resource accounting represent more
resource type independent principles. Thus, the following
two subsections introduce adaptation and resource accounting,
before we discuss the different system resources
in more detail.
ADAPTATION
There are two motivations for adaptation in multimedia
systems: (1) resource requirements are hard to predict, e.g.,
VBR video and interactivity; and (2) resource availability
cannot be guaranteed if the system includes best-effort sub-
Memory
CPU
Cache
Main memory
Disk
Disk I/O
Network
I/O
Resources Bandwidth Bus
Figure 3: Operating system resources
No comments:
Post a Comment