Hi all,
I've uploaded cpu resource controller v0.2 to the project
web site. Purpose of this release is to improve guarantee
enforcement.
In our design, cpu share is enforced only by shortening
time slice in order to keep the other behaviors of
the process scheduler. It works file more than I originally
expected, but there was some problematic case in terms of
guarantee enforcement.
The problem is that at least 1 tick must be given to every
task and default timeslice is 25 ticks in HZ=250. Adjustable
range is a little bit narrow.
Therefore a high guaranteed task can be disturbed by a large number of
runnable tasks. The following chart shows guarantee v.s. # of interference
tasks in v0.1 cpu controller.
v0.1 (HZ=250)
8 16 32 # of interference tasks
-------------------------------------------
guarantee effective load
50 50 49 42*
60 60 59 42
70 70 59* 42
80 73* 59 42
90 73 59 42
(Effective load is saturated at '*')
It is much better on HZ=1000, but saturation is also seen.
v0.1 (HZ=1000)
8 16 32 # of interference tasks
-------------------------------------------
guarantee effective load
50 50 51 48
60 61 62 62
70 71 68 62*
80 80 72 72
90 81* 81* 72
(Effective load is saturated at '*')
In v0.2 cpu controller, a starved task is requeued to the active
queue again as well as an interactive task until expire starving.
The following chart shows the result of v0.2 cpu controller.
The result is much better.
v0.2 (HZ=250)
8 16 32 # of interference tasks
-------------------------------------------
guarantee effective load
50 53 49 50
60 62 60 61
70 71 70 71
80 89 75 79
90 89 85 87
(I did the same experiment in v0.2 with HZ=1000, but the result
was similar.)
Enjoy,
MAEDA Naoaki
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
ckrm-tech mailing list
https://lists.sourceforge.net/lists/listinfo/ckrm-tech