@@ -4,24 +4,23 @@ automate tasks, manage resources, kill processes, etc. When used in
4
4
conjunction with cgroups, adaptived can adjust system performance and settings
5
5
in realtime to adapt to a changing workload.
6
6
7
- Adaptived has several built-in causes and effects. When using only the built-in
7
+ adaptived has several built-in causes and effects. When using only the built-in
8
8
causes and effects, adaptived can be invoked directly by calling the adaptived
9
9
daemon. See the [ Getting Started Section] ( ./README.md#getting-started ) .
10
10
To use custom cause and effects, a user must use the adaptived library
11
11
and its C APIs. See the [ Advanced Use Case Section] ( ./README.md#advanced-use-case---custom-causes-andor-effects ) .
12
- If there is sufficient demand, we may consider adding Python
13
- bindings.
12
+ If there is sufficient demand, we may consider adding Python bindings.
14
13
15
14
## Terminology
16
15
17
- Adaptived uses the following terminology:
16
+ adaptived uses the following terminology:
18
17
19
18
* Cause - A cause is an event or measurement that can be used to trigger an
20
- effect. Multiple causes can be connected together in series in a rule. In
21
- cases like this, the causes will be processed in the order they are
22
- enumerated in the configuration file. All causes in a given rule are run
23
- every loop through adaptived . Effects will only be invoked if all of the
24
- causes in the rule are triggered.
19
+ effect. When a rule contains multiple causes, the causes will be processed
20
+ in the order they are enumerated in the configuration file. All causes in
21
+ a given rule are run every loop through adaptived - even if an earlier cause
22
+ did not trigger . Effects are only invoked if all of the causes in the rule
23
+ have triggered.
25
24
* Effect - An effect is an action to be taken when the cause(s) in the same
26
25
rule are triggered. Multiple effects can be connected together in a rule.
27
26
Baring an error, each effect will run when the associated causes are
@@ -32,9 +31,9 @@ Adaptived uses the following terminology:
32
31
33
32
## Architecture
34
33
35
- Adaptived 's main processing loop operates as shown in the flow chart below:
34
+ adaptived 's main processing loop operates as shown in the flow chart below:
36
35
37
- ![ Adaptived flow chart] ( ./doc/examples/flow-chart.png )
36
+ ![ adaptived flow chart] ( ./doc/examples/flow-chart.png )
38
37
39
38
## Getting Started
40
39
@@ -60,6 +59,9 @@ run and output the aforementioned message.
60
59
61
60
## Real-World Use Cases
62
61
62
+ The following use cases utilize example JSON configuration files located in
63
+ adaptived's [ ./doc/examples] ( ./doc/examples ) directory.
64
+
63
65
* Given two cgroups, high-priority and low-priority, kill processes in the
64
66
low-priority cgroup when there is PSI pressure on the high-priority cgroup
65
67
[[ 1]] ( ./doc/examples/kill-lowpriority.json )
@@ -81,7 +83,7 @@ run and output the aforementioned message.
81
83
82
84
## Advanced Use Case - Custom Causes and/or Effects
83
85
84
- Adaptived allows for users to create their own custom causes and effects. (Note
86
+ adaptived allows for users to create their own custom causes and effects. (Note
85
87
that pull requests are encouraged, and we encourage users to submit new causes
86
88
and effects to the adaptived library so that they can be built in. But we realize
87
89
that some causes and/or effects may be proprietary or just too obscure to add
0 commit comments