- Which programs should the programmers be trained to use more efficiently? Or which programs provide the highest opportunity for better human interface? The programs with a high percentage of total elapsed time provide the best opportunity for training as well as better human interface. For example, the data indicated that one-third of the active time in universities was being spent editing. The universities may be able to improve productivity by training their users in efficient use of the editors.
- Which programs are good candidates for code optimization? Or which programs should be included in a workload to be used in analyzing a new CPUs performance? The programs with a high percentage of total CPU time will have the highest impact on CPU usage. For developers, these programs offer the opportunity for code optimization. For analysts, these programs provide the programs to be included in their workloads for CPU analysis. In the observed data, the programs with a high percentage of total CPU time were mostly compilers and editors.
- Which programs offer the highest opportunities for code restructuring to minimize the page faults? The programs with a high percentage of total page faults, a high percentage of total page-read operations, or a high percentage of total pages read provide opportunities for the highest impact on page-read operations. These programs do not necessarily have poor paging behavior. However, even a small improvement in their paging behavior will have a significant impact on the system.
- Which programs have a poor locality of reference? The programs with high page faults per CPU second have a poor locality of reference. These programs might benefit from code restructuring. However, given a set of limited resources, greater benefits at the system level would be obtained by restructuring programs with a high percentage of total page faults.
- How many jobs can run simultaneously without undue performance degradation? The CPU rate (CPU time per second) as observed on a system with desired performance can be used to calculate the number of simultaneous users provided the program is compute bound. For non-compute-bound programs, the device with the highest utilization determines the number of supportable users.
- Which programs are I/O bound? The programs with high disk I/Os per CPU second generally impose more load on the disk than on the CPU. These programs are I/O bound, and their performance depends critically on the performance of the disk. Such programs are good candidates for I/O optimization.
The following case study illustrates the type of information that can be obtained from accounting logs.
- Case Study 8.1 This case study illustrates the application of accounting logs. The data was collected at six different universities for a period of 6 months. There was a variety of types of installations: instructional, research, and administrative. Several installations had substantial use in more than one category. Two interesting observations from the data were as follows:
- 1. There are more disk reads than writes. Similarly, there are more terminal writes than reads. The ratios of reads to writes were as follows:
For Disk I/O
|
Number of writes
| to number of reads
| 1:3
|
Size of writes
| to size of reads
| 1:2.5
|
Total write bytes
| to total read bytes
| 1:7.5
|
For Terminal I/O
|
Number of writes
| to number of reads
| 2:1
|
Size of writes
| to size of reads
| 4:1
|
Total write bytes
| to total read bytes
| 8:1
|
Although the ratios may be different for other environments, the following inequalities should generally hold:
Number of disk writes < Number of disk reads
Size of disk writes < Size of disk reads
Number of terminal reads < Number of terminal writes
Size of terminal reads < Size of terminal writes
-
The argument is as follows. Disk reads are performed automatically by the computer. Disk writes, on the other hand, require either the creation of new information or modification of the old information. Human intervention is generally required. Humans read more and write less (be it a book or a memo or a data file). The creation of new information is therefore slow and always in smaller quantities than use of the old information. This reasoning, which is called the law of slow creation, explains why disk reads would be generally more frequent than disk writes and why disk reads would be larger in size than disk writes.
In the case of terminal reads and writes, a similar argument follows, although in reverse direction. Terminal writes are done automatically by the computer. Terminal reads, on the other hand, require human intervention. Thus, by the law of slow creation, terminal reads would be slower and smaller in size than terminal writes.
- 2. About one-third of user time was spent on editors. This clearly shows the importance of editing. At all installations, a substantial portion of the users time and system resources were devoted to editing. At installations making use of full-screen editors, the resource usage was considerably greater than at those using line-oriented editors. Since there appears to be a strong trend toward more extensive use of full-screen editors, it seems safe to assume that editing will continue to be a major workload ingredient and will probably even increase in importance. The educational institutions should therefore give good training to the students in using the editors. This will have significant impact on user productivity.
EXERCISE
- 8.1 Using accounting log data, how would you answer the following questions:
- a. Which programs should be used to analyze a new terminal concentrator?
- b. How many program X users can be supported with a given disk device?
- c. Is a benchmark representative?
- d. Which programs should be chosen for I/O optimization?