In Section 3.1, we explained the difference in the
preemptibility of read and write IO requests and introduced the notion
of external waiting time. Table 3 summarizes
the effect of external waiting time on the preemption of write IO
requests. The arrival rate of higher-priority requests is set to req/s.
As shown in Table 3, the average response time
for higher-priority requests for write experiments is several times
longer than for read experiments. Since the higher-priority requests
have the same arrival pattern in both experiments, the average seek
time and rotational delay are the same for both read and write
experiments. The large and often unpredictable external waiting time
in the write case explains these results.
Table 4 presents the results of our experiments
aimed to find out the effect of write IO preemption on the average
response time for higher-priority requests and disk write throughput.
For example, in the case of kB write IO requests, the disk can
buffer multiple requests, and the write-back operation can include
multiple seek operations. Semi-preemptible IO succeeds in reducing external
waiting time and provides substantial improvement in the response
time. However, since the disk is able to efficiently reorder the
buffered write requests in the case of non-preemptible IO, it achieves
better disk throughput.
For large IO requests, Semi-preemptible IO achieves write throughput
comparable to that of non-preemptible IO.
We suggest that write preemption can be disabled when maintaining high system
throughput is essential, and the disk reordering is useful
(reordering could also be done in the operating system scheduler using the
low-level disk knowledge).
|