Full HTML for

Basic foilset A Methodology for Benchmarking Java Grande Applications

Given by J.M. Bull(Presenter), L.A. smith, M.D. Westhead, D.S. Henty, R.A. Davey (EPCC) at ACM Java Grande Meeting on June 12-13 99. Foils prepared July 6 99
Outside Index Summary of Material


Background
Design considerations
Benchmark format and instrumentation
Contents of suite
Results
Future work

Table of Contents for full HTML of A Methodology for Benchmarking Java Grande Applications

Denote Foils where Image Critical
Denote Foils where HTML is sufficient

1 A Methodology for Benchmarking Java Grande Applications
2 Overview
3 Background
4 Aims
5 Requirements
6 Solutions
7 Java specific issues
8 Performance metrics
9 Benchmark format
10 Instrumentation
11 Benchmark contents
12 Contents (cont.)
13 Contents (cont.)
14 Results
15 Results (cont)
16 Results (cont)
17 Current status
18 Future work

Outside Index Summary of Material



HTML version of Basic Foils prepared July 6 99

Foil 1 A Methodology for Benchmarking Java Grande Applications

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
J.M. Bull, L.A. Smith, M.D. Westhead,
D.S. Henty, R.A. Davey
EPCC, University of Edinburgh, U.K.
epcc-javagrande@epcc.ed.ac.uk

HTML version of Basic Foils prepared July 6 99

Foil 2 Overview

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Background
Design considerations
Benchmark format and instrumentation
Contents of suite
Results
Future work

HTML version of Basic Foils prepared July 6 99

Foil 3 Background

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
EPCC is co-ordinating the benchmarking activities of the Java Grande Forum.
The principal activity is the collation of a benchmark suite suitable for Grande applications.
Many thanks to the following people who have contributed code:
Jesudas Mathew, Paul Coddington, Roldan Pozo, Gabriel Zachmann, David Oh, Reed Wade, John Tromp, Florian Doyon, Wilfried Klauser, Denis Caromel, Hon Yau.

HTML version of Basic Foils prepared July 6 99

Foil 4 Aims

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Why do we need a Java Grande benchmark suite?
Expose features of Java execution environments critical to Grande applications.
Provide standardised metrics to allow Grande users to choose between execution environments.
Allow inter-language comparisons - demonstrate viability of Java for Grande codes.
Existing benchmarks don't meet all these needs.

HTML version of Basic Foils prepared July 6 99

Foil 5 Requirements

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
A Java Grande benchmark suite should be:
Representative
Interpretable
Robust
Portable
Standardised
Transparent

HTML version of Basic Foils prepared July 6 99

Foil 6 Solutions

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Provide a spectrum of benchmarks: low-level, kernels, applications.
For kernels and applications, offer a range of data sizes.
No graphics!
Provide an instrumentation class and standard interface.
Distribute source code.

HTML version of Basic Foils prepared July 6 99

Foil 7 Java specific issues

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Main difficulties are in writing low-level benchmarks to cope with JIT compilation.
Want to measure compiled, not interpreted, performance (JIT warm-up effect).
Don't want JIT to be too clever, and optimise away what we are measuring!
  • avoid dead code removal
  • avoid "special cases" (e.g. addition of zero) that can be detected at run time.
How should we benchmark garbage collection??

HTML version of Basic Foils prepared July 6 99

Foil 8 Performance metrics

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Execution time.
Temporal performance (operations per second). The operation chosen depends on the nature of the benchmark .
Relative performance (ratio of temporal performance to a reference execution environment).
For low-level benchmarks, we don't report execution time. We fix a time, and adjust the length of a repeat loop to ensure this time is exceeded.

HTML version of Basic Foils prepared July 6 99

Foil 9 Benchmark format

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Would like to enforce a common format.
Not practical to make a benchmark extend an abstract benchmark class (no multiple inheritance). Best we can do is make it implement an interface.
For kernels and applications, the interface contains
  • an initialisation method
  • a run method
  • a validation method
  • a cleanup method

HTML version of Basic Foils prepared July 6 99

Foil 10 Instrumentation

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
The instrumentation class allows timers to be added to existing code.
Implemented as a hash table of timers:
  • global objects referred to by a string
  • accessed via class methods
  • no need to add or pass references
As well as a time, each timer also contains an operation count, for computing temporal performance.
Timers can be started, stopped, read, printed, etc.

HTML version of Basic Foils prepared July 6 99

Foil 11 Benchmark contents

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Section 1 - Low level benchmarks
Arithmetic
Assignments
Casting
Creation
Exceptions
Loops
Maths functions
Method calls
Serialization
Total of 121 measurements

HTML version of Basic Foils prepared July 6 99

Foil 12 Contents (cont.)

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Section 2 - Kernels
Heap sort
Fast Fourier transform
IDEA encryption
Fourier series expansion
LU factorisation
Sparse matrix multiplication
SOR solver
Data sizes: small, medium and large

HTML version of Basic Foils prepared July 6 99

Foil 13 Contents (cont.)

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Section 3 - Applications
Computational fluid dynamics
Monte Carlo economics simulation
Molecular dynamics
Game solver (alpha-beta pruned search)
Ray tracing
Data sizes: medium and large

HTML version of Basic Foils prepared July 6 99

Foil 14 Results

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index

HTML version of Basic Foils prepared July 6 99

Foil 15 Results (cont)

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index

HTML version of Basic Foils prepared July 6 99

Foil 16 Results (cont)

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index

HTML version of Basic Foils prepared July 6 99

Foil 17 Current status

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Version 2.0 just released.
Available from: http://www.epcc.ed.ac.uk/javagrande
A results page will be maintained on this site.
We welcome any feedback, contributions and RESULTS!

HTML version of Basic Foils prepared July 6 99

Foil 18 Future work

From A Methodology for Benchmarking Java Grande Applications ACM Java Grande Meeting -- June 12-13 99. *
Full HTML Index
Add (selected) language comparisons (C, C++, Fortran).
A parallel suite:
  • Threads, RMI, MPI, ...?
  • Low-level benchmarks (e.g. ping-pong, thread creation)
  • Use Java versions of NAS kernels
  • Parallel versions of applications (Section 3)
Propose registration of the instrumentation class as a standard class.

© Northeast Parallel Architectures Center, Syracuse University, npac@npac.syr.edu

If you have any comments about this server, send e-mail to webmaster@npac.syr.edu.

Page produced by wwwfoil on Wed Jul 7 1999