dcsimg

2.6.33 is Out! Say Good Bye to the Anticipatory Scheduler

It's been a few days but the latest kernel, 2.6.33 is out. There are some changes that affect the storage world that you probably need to check out.

2.6.33 Anticipatory Scheduler

As mentioned in a previous article a great place to start learning about new features of the latest kernels is Kernel Newbie site. Kernel newbies has a nice review of the latest kernel, 2.6.33. There are a few things around storage that I want to point out.

The biggest thing is that the anticipatory IO scheduler. In a fairly recent article I did a quick glance at the IO schedulers in the kernel. One of them is called the Anticipartory Scheduler that anticipates subsequent block requests and caches them for use. Putting on your storage expert hat one can see that the anticipatory scheduler works really well for certain workloads. For example it has been observed that the Apache web server may achieve up to 71% more throughput using the anticipatory IO scheduler. On the other hand, it has been observed that the anticipatory scheduler has caused up to a 15% slowdown on a database run.

So the anticipatory IO schduler was a mixed bag overall, helping some workloads and hurting others. In the 2.6.33 kernel, Linus decided that the CFQ (Completely Fair Queue) Scheduler had a broad range of capabilities beyond the desktop to include servers, so the anticipatory scheduler was removed from the 2.6.33 kernel.

If you were using the anticipatory controller be sure to do some testing with the CFQ scheduler on the 2.6.33 kernel before rolling it out in production.

Block IO Controller

Many people may be aware of the ability to “throttle” network bandwidth or assign priorities to network traffic. This can be used to allocate resources to various applications to ensure that they have some sort of Quality of Service (QoS). But there isn’t really anything similar for IO.

In the new 2.6.33 kernel, there was a new IO controller added. The Block IO Controller allows the creation of proportional-weight time division of disk policy using the CFQ IO scheduler. A short but reasonable introduction to it is here and the commit for the controller is listed here.

What the Block IO Controller allows you to do is have better control over how much IO bandwidth (performance) various applications within the CFQ Scheduler can have. However, I think it will be a while until people have a feel for how the Block IO Controller interacts with the CFQ IO Scheduler. In the meantime keep an eye out for people experimenting with controller.

Comments on "2.6.33 is Out! Say Good Bye to the Anticipatory Scheduler"

stosss

\”… In a article…\” where did you learn to write English?

If the word following begins with a vowel sound, the word you want is “an”: “Have an apple, Adam.” If the word following begins with a consonant, but begins with a vowel sound, you still need “an”: “An X-ray will show whether there\’s a worm in it.” It is nonstandard and often considered sloppy speech to utter an “uh” sound in such cases.

The same rule applies to initialisms like “NGO” (for “non-governmental organization”). Because the letter N is pronounced “en,” it’s “an NGO” but when the phrase is spoken instead of the abbreviation, it’s “a non-governmental organization.”

When the following word definitely begins with a consonant sound, you need “a”: “A snake told me apples enhance mental abilities.”

Note that the letter Y can be either a vowel or a consonant. Although it is sounded as a vowel in words like “pretty,” at the beginning of words it is usually sounded as a consonant, as in “a yolk.”

Words beginning with the letter U which start with a Y consonant sound like “university” and “utensil” also take an “a”: “a university” and “a utensil.” But when an initial U has a vowel sound, the word is preceded by “an”: it’s “an umpire,” “an umbrella,” and “an understanding.”

http://www.wsu.edu/~brians/errors/a.html

Reply
josht

@stosss:

You\’re basing your entire post on attacking the author\’s writing, yet you begin by using incorrect punctuation and/or capitalization? Besides, in context he probably meant to say \”a previous article\” and left the word out by accident.

Reply
laytonjb

I always wonder about people who complain about spelling mistakes or grammar errors or something of a similar nature. On one hand they are correct because they are mistakes. On the other hand, they actually didn\’t read the article – they just looked at it from a perspective of a 4th grade English teacher. I wonder about people who become so focused on a singular topic that they miss everything going on around them. An analogy is someone who travels to Machu Picchu and complains that the steps aren\’t straight. Or perhaps someone who travels to the Pyramids and complains that the vendors who \”rent\” camels aren\’t washing their hands after touching the camels mouths (as a quick aside, I\’m not comparing what I write to Machu Picchu or the Pyramids).

People with these tendencies are important because they ensure that we maintain standards but at the same time I worry that they are missing many of the glorious things in life.

But then again, it was just a quick update on a new kernel so I didn\’t bother to spell check. I assume by the reaction that these updates are not important unless they meet the standards of \”A Dictionary of Modern English Usage\”. Enjoy this one – it\’s likely to be the last.

Jeff

Reply
golding

I think the spell police forget that many (most?) writers for Linux are probably using \’engrish\’ as a second/third language.

So Jeff, please ignore them and continue your contributions, I for one, completely missed that the 2.6.33 had removed the Anticipatory Scheduler and am glad you have written it up.

Reply

Outstanding post however I was wondering if you could write a litte more on this topic? I’d be very grateful if you could elaborate a little bit more. Thanks!

Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>