ORCHESTRA Benchmark

This is a test page to run an old version of ORCHESTRA, that only required Java version 1.1, witin in a web browser.

Because the program and input file have remained unchanged over time, this applet can be used as a quick benchmark for dual processor machines running under either Windows, Linux or MacOs.

The program is dominated by floating point calculations and makes efficient use of 2 processor cores.

It calculates transport (movement) of substances in an adsorbing sand column, and shows real time concentration profile graphs.

Details can be found in:

Meeussen, J.C.L., Kleikemper, J., Scheidegger, A.M., Borkovec, M., Paterson, E., van Riemsdijk, W.H. and Sparks, D.L. , (1999), Multicomponent transport of sulfate in a goethite-silica sand system at variable pH and ionic strength.,Environmental Science and Technology, 33, 3443-3450.

The applet contains an earlier version of the ORCHESTRA calculation kernel, and makes use of parallel processing on systems with more than one CPU.

Sequence of events

  1. Initial situation: column at pH 3.8, 0.1 M NaCl withouth sulphate

  2. At timestep 0: Start infiltrating with 3.0e-4 M SO4.

  3. At timestep 1350: Change input solution from 0.1 to 0.01 M NaCl

  4. At timestep 1800: Change input solution from 0.01 to 0.1 M M NaCl

  5. At timestep 3300: Change input solution to 0 M SO4

  6. At timestep 12400: Change input solution to 3.83e-3 M SO4

Calculation times ORCHESTRA I


Processor type

MHz

Nr Processors

Operating System

Virtual Machine

Calculation Time

Pentium III

500

1

Windows NT 4

Microsoft jvm 1.1.8

1263

Pentium III

500

2

Windows NT 4

Microsoft jvm 1.1.8

704

Pentium III

800

1

Windows 2000

Microsoft jvm 1.1.8

767

Pentium IV

1400

1

Windows 2000

Microsoft jvm 1.1.8

925

Pentium III

1400

1

Windows 2000

Sun jdk 1.4.2

593

Pentium III

1400

1

Windows 2000

Microsoft jvm 1.1.8

558

AMD Athlon

1400

1

Windows 2000

Sun jdk 1.4.2

557

AMD Athlon

1400

1

Windows 2000

Microsoft jvm 1.1.8

465

Pentium IV Xeon

2000

2

Windows 2000

Sun jdk 1.4.2

442

Pentium III

1400

2

Linux Suse 8.2

Sun jdk 1.4.2

381

Pentium IV Xeon

2000

2

Windows 2000

Microsoft jvm 1.1.8

340

Pentium III

1400

2

Windows 2000

Sun jdk 1.4.2

314

Apple G5

2000

2

OSX

Sun jdk 1.4.1

307

Pentium III

1400

2

Windows 2000

Microsoft jvm 1.1.8

276

AMD Athlon 64

2400

1

Linux Suse 9.1

IBM jvm 1.4

338

AMD Athlon 64

2400

1

Windows 2000

Sun jre 1.5

278

Apple G5

2500

2

OSX

Sun jdk 1.4.2

270

AMD Athlon 64

2400 (@2500)

1

Windows 2000

Sun jdk 1.6.03

222

Core Duo

2000

2

Windows XP

Sun jdk 1.6.0

161

Quad Opteron

2400

4 (2 threads)

Windows XP

Sun jdk 1.6.0

122

Calculation times ORCHESTRA II

The latest version of Orchestra has a completely new calculation engine with an expression parser/evaluator that  reads all model equations from an input file at run-time. Although this is potentially less efficient than hard-coding  formulas in source code, it does allow for better expression optimisation. The net result depends on how well the equations can be optimised for redundant and constant sub-expressions. Large chemical systems contain many redundant calculations that can be optimised. The results below show that already for the relatively small test system here the new version performs significantly better than the old version.

Processor type

MHz

Nr Processors

Operating System

Virtual Machine

Calculation Time

Athlon

1400

1

Windows 2000

Sun jdk 1.4.1

363

Pentium III

1400

1

Windows 2000

Sun jdk 1.4.1

380

Pentium III

1400

2

Windows 2000

Sun jdk 1.4.1

208

Pentium III

1400

2

Windows 2000

Native (JET)

176

Xeon IV

2000

2

Windows 2000

Sun jdk 1.4.1

279 ??

Quad Opteron

2400

4

Windows XP

Sun jdk 1.6.0

49


Comparison between different processor types shows that  AMD's athlon performs very well on the floating point dominated calculations. Intel's Pentium III (server type with 512 kb cache) is not far behind at the same clock speed, but  Intel's Pentium IV (including Xeon) is a lot slower despite the  much higher clock speed.
The results show furthermore that using a second processor nearly doubles the calculation speed. (At least for reactive transport systems where the (multi-threaded) chemistry calculations take up most of the time). Performance also depends on the java virtual machine and operating system.