SPEC 95 (Standard Performance Evaluation Corporation)

Ein Überblick über SPEC 95. Wer mehr darüber wissen will, findet ausführliche Informationen auf der Homepage von SPEC95 (www.specbench.org). 

Inhalt

 

Aufbau der Corporation

SPEC95 ist eine gemeinnützige Corporation. Sie setzt sich aus den drei Hauptgruppen OSG (Open System Group), HPG (High Performance Group) und GPC (Graphics Performance Characterization Group) zusammen. Diese drei Gruppen arbeiten unabhängig voneinander und können unterschiedliche Mitglieder haben, die hauptsächlich aus den Bereichen der Computerindustrie und den Universitäten kommen.

Die OSG hat sich zum Ziel gesetzt, ca. alle drei Jahre eine neue Benchmark Suite herauszubringen. Angefangen hat sie mit der CPU89 Suite, dann folgte die CPU92 Suite und die CPU95 Suite und zur Zeit ist die CPU98 Suite in Arbeit. Die kontinuierliche Erneuerung der Suite ist notwendig, weil es eine immer bessere Chip – Technologie gibt, die Compiler werden immer besser und die Anwendungen werden immer größer. Damit die Benchmarks aussagekräftig bleiben muß die Suite diesen Veränderungen angepaßt werden. Die CPU95 Suite bestimmt die Benchmarks für den Prozessor, die Speicherarchitektur und den Compiler. Des weiteren wird von der OSG die SFS 2.0 Benchmark Suite und die Web96 Benchmarak Suite herausgegeben. Mit der System File Server Suite werden Network File Server getestet und zwar einerseits der throughput und andererseits die response time. Sie wurde im Januar 1995 veröffentlicht. Mit der Web96 Suite werden Web – Server getestet. Das Kriterium für den Benchmark ist wie schnell http – Anfragen von dem jeweiligen Server beantwortet werden können.

Die HPG wurde 1994 gegründet. Sie entwickelt Benchmark Suites für Hochleistungsrechner wie zum Beispiel symmetrische Multiprozessorsysteme oder Vektor – Supercomputer.

Die GPC ist ein Dachverband für einzelne Projektgruppen. Zur Zeit gibt es fünf solche Projektgruppen:

 

  

SPEC CPU95 Benchmark

Die CPU95 Benchmark Suite setzt sich aus CINT95 und CFP95 Benchmarks zusammen. Das C steht für Components, d.h. es werden, wie oben bereits erwähnt, der Prozessor, die Speicherarchitektur und der Compiler damit getestet, und zwar zum einen Integer – Berechnungen (CINT95) und zum anderen Floatingpoint – Berechnungen (CFP95) durchgeführt. Für die Bestimmung der Benchmarks werden Programme aus den unterschiedlichsten Anwendungsgebieten herangezogen (siehe Auflistung weiter unten). CINT95 wird mittels acht Programmen die in C geschrieben sind bestimmt, CFP95 mit Hilfe von zehn FORTRAN - Programmen.

Im Vergleich zu der CPU92 Benchmark Suite gibt es einige Veränderungen. Bei den Integer – Berechnungen sind zwei Programme hinzugekommen. Eines aus dem Bereich der Datenbanken und eines aus dem Bereich der Bildverarbeitung, d.h. es sind jetzt zwei weitere Anwendungsgebiete abgedeckt. Bei dem CFP92 waren es noch 14 Programme, wovon 12 in FORTRAN geschrieben waren und zwei in C. Aber es hat sich nicht nur die Anzahl der Programme geändert, sondern sie wurden zum größten Teil ausgetauscht. Wurde ein Benchmark aus der CPU92 Suite doch übernommen, so wurde zumindest die Dateninputmenge vergrößert. Diese Veränderungen haben zur Folge, daß die CPU92 Suite mit der CPU95 Suite nicht kompatibel ist, und sie läßt sich auch nicht transformieren. Gründe warum die meisten Benchmarks nicht übernommen wurden, sind z. B. die Laufzeit, sie betrug bei allen Programmen maximal eine Minute, was aus heutiger Sicht zu kurz ist für die Bestimmung von vernünftigen Werten. Oder die Größe der Anwendungen. Sie entsprach nicht mehr der Größe der Anwendungen die heute auf den Computern laufen. Oder Anwendungsgebiete wie Datenbanken und Bildverarbeitung fehlten. Und Portabilität war auch nicht gewährleistet, d.h. die CPU92 Suite lief nur auf UNIX Umgebungen, während die CPU95 Suite auch auf Windows/NT läuft. Die SPEC CPU95 Benchmarks haben mehr ´cache misses´ und sind weniger lokal, das bedeutet, sie haben ein realistischeres Speicherverhalten.

 

CINT95 Benchmarks

 Benchmark

Reference Time (Sec)

Application Area

Specific Task

 

099.go

4600

Game playing; artificial intelligence

Plays the game Go against itself

124.m88ksim

1900

Simulation

Simulates the Motorola 88100 processor running Dhrystone and a memory test program

126.gcc

1700

Programming & Compilation

Compiles pre-processed Source into optimized SPARC assembly code

129.compress

1800

Compression

Compresses large text files (about 16MB) using Adaptive Limpel-Ziv coding

130.li

1900

Language interpreter

Lisp interpreter

132.ijpeg

2400

Imaging

Performs jpeg image Compression with various parameters

134.perl

1900

Shell interpreter

Performs text and numeric manipulations (anagrams/prime number factoring)

147.vortex

2700

Database

Builds and manipulates three interrelated databases

 

CFP95 Benchmarks

 Benchmark

Reference Time (Sec)

Application Area

Specific Task

 

101.tomcatv

3700

Fluid Dynamics / Geometric Translation

Generation of a two- dimensional boundary-fitted coordinate system around general geometric domains

102.swim

8600

Weather Prediction

Solves shallow water equations using finite difference approximations (The only single precision benchmark in CFP95.)

103.su2cor

1400

Quantum Physics

Masses of elementary particles are computed in the Quark-Gluon theory

104.hydro2d

2400

Astrophysics

Hydrodynamical Navier Stokes equations are used to compute galactic jets

107.mgrid

2500

Electromagnetism

Calculation of a 3D potential field

110.applu

2200

Fluid Dynamics/Math

Solves matrix system with pivoting

125.turb3d

4100

Simulation

Simulates turbulence in a cubic area

141.apsi

2100

Weather Predication

Calculates statistics on temperature and pollutants in a grid

145.fpppp

9600

Chemistry

Performs multi-electron Derivatives

146.wave

3000

Electromagnetics

Solve's Maxwell's equations on a cartesian mesh

 

Bei den Floatingpoint – Berechnungen werden alle Programme mit doppelter Genauigkeit berechnet mit Ausnahme von dem Programm ´102.swim´.

 

Mit den Benchmarks werden folgende Werte berechnet:

 

Speed

Throughput

Aggressive

SpecInt95

SpecInt_rate95

 

SpecFP95

SpecFP_rate95

 

 

 

Conservative

SpecInt_base95

SpecInt_rate_base95

 

SpecFP_base95

SpecFP_rate_base95

 

Wobei speed die Geschwindigkeit bezeichnet, wie schnell ein Computer einen einzelnen task bearbeiten kann und throughput angibt wieviele tasks innerhalb einer vorgegebenen Zeit durchlaufen werden können. Aggressive und conservative sind unterschiedliche Bedingungen unter denen die Programme laufengelassen werden. Aggressive bedeutet, daß der User für jeden Benchmark unterschiedliche Optimierungen durchführen kann, d.h. für jeden Benchmark die Compiler flags so setzten, daß er die beste Performance erhält. Während bei conservative alle Benchmarks mit den gleichen Compiler Optionen durchgeführt werden müssen, und zwar mit denen die vom Compiler – Hersteller vorgegeben sind. Der SpecInt95 bzw. SpecInt_base95 (SpecFP95, SpecFP_base95) ist das geometrische Mittel der Specratio der acht Integer (zehn Floatingpoint) Benchmarks. Die Specratio erhält man indem man reference time / run time (des jeweiligen Benchmarks) rechnet. SpecInt_rate95 bzw. SpecInt_rate_base95 (SpecFP_rate95, SpecFP_rate_base95) ist das geometrische Mittel der normalisierten Specrate der acht Integer (zehn Floatingpoint) Benchmarks. Die Berechnung der normalisierten Specrate wird u.a. anhand eines Beispiels gezeigt. Für die Bestimmung der reference time wurde eine SUN SPARC Station 10/40 verwendet.

 

Beispiele:

SpecInt95 = (099.goSpecratio * 124.m88ksimSpecratio * ... * 147.vortexSpecratio) ^ (1/8)

 

099.goSpecratio = 099.go reference time / 099.go run time

 

SpecInt_rate95 = (099.goSpecrate * 124.m88ksimSpecrate * ... * 147.vortexSpecrate) ^ (1/8)

 

099.goSpecrate = # Durchläufe * (reference time 099.go * sec pro Tag / längste reference time) / run time von allen benchmarks

 

 

PLB (Picture – Level Benchmark Project)

PLB entwickelt standardisierte Methoden zum Vergleich der ´graphics display performance´ von verschiedenen Hardware Plattformen. Hierzu führte es u. a. folgende zwei Komponenten ein:

BIF ist ein File Format, das die Geometrie und die Aktionen spezifiziert, die bei einem Test erzeugt werden. Es gibt acht BIF – Files, basierend auf populären Anwendungen, die hauptsächlich die Bereiche 3 – D – wireframe und 3 – D – surface abdecken. Mit Hilfe der BIF – Files werden die Testergebnisse ermittelt.

BTM stellt ein standardisiertes Performance Maß bereit.

 

 

XPC (X Performance Characterization Project)

XPC entwickelte das Benchmark tool ´xmark93´. Xmark93 ist ein tool, das die Performance von Systemen mißt, die mit X Windows laufen. Dabei werden eine Vielzahl von ´X primitive – performances´ gemessen. Primitives sind einfache graphische Elemente wie z. B. Punkte, Quadrate, Linien usw..

xmark93 = geometrische Mittel von 447 ´x11perf´ Tests / den entsprechenden Referenzwerten

D.h. das xmark93 tool enthält 447 verschiedene x11perf Tests für Server / Hardware. Die Referenzwerte für die 447 x11perf Tests wurden auf einer Sun Microsystem Sparc Station 1 ermittelt. Für die Bestimmung des xmark93 wird das gewichtete Mittel aller x11perf Testergebnisse verwendet, weil sich die Häufigkeit der Primitives von Anwendung zu Anwendung unterscheidet. So erzeugt z. B. eine Motiv – Anwendung viele kleine Rechtecke, die einen dreidimensionalen Schatteneffekt erzeugen, während eine Open Look Anwendung viele Ellipsen verwendet um runde Buttons darzustellen.

 

 

MBC (Multimedia Benchmark Committee)

Das MBC wird voraussichtlich Ende 1998 den Benchmark MPEG-2 veröffentlichen. MPEG-2 wird ein System – Level Benchmark sein, der Prozessor, Speichersystem und die graphischen Fähigkeiten eines Systems testet. Er soll unter WindowsNT, Windows95, MacOS und verschiedenen UNIX Versionen laufen. Für die Zukunft plant das MBC Benchmarks für Spracherkennung, 3D unterhaltungsorientierte Graphik und Multimedia Java – fähige Webpages zu entwickeln.

 

 

APC (Application Performance Characterization Project)

Das APC plant die von ihm entwickelten Benchmarks im Sommer 98 zu veröffentlichen. Sie werden die graphischen Subsystems, sowie Hardware, Software und das Betriebssystem in die Tests mit einbeziehen. Geplant sind fünf bis sechs Benchmarks aus den Bereichen: