Hardware Reference
In-Depth Information
account: application , non-functional and platform aspects. Application aspects refer
to application requirements and constraints. Non-functional aspects collect those
QoS-related, such as power consumption, throughput, memory bandwidth; these
can be used directly to setup the objective functions. Last, platform aspects come
from the hardware: available resources, hardware architecture features, and so on.
6.3
Operating System Support
In single-user single-tasking systems, when all the available resources were under di-
rect control of the user, resource control was straightforward. Instead, with the advent
of multi-tasking systems, the need for more complex resource control mechanisms
raised. In these systems, one of the main goals is to control resources by sharing
them fairly among all concurrent tasks. This requires the implementation of suitable
“accounting mechanisms” and a “scheduling algorithm”. Accounting mechanisms
are used to keep track of the available resources and their allocation to requesting
clients. Instead, scheduling algorithms should support the contrasting requirements
of fairness and granted access to resources to all the clients.
This problem becomes particularly complex if we consider systems with a mix
of best-effort and critical workloads. Regardless of their nature, critical workloads
are characterized by the requirements of a certain number of resources to grant
their functionalities. Conversely, best-effort workloads could tread performance for
resources without compromising functionality. In this scenario, a properly designed
run-time resource manager should be aware of these differences and provide an
adequate support for priority access to available resources.
To tackle the resource management problem, different architectural alternatives
have been evaluated. Both middleware and native operating system support have
been developed and quantitatively evaluated, especially on the specific context of
multimedia applications [ 23 ]. In the rest of this section we focus on the native
operating system approach, highlighting its role on the resolution of the resource
management problem. Then we focus on the Linux kernel, which is a widely adopted
operating system for a broad range of application contexts, and we describe the main
mechanisms it offers to manage resources at run-time.
6.3.1
System-Wideness and the OS
The operating system support for resource management has changed significantly
in the course of the last decades. One can find in existing literature many studies
on resource control at operating system level started. Systems were mainly based
on mainframes, which have a central computation system and many users accessing
it remotely and competing to the usage of really limited resources. Thus, the basic
approach of dividing the available resources into several groups corresponding to
Search WWH ::




Custom Search