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