< previous page page_630 next page >

Page 630
The Crisis in I/O
The crisis in I/O has been anticipated for some time, based upon the increasing performance of processors in the face of relatively static improvement in disk access time. This crisis has generally failed to develop, at least in the time frame it was expected to. There are a number of contributing factors to this:
1. The use of multiple disks to improve disk accessing bandwidth.
2. The use of disk cache buffers to reduce the I/O traffic to the disk storage system.
3. The use of more sophisticated I/O management techniques, including I/O processors and storage controllers.
4. The judicious use of multiprogramming in the processor.
It will require the continuing use of all of the preceding techniques, perhaps with additional techniques, to keep the crisis "wolf" from the door of the system designer.

9.4.5 Improving I/O Response and Capacity
To execute a program the processor fetches several logical data blocks from I/O that contain static program representation and data required during program execution. These data blocks consist of multiples of the disk block, which is the minimum transfer unit of the disk system. To some degree, larger block transfers reduce the number of I/Os required during program execution. With typical current systems, there is general usage for data block sizes of 4KB.
In order to avoid saturation effects, the designer can use multiprogramming with n logically independent processes. Partitioning the memory space to accommodate a multiprogrammed environment is a mixed blessing. Each process effectively has a smaller memory space. This increases the number of I/Os required to manage the working set for each program in a virtual memory system. It is very easy to create a system wherein increasing the number of active tasks decreases the overall performance as the virtual memory system begins to thrash. This is illustrated in study 9.4.
Study 9.4 Multiprogramming and Virtual Memory Effects
To illustrate the effects of multiprogramming and the resultant reduction of effective memory space on an I/O system, let us reconsider study 9.2(b). In that study, we had n = 2 (two active processes in the processor); the disk service time was 20 ms, and the processor request interarrival time was 12.5 ms. This was partitioned as:

 
< previous page page_630 next page >