01.12.2012 Views

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

Architecture of Computing Systems (Lecture Notes in Computer ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

JetBench: An Open Source Real-Time Multiprocessor<br />

Benchmark<br />

Muhammad Yasir Qadri 1 , Dorian Matichard 2 , and Klaus D. McDonald Maier 1<br />

1 School <strong>of</strong> <strong>Computer</strong> Science and Electronic Eng<strong>in</strong>eer<strong>in</strong>g<br />

University <strong>of</strong> Essex, CO4 3SQ, UK<br />

yasirqadri@acm.org, kdm@essex.ac.uk<br />

2 Ecole Nationale d’Electronique, Informatique et Radiocommunications de Bordeaux,<br />

ENSEIRB<br />

matichar@enseirb.fr<br />

Abstract. Performance comparison among various architectures is generally atta<strong>in</strong>ed<br />

by us<strong>in</strong>g standard benchmark tools. This paper presents JetBench, an<br />

Open Source OpenMP based multicore benchmark application that could be<br />

used to analyse real time performance <strong>of</strong> a specific target platform. The application<br />

is designed to be platform <strong>in</strong>dependent by avoid<strong>in</strong>g target specific libraries<br />

and hardware counters and timers. JetBench uses jet eng<strong>in</strong>e parameters and<br />

thermodynamic equations presented <strong>in</strong> the NASA’s Eng<strong>in</strong>eSim program, and<br />

emulates a real-time jet eng<strong>in</strong>e performance calculator. The user is allowed to<br />

determ<strong>in</strong>e a flight pr<strong>of</strong>ile with tim<strong>in</strong>g constra<strong>in</strong>ts, and adjust the number <strong>of</strong><br />

threads. This paper discusses the structure <strong>of</strong> the application, thread distribution<br />

and its scalability on a custom symmetric multicore platform based on a cycle<br />

accurate full system simulator.<br />

Keywords: Real-time, Multiprocessor, Application Benchmark.<br />

1 Introduction<br />

Benchmarks are generally classified <strong>in</strong>to two types, i.e. 1) synthetic benchmarks and<br />

2) application benchmarks. Synthetic benchmarks are designed to exploit particular<br />

property <strong>of</strong> a processor such as <strong>in</strong>struction per second (IPS), cache performance, I/O<br />

bandwidth etc, whereas application benchmarks are centred towards one particular<br />

application such as automotive, <strong>of</strong>fice automation, etc. The concept <strong>of</strong> us<strong>in</strong>g benchmarks<br />

for performance characterization <strong>of</strong> the system is common practice and some<br />

processor manufacturers have proposed their own benchmarks [1]. However such<br />

benchmarks strive to give better performance on a particular platform, third party<br />

benchmarks are a good way to compare the performance amongst various architectures<br />

impartially and transparently.<br />

The JetBench benchmark presented <strong>in</strong> this paper is an application benchmark written<br />

<strong>in</strong> C, for real-time jet eng<strong>in</strong>es thermodynamic calculations. It is a multithreaded<br />

application for shared memory architectures. The benchmark is based on OpenMP<br />

[2], and could be seamlessly ported to any platform support<strong>in</strong>g it. The benchmark<br />

provides user the flexibility to specify custom workload, that could be a real flight<br />

C. Müller-Schloer, W. Karl, and S. Yehia (Eds.): ARCS 2010, LNCS 5974, pp. 211–221, 2010.<br />

© Spr<strong>in</strong>ger-Verlag Berl<strong>in</strong> Heidelberg 2010

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!