< previous page page_289 next page >

Page 289
0289-01.gif
Figure 5.23
Miss occurrence and task switches.
the next time control is passed to a particular task. It is here that these two environments differ.
Requests for I/O involve transmission of blocks of data to and from main memory to an external device. When an I/O device is read, its data cannot simply be placed in memory without checking the cache. Otherwise, the cache would have a stale copy of those lines written in memory by the I/O device. Similarly, on an I/O write with a copyback cache, the cache directory must be checked to ensure that memory has an updated image of the lines to be transmitted to the I/O device. In a write-through cache, memory writes to I/O devices need not be checked with the cache. I/O creates additional memory traffic and cache traffic, amplifying the cache miss rate. The effect of I/O on the cache read miss rate is dependent largely on the I/O rate:
0289-02.gif
Historically, it has been assumed that I/O rates for typical scientific and batch processing environments vary from about 0.03 to 0.05, rising to perhaps as much as 0.10 for commercial transaction processing environments. Data from Smith [259] on the effects of I/O rates on cache indicate that I/O amplifies the role of the miss rate from about 1.1 to almost two times the unity reference rate.
We regard I/O as part of the systems activity already incorporated into the earlier discussion on systems effects. This ought to be accurate for most environments, especially scientific single-user environments. I/O simply acts as an additional process in the system. If this process is not large with respect to the system, it can be considered to be nearly an extension of system activity. This would be the expected outcome for a scientific and single-user environment. On the other hand, for multi-user environments, the I/O represents simply one additional process. For large-scale multiple process or multiprogrammed (multitransaction) commercial systems, the addition of one more process in a system that already has perhaps 10 processes (MP = 10) should not alter the performance predicted by Figure 5.24. For the special case of a commercial user with a single process and a large expected I/O rate, a designer may treat this as an additional user process (MP = 2) and use appropriate data such as in Figure 5.25.
In the multiprogrammed environment, control passes back to a task that has already once resided in the cache. If the cache is big enough and there are few enough tasks, the cache may still contain a portion of the working set of a newly reactivated task. In a multiprogram environment, if tasks

 
< previous page page_289 next page >