3 A brief review of CKRM concepts and terminology will help make installation
4 and testing easier. For more details, please visit http://ckrm.sf.net.
6 Currently there are two class types, taskclass and socketclass for grouping,
7 regulating and monitoring tasks and sockets respectively.
9 To avoid repeating instructions for each classtype, this document assumes a
10 task to be the kernel object being grouped. By and large, one can replace task
11 with socket and taskclass with socketclass.
13 RCFS depicts a CKRM class as a directory. Hierarchy of classes can be
14 created in which children of a class share resources allotted to
15 the parent. Tasks can be classified to any class which is at any level.
16 There is no correlation between parent-child relationship of tasks and
17 the parent-child relationship of classes they belong to.
19 Without a Classification Engine, class is inherited by a task. A privileged
20 user can reassigned a task to a class as described below, after which all
21 the child tasks under that task will be assigned to that class, unless the
22 user reassigns any of them.
24 A Classification Engine, if one exists, will be used by CKRM to
25 classify a task to a class. The Rule based classification engine uses some
26 of the attributes of the task to classify a task. When a CE is present
27 class is not inherited by a task.
29 Characteristics of a class can be accessed/changed through the following magic
30 files under the directory representing the class:
32 shares: allows to change the shares of different resources managed by the
34 stats: allows to see the statistics associated with each resources managed
36 target: allows to assign a task to a class. If a CE is present, assigning
37 a task to a class through this interface will prevent CE from
38 reassigning the task to any class during reclassification.
39 members: allows to see which tasks has been assigned to a class
40 config: allow to view and modify configuration information of different
43 Resource allocations for a class is controlled by the parameters:
45 guarantee: specifies how much of a resource is guranteed to a class. A
46 special value DONT_CARE(-2) mean that there is no specific
47 guarantee of a resource is specified, this class may not get
48 any resource if the system is runing short of resources
49 limit: specifies the maximum amount of resource that is allowed to be
50 allocated by a class. A special value DONT_CARE(-2) mean that
51 there is no specific limit is specified, this class can get all
52 the resources available.
53 total_guarantee: total guarantee that is allowed among the children of this
54 class. In other words, the sum of "guarantee"s of all children
55 of this class cannot exit this number.
56 max_limit: Maximum "limit" allowed for any of this class's children. In
57 other words, "limit" of any children of this class cannot exceed
60 None of this parameters are absolute or have any units associated with
61 them. These are just numbers(that are relative to its parents') that are
62 used to calculate the absolute number of resource available for a specific
65 Note: The root class has an absolute number of resource units associated with it.