Page 226 -
P. 226
194 CHAPTER 6 / EXTERNAL MEMORY
Suppose that the remaining tracks can now be read with essentially no seek
time. That is, the I/O operation can keep up with the flow from the disk. Then, at
most, we need to deal with rotational delay for each succeeding track. Thus each
successive track is read in 2 + 4 = 6 ms.To read the entire file,
Total time = 10 + (4 * 6) = 34 ms = 0.034 seconds
Now let us calculate the time required to read the same data using random
access rather than sequential access; that is, accesses to the sectors are distributed
randomly over the disk. For each sector, we have
Average seek 4 ms
Rotational delay 2 ms
Read 1 sectors 0.008 ms
6.008 ms
Total time = 2500 * 6.008 = 15020 ms = 15.02 seconds
It is clear that the order in which sectors are read from the disk has a tremen-
dous effect on I/O performance. In the case of file access in which multiple sectors
are read or written, we have some control over the way in which sectors of data are
deployed. However, even in the case of a file access, in a multiprogramming environ-
ment, there will be I/O requests competing for the same disk. Thus, it is worthwhile
to examine ways in which the performance of disk I/O can be improved over that
achieved with purely random access to the disk.This leads to a consideration of disk
scheduling algorithms, which is the province of the operating system and beyond the
scope of this book (see [STAL09] for a discussion).
RAID Simulator
6.2 RAID
As discussed earlier, the rate in improvement in secondary storage performance has
been considerably less than the rate for processors and main memory. This mis-
match has made the disk storage system perhaps the main focus of concern in im-
proving overall computer system performance.
As in other areas of computer performance, disk storage designers recognize
that if one component can only be pushed so far, additional gains in performance
are to be had by using multiple parallel components. In the case of disk storage,
this leads to the development of arrays of disks that operate independently and in
parallel. With multiple disks, separate I/O requests can be handled in parallel, as
long as the data required reside on separate disks. Further, a single I/O request

