General Suggestions for Creating and Running Performance Benchmarks

When making hardware purchasing decisions, wouldn't it be great to understand exactly how the hardware you are evaluating stacks up to the hardware from other vendors? Especially if you could use the same test, executing the common I-DEAS Master Series commands that you use on a daily basis? That is the idea behind the database of benchmark tests.

This document will provide some basic information for creating benchmark program files. It assumes that you have some understanding of creating and executing program files in I-DEAS Master Series.

Accurate Measurement

Our goal is to come up with a suite of benchmarks program files which could give a reasonably accurate representation of most of the common tasks that I-DEAS users perform. Geoff Sokoll posted some very good comments to the ICCON Mailing list on February 21, 1997.

From: Geoff Sokoll 
To: iccon-misc@loki.sdrc.com 
Date: Fri, 21 Feb 1997 01:20:29 GMT 

Some comments on the benchmarking experience:

I have recently completed a series of benchmarking exercises, comparing
our existing hardware to some new systems.  The first step in this 
process was recording exactly what we spent most of our time doing. 
From this, I compiled the following list of typical tasks that were on 
the critical path (ie either time consuming or repeated often, or both):

  previewing and generating free meshes
  creating and displaying element groups
  linear and non-linear static and normal mode FEA solves
  importing and exporting universal files
  scaling, combining and sorting FEA result sets
  displaying FEA results
  screen redisplays
 
Obviously, we spend most of our time in the Simulation task, doing FEA. I
wrote a program file to carry out most of the above tasks on several models
of varying size, recording the average times taken.  This enabled us to make
an estimate of the daily time savings to be expected with one of the new
machines.

With the benefit of hindsight, I would make the following recommendations to
anyone considering evaluating a machine:

1)  Look around first for existing benchmarks (SPEC95, STREAM etc) to enable
you to narrow down your choices
2)  Evaluate what your bottlenecks are. Those seemingly trivial tasks, if
repeated 100 times a day, may not be so trivial.
3)  Get a loan of the machine you wish to test, from the hardware vendor,
for AT LEAST a week, preferably more - you'll need it.
4)  Run your benchmark tests using models and tasks representative of what
you spend most of your time working with.  Trying to estimate solution times
for a non-linear 100,000 dof FEM model from the 30 seconds or so taken to
carry out the bullet-hole block benchmark is futile.

Regarding setting up a repository of benchmark results, I think that given
the wide range of possible tasks to perform within I-DEAS and the large
number of possible system configurations, this might be too big for someone
to handle on a volunteer basis.

If anyone is interested, I would be willing to share some of the program
files I wrote to conduct our own benchmarking exercises (heavily biased
towards FE analysis).

Geoff Sokoll
WBM Pty Ltd, Australia
wbmmech@powerup.com.au

Platform Independence - Program File Suggestions

In order to make the program files work for everyone, they must be platform independent. The best way ensure that the program you create will run on other platforms is to follow these simple guidelines :
bulletStart with a new model file.
bulletBuild the geometry from scratch or
bulletRead the geometry from a universal file.
bulletAvoid mouse picks from the graphics window.
bulletKey-in labels whenever possible.
bulletTurn Menu Mnemonics On.
bulletUse icons or select from the menus.
bulletRun and Rerun the program file to verify that it works!

Recording the Time

In order to accurately record the time to execute the program file, we'll use I-DEAS programmability. The following program file code is from Rollo Cain.

At the beginning of the program file... turn echo off, initialize a "Stopwatch", and (usually) turn off view transitions:

c : =============
K : #echo none
K :  #total=stop_watch(0)
K :  #c_time=cpu_time(0)
c :
K : /O P
K : P 5;
K : VT OF
K : OKAY
K : OKAY
c : =============

At the end of the program file, record the "Stopwatch" time and restore view transitions and echo:

c : =============
K :  #output  " Benchmark Test has Finished "
K :  #total=stop_watch(total)
K :  #c_time=cpu_time(c_time)
K :  #output  " "
K :  #output  "*****     Benchmark Test Results     *****"
K :  #output  " Total Elapsed time =  ",total," seconds."
K :  #output  " Total CPU time =  ",c_time," seconds."
K :  #open result result.log
K :  #write result  "Benchmark Test Results :"
K :  #write result  "  Total Elapsed time  =  ",total," seconds."
K :  #write result  "  Total CPU time  =  ",c_time," seconds."
K :  #close result
K :  #output  "Results written to ""./results.log""  "
c :
K : /O P
K : P 5;
K : VT ON
K : OKAY
K : OKAY
K : #echo all
c : =============

Final Image

In order to verify that the program file is run correctly for everyone, we ask that you submit a screen dump showing the resutle of running the program file. In most cases, this will be the part or assembly that is created. Or perhaps the FE results that have been solved.

Please submit the picture as a GIF image. On UNIX, a shareware tools such as XV can be used. On Windows NT, Paint Shop Pro (from http://www.jasc.com/) is a good choice. Both of these products will allow capture the image and save it in a variety of formats, including GIF.

Uploading the Benchmark

Once you have created the benchmark program file and associated GIF file, you can upload the benchmark to our Web site. Simply fill out the submission form, including all of the required information.

Naturally, once you have submitted the benchmark, you will want to submit your "results". These results are times that you have recorded running your program file on the workstations you have available.

Modifying Benchmarks

Our website allows for the submitter to modify the benchmark description and other information. In fact, if you have problems submitting the benchmark initially, you can correct the mistakes, by modifying the benchmark.

Please note, whenever you "modify" the benchmark, you MUST resubmit all files that were initially submitted. If for some reason, you must change the benchmark program file, please make sure that it will not invalidate any existing results that may exists for that benchmark test.

Thanks for your assistance in building the I-DEAS Performance Benchmark Database.

Updated: 01 January 2005

 

back to WAMware homepage®
Copyright © 1996-