KernelTrap has an interview with Nick Piggin, a college student living in Canberra Australia who has been working on an anticipatory I/O scheduler for the Linux kernel.
When a process reads data from a disk, the default “deadline” I/O scheduler can offer poor performance if a streamed write is happening at the same time. The reason is that many read operations require multiple reads, each reporting a result back before the next can be scheduled. Thus, each of these reads has to wait behind a queue of writes, resulting in the aforementioned performance problem. The anticipatory scheduler solves this problem nicely by pausing for a few milliseconds after each read, “anticipating” the next read request. Read the interview for a full explanation.
but not as exciting as the RMAP VM and the new O(1) Proc scheduler
🙂
I’d argue that its just as cool. Even as a desktop user I noticed an increase in responsiveness while launching apps and then clicking on something or switching between apps. Its very apparent. If it makes a heavily loaded server all the more responsive then kickass. What makes 2.6 so exciting to me is the sum total of the changes, all together, will make it a really amazing release. All sorts of weaknesses are being tackled at once. The scheduler, disk i/o, async i/o, the vm, networking even further polished, ACPI, NUMA, etc etc. I cannot wait!