Thursday, May 12th 2005.... after 3 months of hard work, my writing about Staircase scheduler was finally finished. Certainly not an easy task, because previously I thought this would be a bit easier than what I had done for IBM DeveloperWorks publication. But it is proved to be totally false.....
But let's throw out the "pain side"......here are the "lovely side"
1. Understanding scheduler code better. I said "better", not 100% mastering it. By looking at the core code everyday, slowly but sure I gain insight on how kernel schedulers do their works. For example: how the scheduler maintains global statistics, how time slice is actually assigned, preemption policy, etc
2. Re-exercising my statistic skill. Statistics play important here, because it helps me to understand the behaviour of a scheduler in number. Although scheduler is made to tackle dynamic situation which is unpredictable and doesn't follow certain statistic distribution, we still need to quantify it using everything we got. No fancy stuff here, just plain average, standart deviation, exponential regression, and scaling.
3. Learning boot scripts sequence. Not hard, only a bit tricky. I only need to find out where to put commands to be executed after the moment Linux enter single user state.
4. Bash scripting. Eufhh, this is the first I combine tbe knowledge of two opposite worlds (kernel space and user space) and put them into a single job. Scripting does the magic here to automate my testing procedure. Anyway, who wants to sit for 4 hours just to wait and type commands after a single iteration of benchmark is done? Type them into scripts, do several try out....launch them, extract the result using "grep"...and kazaaammm, you get the results without pain in the ass :-) Isn't that great?
5. Intensive discussion with many people (mostly are kernel hackers). "Hackers" here are not someone who breaks into a website and buy something with other people's credit card. No, far from it. I am referring to a person who write codes and has deep understanding of an operating system. Since I was writing about scheduler, I contacted people who work on scheduler area. The most wanted hacker is Con Kolivas, of course. The rest are Jake Moilanen, Rick Lindsley, Zwane Mwaikambo. Too bad I missed Ingo Molnar.... From these intensive discussions, I try to merge their ideas with mine, get the best from both sides and throw the useless part and put them as "sentences".
6. Improving my English writing :-) "Practice makes perfect", that's what I heard, and that's what I was doing. You can say that I am kinda of man who learn almost 99% of his own skill purely from exercise and self learning. Surely theory is helpful, but what can we do if we just "know" without actually "understand" and "implement"?
Now, the article has been submitted...the only thing left is awaiting the editorial feedback. Previously, the technical editor had sent me "green light", meaning it had big chance to enter the printed version of the magazine. Great ! I wish once it is actually published, the readers will learn a bit more about schedulers and how to pick one according to their need.
And...next stop? I am thinking about ClusterWorld again..or Linux Magazine....