The I/O requests on
desktop platforms exhibit the principle of
locality much more strongly than servers - namely, that the requests are very close to one another in terms of location on disk. (Read Hannibal's article on
CPU Caching and Performance∞ for a more general introduction to the concept). Surprising as it sounds, analysis has shown this to be true of both traditional "productivity" apps and high-end content creation packages, though obviously the latter benefit more from STR. Basically, some random accesses are more random than others.
What's the significance? Good things: the access-time penalties imposed by ATA drives aren't as severe on the desktop since the seeks are very close together. (That disk geometries aren't actually "flat" under the hood doesn't affect this fact, since sectors are still for the most part numbered from outside->in). OS's and tools are often smart enough to exploit these patterns, placing the most commonly-accessed files where they can be reached quickest. Windows XP's optimized bootup adheres to this principle, as do many defragging programs; NTFS filesystems place a copy of the MFT in the middle of a drive where it's likely to be near the most recent access.
Moreover, it's possible to optimize firmware algorithms and cache architectures to match these applications. Since they're the target of the ATA drive market, such optimizations are most readily found among ATA drives, most notably Western Digital's -JB "Special Edition" series. A legitimate question is often raised: the NT and Linux kernel teams have lots of very smart people and hundreds of megabytes of RAM to work with, so what good does another measly 8MB bring us? The answer lies in the fact that HD firmware can be tailored to the specific physical layout of the drive instead of an indistinguishable block of sectors. Coupled with tagged command queuing, the firmware can reshuffle commands so that the drive heads don't have to move from cylinder to cylinder as often, storing the intermediate values in the buffer. This one trick alone is probably why companies have limited "special edition" features to the flagship drives of each areal-density generation, since it relies on having several platters.
[these sentences would really benefit from a couple Hannibal-style diagrams, but I can't draw to save my life...if the powers that be want to turn this section into a mini-article, they'll have to point me in the direction of some clip-art or something...]
The net result has a significantly higher percentage of reads and writes being returned at full buffer-to-interface speed (100MB/s+ these days), with
less latency on average --
if the locality gamble pays off. Sure enough, the -JB drives lag slightly behind their -BB brethren in server benchmarks that emphasize 100% random I/O.
In short, the ATA vs. SCSI vs. RAID conclusions I reach in the rest of the article shouldn't be taken as anything resembling gospel when it comes to "will an 8-drive IDE array / Seagate X15-36LP make MS Word go faster?" As any student of computer science will tell you: "it depends."
random, ego-stroking forum links whose content I might include somehow:
#1∞
#2∞
There are no comments on this page. [Add comment]