Size: 3340
Comment:
|
Size: 2239
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
Line 5: | Line 4: |
Line 9: | Line 7: |
Line 11: | Line 8: |
Line 13: | Line 9: |
2. https://www.kernel.org/doc/Documentation/timers/NO_HZ.txt 3. Status of Linux Dynamic Ticks: http://ertl.jp/~shinpei/conf/ospert13/slides/FredericWeisbecker.pdf |
1. https://www.kernel.org/doc/Documentation/timers/NO_HZ.txt 1. Status of Linux Dynamic Ticks: http://ertl.jp/~shinpei/conf/ospert13/slides/FredericWeisbecker.pdf |
Line 20: | Line 13: |
The following tasks are listed in the increasing order of complexity: |
The following tasks are listed in the increasing order of complexity. == Please note that the same task can be claimed by more than one intern == |
Line 26: | Line 19: |
Line 29: | Line 21: |
Download the ebizzy benchmark from http://sourceforge.net/projects/ebizzy/. Compile and run this benchmark a few times. You must see consistent results. Record the number of records read. Download the powertop utility and run it while running the benchmark. Record the %time spent in different idle states. |
Download the ebizzy benchmark from http://sourceforge.net/projects/ebizzy/. Compile and run this benchmark a few times. You must see consistent results. Record the number of records read. Download the powertop utility and run it while running the benchmark. Record the %time spent in different idle states. |
Line 34: | Line 25: |
Line 37: | Line 27: |
Configure two different kernels, one with NO_HZ_IDLE=y and NO_HZ_FULL=y and another with NO_HZ_IDLE=y and NO_HZ_FULL=n. Boot each of these kernels and perform the following test on each. |
|
Line 40: | Line 28: |
Run the same ebizzy benchmark but this time bind the ebizzy benchmark to one cpu using taskset and use irqbalance to direct all interrupts away to another cpu. Run the benchmark a few times until you see consistent results. Record the number of records read. While you run the benchmark, measure the LOC interrupts (Timer interrupts) received in each of the kernels. | git://git.kernel.org/pub/scm/linux/kernel/git/frederic/dynticks-testing.git. Clone this archive. |
Line 42: | Line 30: |
Now compare the records read in each of the above kernels and conclude which performs better and why. | Run this on two different kernels. The first kernel should be compiled with CONFIG_NO_HZ_IDLE = y in the config file and the second kernel compiled with CONFIG_NO_HZ_FULL = y. |
Line 44: | Line 32: |
== Challenge Problem 3 == Boot the vanilla kernel with the default configuration. git://git.kernel.org/pub/scm/linux/kernel/git/frederic/dynticks-testing.git Clone this archive and follow the instructions in the README file. This test procedure will produce a trace that will allow you to evaluate whether or not you have succeeded in removing OS jitter from your system. As for the workload, run the ebizzy benchmark with two different values for chunk size. Let the first be the default value, while the second be 4096. Compare the traces of both these runs and let us know which of them has the most OS jitter and why. You can use utilities such as top, perf top to observe the system during benchmark runs. They will help you understand the results better. |
|
Line 55: | Line 35: |
== Contact Info == You can email me at: preeti@linux.vnet.ibm.com |
|
Line 56: | Line 38: |
== Contact Info == You can email me at: preeti@linux.vnet.ibm.com |
About Me
I am a Linux Kernel Developer working at IBM, Linux Technology Center, India. I work in the area of CPU Power Management, specifically enabling deep CPU Idle states and improving the CPU Frequency subsystem on IBM POWER platforms. I have been involved in the discussions around Power Aware Scheduling in the kernel community where we are trying to improve the power efficiency of the kernel. Of late I have been reviewing patches around Dynamic Ticks and am keenly interested in the Full Dynamic Ticks Infrastructure.
Project Details
References
The chapter on "Time Management" at http://www.e-reading.link/bookreader.php/142109/Professional_Linux_kernel_architecture.pdf
Status of Linux Dynamic Ticks: http://ertl.jp/~shinpei/conf/ospert13/slides/FredericWeisbecker.pdf
Tasks
The following tasks are listed in the increasing order of complexity.
Please note that the same task can be claimed by more than one intern
To begin with, download the vanilla kernel.
Challenge Problem 1
Configure two different kernels, one with NO_HZ_IDLE=y and another with NO_HZ_IDLE=n. Boot each of these kernels and perform the following test on each.
Download the ebizzy benchmark from http://sourceforge.net/projects/ebizzy/. Compile and run this benchmark a few times. You must see consistent results. Record the number of records read. Download the powertop utility and run it while running the benchmark. Record the %time spent in different idle states.
Now compare the records read and %time spent in different idle states in both the above kernels and conclude as to which of the two has a better power efficiency.
Challenge Problem 2
git://git.kernel.org/pub/scm/linux/kernel/git/frederic/dynticks-testing.git. Clone this archive.
Run this on two different kernels. The first kernel should be compiled with CONFIG_NO_HZ_IDLE = y in the config file and the second kernel compiled with CONFIG_NO_HZ_FULL = y.
This page will be updated with more tasks soon.
Contact Info
You can email me at: preeti@linux.vnet.ibm.com
My IRC handle is preeti