next up previous
Next: Mirroring and Striping Up: Eager-Writing Disk Arrays Previous: Eager-Writing Disk Arrays


Eager-writing

In a traditional update-in-place storage system, the addresses of the incoming I/O requests are mapped to fixed physical locations. In contrast, under eager-writing, to satisfy a write request, the system allocates a new free block that is closest to the current disk head position [4,6,28]; consequently, a logical address can be mapped to different physical addresses at different times.

A number of characteristics associated with eager-writing make it suitable for transaction processing applications. The chief advantages of eager-writing are excellent small write performance (in terms of both latency and throughput) and a high degree of reliability. The main component of the eager-writing latency is the time it takes for the closest free block to rotate under the disk head. Even at a relatively high disk utilization of 80% and a disk block size of 4 KB, this latency is well below 1 m$s$ and can be made even lower with lower disk utilization. Furthermore, the improvement of this latency scales with that of platter bandwidth, which is improving much more quickly than seek and rotational delays experienced by update-in-place systems. This performance advantage of eager-writing is particularly appealing to a TPC-C-like workload, which has a large percentage of small writes. By committing the data synchronously to the disk platter, eager-writing also achieves a high degree of data reliability, a degree of reliability that is unmatched by even NVRAM-based solutions, which typically have far worse mean-time-to-failure characteristics [13].

Of course, no storage system can cater to all workloads equally successfully, and eager-writing is certainly no exception. One example is frequent sequential reads following random updates--eager-writing would destroy locality during the random updates, thus resulting in poor sequential read performance. One possible remedy is periodic data reorganization that restores physical data sequentiality. Fortunately, such complications do not arise in TPC-C-like workloads, which are characterized by small reads and writes with little locality. Another difficulty that may arise with eager-writing is caused by an uneven distribution of free blocks. For example, if free blocks are concentrated in one part of the disk but the disk head is forced by read requests into regions with few free blocks, then a subsequent write may suffer a long delay. Fortunately, such complications do not arise with TPC-C-like workloads either. Indeed, the random writes of TPC-C cause the free blocks to be evenly distributed throughout the disk under eager-writing; this is desirable because a free block is never very far from the current head position.

In short, transaction processing workloads like TPC-C can benefit a great deal from the performance and reliability advantages offered by eager-writing, while the very nature of the workload allows it to avoid the performance pitfalls of eager-writing.


next up previous
Next: Mirroring and Striping Up: Eager-Writing Disk Arrays Previous: Eager-Writing Disk Arrays
Chi Zhang
2001-11-16