img
. .
The rule for the SPECfp benchmark is that a compiler is allowed to do pretty much anything it
wants to, as long as that compiler is available to customers and nobody changes the source code at
all. The various Fortran 77/90 MP compilers automatically multithread a program with no user
intervention, so they are legal. You give the compiler the code, completely unchanged, and it
looks to see if there is any possibility of threading it. It is possible to thread 6 of the 14 SPECfp
programs automatically. The results are very impressive (Table 2-1).
Table 2-1. SPECfp95 Results for Alpha 4100 5/466 (SPEC '97)
Number of CPUs
Tomcatv
Swim  Su2cor  Hydro2d
Mgrid
Turb3d
1
23.8
25.4
10.1
10.0
17.5
19.1
2
33.1
46.2
18.0
15.4
24.5
33.4
4
40.3
83.8
30.3
21.3
34.6
54.9
SPECint_rate95
SPECfp 95 is a reasonable set of benchmarks for single-CPU machines, but it does not give a
good picture of the overall performance potential of multiprocessor machines (Figure 2-15). The
SPECrate is intended to demonstrate this potential by allowing the vendor to run as many copies
of the program as desired (e.g., in one test with 30 CPUs, Sun ran 37 copies of each program).
This benchmark does not use the MP compiler.
Figure 2-15. Running SPECrate_fp95 on an SGI Origin/200, 2000 (SPEC '96)
Java Benchmarks
There are currently no Java benchmarks of interest to parallel processing.
Summary
Threads allow both concurrent execution in a single address space and parallel execution on
multiple-processor machines, and they also make many complex programs easier to write. Most
programs are simple and fast enough that they don't need threads, but for those programs that do
need them, threads are wonderful.
Search WWH :
Custom Search
Previous Page
Multithreaded Programming with JAVA - Topic Index
Next Page
Multithreaded Programming with JAVA - Bookmarks
Home