•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the Kernels and Modules section within the Tech Talk category of DaniWeb, a massive community of 427,159 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 1,884 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Kernels and Modules advertiser: Lunarpages Linux Web Hosting
Views: 14385 | Replies: 2
![]() |
•
•
Join Date: Mar 2004
Location: London, Ontario, Canada
Posts: 54
Reputation:
Rep Power: 6
Solved Threads: 5
By: Jeff Johnston
IO Scheduling Improvements
Thanks to a new IO scheduler in Linux Kernel 2.6 it is possible to achieve speed increases on standard desktop style workloads of up to 1000% according to Andrew Morton of Open Source Development Labs (OSDL). The speed increase is thanks to the wait-before-seek function of the anticipatory scheduler that is one of two IO scheduling policies in kernel 2.6. The two scheduling systems were benchmarked against each other on a variety of diffent builds and systems by OSDL and you can see the results here.
Anticipatory Scheduler (AS)
The Anticipatory Scheduler attempts to anticipate future read requests from processes. Linus Torvalds, original creator of Linux, told me "Basically, the anticipatory scheduler maintains some per-process statistics to try to guess whether there will be another dependent read 'soon'" and if the algorithm guesses that there will be another read access it will wait before returning to process the next request. This significantly decreases the back and forth seeking under some loads. The wait-before-seek enables one process to perform several similar reads in rapid succession without having to send the drive head back and forth repeatedly. It is using the AS that Morton experienced 1000% speed increases.
Deadline Scheduler
This 1000% speed increase is only on standard desktop type work loads, but there is a way to get increased performance for database servers and high disk performance systems. As mentioned earlier the anticipatory scheduler is just one of two scheduling policies on kernel 2.6, the other is the deadline scheduler. Morton claims "the deadline scheduler is faster for the short-and-seeky style database workloads (sometimes by up to 15%)". This new multi-queue method allows for greater interactivity by giving the read requests a better deadline than write requests thus ensuring that applications will rarely be delayed by read requests.
Affects on Advanced Filesystems
Hans Reiser, the lead developer for reiserfs, told me that while the upcoming release, reiser4, does not take advantage of any of the improvements in the IO scheduler "some tests we did suggest that Reiser4's allocate on flush makes it MUCH more efficient for multiple streams of I/O". He went on to say that there is discussion about adding file plugins that obey real time constraints and utilize scheduler plugins, but at this point it has not progressed beyond the discussion phase.
Stephen Tweed of Red Hat's Kernel Development team said that while the IO scheduling improvements in 2.6 had no direct effect on ext3 "There are many performance improvements in ext3 in 2.6 which are independent of the IO scheduling changes. In particular, the SMP locking is vastly improved, increasing scalability on large machines; and there is support for 'htree' indexed directories,
providing much better performance on large directories."
IO Scheduling Improvements
Thanks to a new IO scheduler in Linux Kernel 2.6 it is possible to achieve speed increases on standard desktop style workloads of up to 1000% according to Andrew Morton of Open Source Development Labs (OSDL). The speed increase is thanks to the wait-before-seek function of the anticipatory scheduler that is one of two IO scheduling policies in kernel 2.6. The two scheduling systems were benchmarked against each other on a variety of diffent builds and systems by OSDL and you can see the results here.
Anticipatory Scheduler (AS)
The Anticipatory Scheduler attempts to anticipate future read requests from processes. Linus Torvalds, original creator of Linux, told me "Basically, the anticipatory scheduler maintains some per-process statistics to try to guess whether there will be another dependent read 'soon'" and if the algorithm guesses that there will be another read access it will wait before returning to process the next request. This significantly decreases the back and forth seeking under some loads. The wait-before-seek enables one process to perform several similar reads in rapid succession without having to send the drive head back and forth repeatedly. It is using the AS that Morton experienced 1000% speed increases.
Deadline Scheduler
This 1000% speed increase is only on standard desktop type work loads, but there is a way to get increased performance for database servers and high disk performance systems. As mentioned earlier the anticipatory scheduler is just one of two scheduling policies on kernel 2.6, the other is the deadline scheduler. Morton claims "the deadline scheduler is faster for the short-and-seeky style database workloads (sometimes by up to 15%)". This new multi-queue method allows for greater interactivity by giving the read requests a better deadline than write requests thus ensuring that applications will rarely be delayed by read requests.
Affects on Advanced Filesystems
Hans Reiser, the lead developer for reiserfs, told me that while the upcoming release, reiser4, does not take advantage of any of the improvements in the IO scheduler "some tests we did suggest that Reiser4's allocate on flush makes it MUCH more efficient for multiple streams of I/O". He went on to say that there is discussion about adding file plugins that obey real time constraints and utilize scheduler plugins, but at this point it has not progressed beyond the discussion phase.
Stephen Tweed of Red Hat's Kernel Development team said that while the IO scheduling improvements in 2.6 had no direct effect on ext3 "There are many performance improvements in ext3 in 2.6 which are independent of the IO scheduling changes. In particular, the SMP locking is vastly improved, increasing scalability on large machines; and there is support for 'htree' indexed directories,
providing much better performance on large directories."
=====================
If you have a question for the monthly column Computer Geek email Jeff at: geek@bizwriter.biz
Jeff Johnston is a Computer Technician for The London Transit Commission in London Ontario. He is also a writer and editor in chief of The Business of Writing
Ask The Computer Geek can be read at Families On Line Magazine
=====================
Jeff Johnston
Freelance Writer & Computer Geek Extraodinare
Editor-in-Chief
The Business of Writing
Writer
Families On-Line Magazine
NewsFactor
If you have a question for the monthly column Computer Geek email Jeff at: geek@bizwriter.biz
Jeff Johnston is a Computer Technician for The London Transit Commission in London Ontario. He is also a writer and editor in chief of The Business of Writing
Ask The Computer Geek can be read at Families On Line Magazine
=====================
Jeff Johnston
Freelance Writer & Computer Geek Extraodinare
Editor-in-Chief
The Business of Writing
Writer
Families On-Line Magazine
NewsFactor
•
•
Join Date: Nov 2003
Location: Rio de Janeiro - Brasil
Posts: 30
Reputation:
Rep Power: 5
Solved Threads: 2
![]() |
•
•
•
•
•
•
•
•
DaniWeb Kernels and Modules Marketplace
•
•
•
•
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
•
•
•
•
apple bbc cd cellphone choose code computer core debian dell desktop development drivers enterprise fedora fiji games gentoo gpl hardware ibm infrastructure install kernel laptop linux marketing microsoft mobile news novell open open source openoffice operating os palm preinstall red hat rhel security server source sun system ubuntu unix vista web windows
- What's better? Windows 2000 Server or Linux Server? (Windows Servers and IIS)
- linux FFS kernel support (Getting Started and Choosing a Distro)
- how can i reduce my ethernet card speed to 10 half duplex in linux (PCI and Add-In Cards)
Other Threads in the Kernels and Modules Forum
- Previous Thread: Linux Programming
- Next Thread: kernel


Linear Mode