15.01.2013 Views

U. Glaeser

U. Glaeser

U. Glaeser

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

performance. Extensive lists of SPECmark89 results were reported [72]. Over time, people optimized their<br />

compilers to get uncharacteristically good performance from some parts of the benchmark. The SPEC<br />

consortium then created a new pair of benchmarks, SPECint92 and SPECfp92, using new application<br />

program code. The cpu92 benchmarks measured typical integer performance, typical of system programming<br />

and office uses of computers, and floating point performance typical of scientific computing. These<br />

benchmarks also used the VAX 11/780 = 1 as the base machine. As well, base and rate versions of the<br />

cpu92 benchmarks were defined. The base measures required using a single setting for the compilers for<br />

running the benchmarks, rather than optimizing the compiler for each component program. The rate<br />

benchmarks measured the throughput of the computer by running multiple copies of the programs and<br />

measuring the completion time. SPECrate is a good measure of performance for a multiprocessor system.<br />

Extensive results are available for SPECint92, SPECfp92, SPECint_base92, SPECfp_base92,<br />

SPECint_rate92, SPECfp_rate92, SPECint_rate_base92, and SPECfp_rate_base92 [73].<br />

SPEC released new versions of the CPU benchmarks in 1995 and in 2000 [71]. The new benchmark<br />

versions were created for two main reasons: to ensure that compiler optimizations for the older versions<br />

did not mask machine performance and to use larger programs that would exercise the cache memory<br />

hierarchy better. SPECint95 and SPECfp95 use the Sun SPARCstation 10/40 as the base machine instead of<br />

the VAX 11/780. Extensive results have been collected for the SPECcpu95 benchmarks [74]. The SPECcpu2000<br />

benchmarks are relative to a 300-MHz Sun Ultra5_10, which is rated as 100 [71]. SPECcpu2000 results,<br />

which include base and peak versions of cint and cfp with the rate results, are listed at the SPEC Web site<br />

[75]. The difference in base machines among the SPECcpu benchmarks makes direct comparisons of<br />

performance difficult. However, the SPECcpu benchmarks are the best measures available for general<br />

processor performance.<br />

Many other benchmarks exist and are used for comparing performance: SPEC has many other<br />

benchmarks [76]; LINPAC [77] is used for comparing very large computers; STREAM [79] compares<br />

memory hierarchy performance; the Transaction Processing Council [80] has created several benchmarks<br />

for commercial applications; etc. The main advice to people buying computers is to use the<br />

actual application programs that they will be running to evaluate the performance of computer<br />

systems. But, some standard number to describe system performance is always a good starting point.<br />

Table 4.5 lists the performance and price for several selected computer systems over time. Note that<br />

the performance ratings should only be used as a rough indicator, and should not be used to directly<br />

compare specific machines. Similarly, the prices may correspond to very different configurations of<br />

machines.<br />

The performance estimates have been normalized to a single comparison number for each computer.<br />

The number is a rough MIPS estimate, where a VAX 11/780 is considered to be a 1-MIPS processor.<br />

Estimates of prices were available for over 300 systems. Price-performance ratios were calculated in MIPS<br />

per dollar. These are plotted against the year and are shown in Fig. 4.1. The data in Fig. 4.1 and Table 4.5<br />

were calculated from many sources [1,12,13,16,17,19,47,49,51,56–75,81–97].<br />

4.4 Memory and Storage—The Memory Hierarchy<br />

The memory hierarchy includes the registers internal to the processor, various levels of cache memory,<br />

the main memory, virtual memory, disk drives (secondary storage), and tape (tertiary storage). Memory<br />

devices are used for a variety of functions. Basically, any computer system needs a place from which a<br />

program with its data is executed. There is a need for storing program files and data files. Files need to<br />

be backed up, with the ability to move the backup files to another location for safety. A mechanism is<br />

needed to support the distribution of programs and data files. Not all devices are suitable for all functions.<br />

Some devices are used mainly to get an increase in performance. The remaining functions are generally<br />

necessary for general-purpose computer systems, and some device must be selected to implement each<br />

function. Table 4.6 lists the storage functions, and several categories of memory and storage device used<br />

over time to implement the functions. For example, nonvolatile memory cartridges could be used for all<br />

of the storage functions necessary for a computer system, if speed, capacity, and price were satisfactory.<br />

© 2002 by CRC Press LLC

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!