2003 Kernel Summit: Resource management
[Posted July 21, 2003 by corbet]
Ken Rosendal talked briefly about resource and workload management. He
started with some definitions of terms:
resource management is
control of resources available to applications which affect performance:
memory, CPUs, network usage, block I/O usage, etc. A
workload is a
set of processes working together to accomplish a single task. Workload
associations can be dynamic; a relational database manager is part of a
particular workload while processing that workload's requests, for
example.
Workload management is essentially the use of resource
management to achieve a user's goals for a particular workload.
User goals can be expressed in a number of ways. Some users are interested
in pure resource utilization; a particular workload, for example, should
get 30% of the processor allocated to it. Strict percentage-based
management schemes are most often used with batch jobs. Other management
schemes are more concerned with response times; interactive job goals are
often specified in these terms. Finally, some workload goals are given in
terms of transaction delays.
True workload management brings some challenges. The user must be able to
specify what a given workload is, for starters. Is it a certain
application? Perhaps a database system is part of a given workload when it
is handling transactions of a certain type. Once that has been done, the
user can provide the goals for that workload. Management at this level
requires application support; the system must be told when certain types of
transactions begin and end, or when "user interaction events" begin and
end.
No proposals for actually implementing any of this were given. There was
some talk about whether most workload management should be handled in
user-space, perhaps through the use of virtual machines like User-mode
Linux.
(
Log in to post comments)