Hardware Reference
In-Depth Information
Table 6.1 The main properties of three different design approaches for resource management
Virtual machine
Container
RC
Performance
Not good
Very good
Good
Isolation/Security
Very good
Good
Not good
Runtime flexibility
Not good
Good
Very good
Maintenance
Not good
Good
Good
where multiple customers, even belonging to different companies, buy the usage of
portions of the same physical resource. Of course this is not the only application sce-
nario. In many other scenarios, we are interested in optimizing the usage of available
resources by many tasks of the same system. This is the main case of mobile embed-
ded devices, such as smartphones and set-top-boxes. In these application contexts we
have a single user which runs multiple tasks corresponding to different workloads,
either critical or best-effort. In these scenarios, the entities are tasks, instead of users,
which compete to the usage of shared resources, instead of buying them. The re-
source management problem, in this specific scenario, can be efficiently solved by
using more flexible resource control systems. The latter approach is still based on
a Run-Time Manager running on a single OS which groups the available resources
and then maps tasks on these groups according to some usage policy.
The main properties of the three different approaches are summarized in Table
6.1 . In the next subsection we concentrate on the third approach to investigate deeply
the support that a modern Linux kernel provides for the flexible control of resources.
6.3.2
OS Mechanisms Supporting RTRM
Almost all modern OSs provide resource management mechanisms to properly grant
shared resources access to multiple tasks. Linux is perhaps the OS that has devel-
oped the most advanced mechanisms to support run-time resource management for
a large number of resources. This is thanks to its wide adoption, on systems that
range from high-end servers in data centers down to multimedia mobile systems
in smartphones. As shown in Fig. 6.7 many Linux subsystems provide a Resource
Manager, most notably: CPU, memory and the I/O communication channels such as
disks and networks interfaces. Moreover, since power and energy consumption are
critical aspects, for both high-end servers and mobile devices, the power manage-
ment subsystem works parallel to the previous ones to manage properly electrical
consumptions.
Past proposals on resource management and task grouping were based on a basic
abstraction that allows to group together multiple processes in order to track and
limit the resources that they are allowed to access. To fulfill all these functionalities,
the Task Control Groups (TCG) framework is available since Linux kernel version
2.6.24, when it was first developed and merged by Paul Menage of Google Inc.
 
Search WWH ::




Custom Search