The previous section showed that good sequential performance is easy to obtain with individual IDE drives. Figure 28 shows unbuffered sequential throughput of two IDE drives connected to a 3ware controller. The drives were bound together into a logical volume using Win2K’s software striping.
For sequential workloads, Figure 28 shows that two drives double read throughput and nearly double write throughput. Reads peaked out at 39MBps while writes peaked at 35MBps. As Figure 28 indicates, request depths of four or eight are required to achieve the throughput offered by the second drive. Increasing the number of requests outstanding enables additional parallelism in the system. With only one request outstanding, only one drive is active at a time, effectively serializing requests. The exception to this rule is one-deep requests larger than 64KB in size. NTFS breaks such large requests into 64KB chunks that are then distributed among the drives. Consequently, 128KB and 256KB requests show the greater throughput of deeper requests as Win2K is dividing the large requests into multiple 64KB requests and issuing them concurrently.
|
| Figure 28 – Win2K 2 disk IDE software RAID0 throughput. Performance at two disks scales nearly linearly with the addition of a disk with reads peaking at 39MBps and writes at 36.5MBps. In order to take advantage of the parallelism offered by the second drive, deeper requests are required. |
One of the features provided by the 3ware card is hardware striping. As Figures 28 and 29 show, the sequential throughput attained through 3ware’s hardware striping is almost identical to that of Win2K’s built-in software striping. The only difference between the two was at one-deep, 64KB requests. For 64KB requests, Win2K had a throughput of 20MBps for both reads and writes, while the 3ware showed a throughput of 30MBps. This implies at one-deep 64KB requests, Win2K is still only accessing one disk at a time.
|
| Figure 29 – Win2K 2 disk IDE hardware RAID0 throughput. 3ware’s hardware striping shows similar performance to Win2K’s software striping. Requests smaller than 64KB show decreased throughput since the stripe chunk size is 64KB. Multiple requests must be issued to a single disk before moving on to the next disk in the stripe. |
Figure 30 shows the unbuffered overhead for both hardware and software RAID0. Both hardware and software RAID0 have similar processor cost per MB. RAID0 had a fixed cost of 57s, and a marginal cost of .46s per KB read and .52s per KB written.
|