Next: Importance of Node Performance
Up: Towards Efficient Compilation of
Previous: Discussion
Contents
Benchmarking HPJava, Part I:
Node Performance
Now we have reviewed compilation and optimization strategies for
HPJava, it is time to see the performance of the HPJava system.
Compared to competitors, the HPJava system has various
advantages. For example, HPJava is totally implemented in Java. This
means that once coded, it can be run anywhere. However, this could
turn to a disadvantage of HPJava, since many applications are designed
and implemented for specific systems in order to gain performance
advantage. Even though JDK 1.4 introduced performance features
,
do we expect Java to be the most people's favorite in terms of
performance?
One of the main goals of this dissertation is to benchmark the HPJava
system, and to prove its promising performance.
In this chapter, we will benchmark scientific and engineering
applications (e.g. a direct matrix multiplication program, and partial
differential equations, such as the Laplace equation using red-black
relaxation and the 3-dimensional diffusion equation) and a local
dependency index application, called Q3 index, with a large set of
data and iterations.
In this chapter, for each benchmark program, we will benchmark on a
Linux machine. The performance of HPJava on a single processor node is
as critical as the performance on multi-processors. Moreover,
benchmarking sequential Java programs is as important as benchmarking
HPJava programs because we can't ignore the close relation of HPJava
with Java. We will be particularly interested in the effectiveness of
the optimization schemes introduced in the last chapter. Typically we
experiment with two different optimization levels described there:
simple PRE and the augmented HPJOPT2 scheme.
The benchmarks in this chapter will be performed on the following
machine:
- Linux Machine - Red Hat 7.3 on PentiumIV 1.5 GHz CPU with 512 MB
memory and 256 KB physical cache.
In addition to HPJava and sequential Java programs, we also benchmark
C and Fortran programs on each machine to compare the performance. The
table 6.1 lists the compilers and optimization
options used on each machine. This chapter is based on our earlier
publication [29].
Table 6.1:
Compilers and optimization options lists used on Linux machine.
|
HPJava |
Java |
C |
Fortran |
|
IBM Developer kit |
IBM Developer kit |
|
|
|
1.4 (JIT) with -O |
1.4 (JIT) with -O |
gcc -O5 |
g77 -O5 |
Subsections
Next: Importance of Node Performance
Up: Towards Efficient Compilation of
Previous: Discussion
Contents
Bryan Carpenter
2004-06-09