|
Over the past few decades, the processor and main memory speeds had increased by about two orders of magnitude compared to one order of magnitude for disk. The result is that disks are currently at least four orders of magnitude slower than main memory. Disk storage system’s performance had thus become a major point of concern these days.
Disk performance parameters
The actual details of disk I/O operation depend on the computer system, the operating system, and the nature of the I./O channel and disk controller hardware.
When the disk drive is operating, the disk is rotating at constant speed. To read or write, the head must be positioned at the desired track and at the beginning of the desired sector on that track. On a movable-head system, the time it takes to position the head at the track is known as ‘seek time’. The time it takes the beginning of the sector to reach the head is known as ‘rotational delay’, or ‘rotational latency’. The sum of seek time, if any, and the rotational delay is the access time, i.e. the time it takes to get into position to read or write. Once the head is in position, the read or write operation is then performed as the sector moves under the head; this is the data transfer portion of the operation.
In addition to the access time and transfer time, there are several queuing delays normally associated with a disk I/O operation. When a process issues an I/O request, it must first wait in a queue for the device to be available. At that time, the device is assigned to the process. If the device shares a single I/O channel with other disk drives, then there may be an additional wait for the channel to be available. At that point the seek is performed to begin disk access.
In some mainframe systems, a technique known as rotational position sensing (RPS) is used. This work as follows: When the seek command has been issued, the channel is released to handle other I/O operations. When the seek is completed, the device determines when the data will rotate under the head. As that sector approaches the head, the device tries to reestablish the communication path back to the host.
Disk Scheduling policies
The probable reasons for performance differences can be traced to seek time. If sector access requests involve selection of tracks at random then the performance of the disk I/O system will be as poor as possible. For improvement, reduction is needed in average time spent on seeks.
Considering the typical situation in a multiprogramming environment, in which operating systems maintains a queue of request for reach I/O device. So for a single disk, there will be number of I/O requests (reads and writes) from various processes in the queue. If we selected items from the queue in random order, then we can expect that the tracks to be visited will occur randomly, giving the worst possible performance. This random scheduling is useful as a benchmark against which to evaluate other techniques. First-in-first-out (FIFO) scheduling wherein queue items are processed in sequential order is one such simple and efficient scheduling technique. This strategy has the advantage of being fair, because every request is honored and the requests are honored in the order received.
Priority
With a system based on priority (PRI), the control of the scheduling is outside the control of disk management software. Often short batch jobs and interactive jobs are given higher priority than longer jobs that require longer computation. This allows a lot of short jobs to be flushed through the system quickly and may provide good interactive response time. However longer jobs may have to wait excessively long times. This type of policy tends to be poor for database systems.
|