Network access to local and remote files has high overhead and some serious performance problems. The good news is that using Gigabit Ethernet, a client can read at nearly 40MBps from a server and can write at half that rate. But there are many irregularities in the performance curves, and the overheads are quite high.
Thanks go to Maurice Franklin for allowing us to use some of his code as our primary test program. Maurice Franklin and Bruce Worthington also deserve thanks for allowing us to consult them with our questions.
Thanks also to Jim Gemmell and Don Slutz for giving us a better understanding of Windows 2000. Jim Gemmell also helped us better understand disk caching and scheduling algorithms.
[Horst] Horst, Robert, “TwinStor Technology: A Compelling Case for Multiple Drives in PCs, Servers, and Workstations,” 3ware Technical Report TR-1999-2, 1999. http://www.3ware.com/products/TwinStor.pdf
[Nagar] Nagar, Rajeev. Windows NT File System Internals: A Developer’s Guide. Sebastopol, CA: O’Reilly & Associates, 1997.
[Rambus] Rambus Based Products Benchmarks. http://www.rambus.com/products/products_benchmark_840.html [Riedel] Riedel, Erik, Catherine van Ingen, and Jim Gray. “A Performance Study of Sequential IO on WindowsNT 4.0,” Microsoft Research Technical Report MSR-TR-97-34, 1997.
[ZD] Ziff Davis WinBench 99 Benchmark. http://www.zdnet.com/zdbop/stories/main/0,8829,2326114,00.html [Hennesy&Patterson] Hennessy, John L. and David A. Patterson. Computer Architecture: A Quantitative Approach. Palo Alto, CA: Morgan Kaufmann Publishers Inc., 1990.
[Richter] Richter, Jeffery. Advanced Windows: The developer’s Guide to the Win32 API for Windows NT 3.5 and Windows 95. Redmond, WA: Microsoft Press, 1995.
[Solomon] Solomon, David A. Inside Windows NT Second Edition. Redmond, WA: Microsoft Press, 1998.
1 Vendors typically quote internal and external data rates, which are burst rates. These can’t necessarily be directly correlated to sustained throughput, however the internal data rate is generally the number closest to being an actual advertised throughput.
2 We had initially intended to test the Promise FastTrak66 IDE RAID card in addition to the 3ware card, but were unable to do so. Although the FastTrak66 functioned correctly as a basic UltraATA/66 IDE controller, we were unable to use the RAID features offered by the card on Windows 2000. We were unable to do even basic operations such as formatting of RAID volumes within Win2K. Promise’s technical support told us Windows2000 is not yet supported. They are currently working on these problems, but the fixes were not yet available.
3 Write Cache Enable(WCE) is a drive parameter that allows the drive to acknowledge completion of a write without actually writing the bits to disk. Instead, the bits are held within the drive’s cache, allowing it to schedule, coalesce, and otherwise optimize the write requests to improve throughput. WCE improves write performance at the cost of reliability: if power to the drive is lost, then the contents of the controller cache are lost and the bits are never written to disk. This can lead to data corruption. However, software can force individual requests to be written to the media for operations that could otherwise cause data corruption after loss of power.