I/O Elevators


SUBMITTED BY: Guest

DATE: April 5, 2013, 10:10 p.m.

FORMAT: Text only

SIZE: 1.7 kB

HITS: 1454

  1. I/O Elevators
  2. Vista and XP both have, what kernel geeks call, disk I/O elevators. Drive elevators are i/o
  3. optimization strategies surrounding the physical head position of the drive. A good
  4. elevator will re-order I/O requests to transfer blocks near the last head position to the
  5. front of the queue, and re-order subsequent i/o's in close neighborhood chunks. This is
  6. much faster than FIFO when you have a multi millisecond head movement cost. On Vista/
  7. XP, both OS's will pause approximately 10ms between major head movements. This wait is
  8. designed to anticipate and satisfy any new i/o requests that may arise near the heads
  9. local position.
  10. These optimization are a boon in performance for 5400 and 7200 rpm hard drives but they
  11. will hold down the performance of SSDs. These optimizations will also negatively affect
  12. RAID arrays with battery backed-up cache, SAN's with large NVRAM cache.
  13. Windows Server 2003/2008 are optimized for SAN's and RAID arrays large nvram caches.
  14. These two OS's use i/o elevators that expect mulit-head arrays and are tilted toward FIFO
  15. scheduling with deadline, out of order algorithms.
  16. Linux gives you four io elevators. CFQ or completely fair queuing, Anticipatory (most
  17. analogous to XP/vista's), Deadline and FIFO.
  18. My tests have shown deadline and FIFO fly with SSD's.
  19. It stands to reason that windows 2000 lacks many of these head movement optimizations
  20. and thus perform better on SSD's than XP/Vista.
  21. A way to test this theory would be to run benchmarks on the server version of windows.
  22. 2000, 2003, 2008 server use I/O schedulers that are optimized for Caching RAID
  23. controllers and SAN with large NVRAM caches.

comments powered by Disqus