README of XenoJetBench by Arsalan Shahid
For any questions mail at arsalan@emwi-tech.org
XenoJetBench Benchmark Version 2.0 (beta)
------------------------------------------------
XenoJetBench Benchmark Team
Programmer:
Arsalan Shahid
Supervisor:
Muhammad Yasir Qadri
Department of Electrical Engineering
HITEC University, Taxila, Islamabad, Pakistan
E-mail: arsalan@emwi-tech.org
yasirqadri@acm.org
================================================
BACKGROUND
Information on JetBench Benchmark, can be found in the following publication, i.e.,
[1] M. Y. Qadri, D. Matichard, and K. D. M. Maier, "JetBench: An Open Source Real-time Multiprocessor Benchmark," in ARCS 2010 - Architecture of Computing Systems, Hannover, Germany, 2010.
[2] A. Shahid, M. Y. Qadri, N. N. Qadri, J. Ahmed, "XenoJetBench: An Open Source Hard-Real-Time Multiprocessor Benchmark" in ICIAS 2016 - International Conference on Intelligent and Advanced Systems, Kuala Lumpur, Malaysia, 2016
================================================
INSTALLATION
This benchmark is completely designed to run on linux. Because of
the bad clock precision, time results will not be good on Windows
system. XenoJetBench requires Installation of Xenomai API on linux.
How to compile it ?
To compile XenoJetBench benchmark, you need the OpenMp library <omp.h>.
It is supported by the gcc compiler since the version 4.2.
Moreover as previously mentioned you would need Xenomai patched
with linux kernel as it is hard-real-time programming framework.
To compile it first install 'make' package on your linux version using:
sudo apt-get install make (for Ubuntu, Fedora and Debian)
Then just write
make
You will see following message showing successfull compilation
================================================
gcc -Wall -g -fopenmp -I/usr/include/xenomai -D_GNU_SOURCE -D_REENTRANT
-D__XENO__ XenoJetBench.c -Xlinker -rpath -Xlinker /usr/lib -lnative
-L/usr/lib -lxenomai -lpthread -lrt -o XenoJetBench
Benchmark compilation Successful
Use [ make clean ] to clear compilation
================================================
Be sure the header file is in the same folder before doing it.
The header file contain all variables and also some things you
can change like the number of thread and calculation precision.
Once you have changed it, compile it to run jetsim.
For all other compiler, read the specifications to include the
OpenMp library.
How to run it ?
XenoJetBench is a jet engine simulator. It contains 3 types of engines:
1-Turbojet
2-Turbojet with afterburner
3-Turbofan
For running XenoJetBench you need to write following command and provide
your root password
source run.sh
The default engine is set to be 1 (Turbojet) while running XenoJetBench.
You can change it from run.sh file
Below is a sample result file that will be generated while benchmark execution
================================================
XenoJetBench: An Open Source Hard-Real-Time Multiprocessor Benchmark
engine 1 : Turbojet is selected
==> Starting JetBench Execution
T,ExecTime, Spd| Alt | Thr| Mach|Press| Temp| Fnet|Fgros|RamDr|FlFlo|TSFC|Airfl|Weight|Fn/W
0,0.019031, 0| 0|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
31.7% used for point 1
0,0.018389, 100| 0|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
30.6% used for point 2
0,0.017046, 200| 1000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.4% used for point 3
0,0.017036, 300| 2000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.4% used for point 4
0,0.017212, 300| 3000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.7% used for point 5
0,0.017210, 300| 4000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.7% used for point 6
0,0.016368, 300| 5000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.3% used for point 7
0,0.016367, 300| 6000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.3% used for point 8
0,0.016284, 300| 7000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.1% used for point 9
0,0.016285, 300| 8000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.1% used for point 10
0,0.016615, 300| 9000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.7% used for point 11
0,0.016617, 350|10000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.7% used for point 12
0,0.019485, 350|15000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
32.5% used for point 13
0,0.019492, 400|20000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
32.5% used for point 14
0,0.017139, 450|25000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.6% used for point 15
0,0.017139, 500|30000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.6% used for point 16
0,0.016636, 600|30000|100.0|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.7% used for point 17
0,0.016635, 600|30000| 66.7|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.7% used for point 18
0,0.016278, 600|25000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.1% used for point 19
0,0.016278, 600|20000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.1% used for point 20
0,0.016378, 600|15000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.3% used for point 21
0,0.016378, 500|15000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.3% used for point 22
0,0.016397, 400|15000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.3% used for point 23
0,0.016399, 400|10000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.3% used for point 24
0,0.018349, 300|10000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
30.6% used for point 25
0,0.017076, 285| 9000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.5% used for point 26
0,0.017075, 270| 8000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
28.5% used for point 27
0,0.016441, 255| 7000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.4% used for point 28
0,0.016440, 240| 6000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.4% used for point 29
0,0.016334, 225| 5000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.2% used for point 30
0,0.016334, 210| 4000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.2% used for point 31
0,0.016308, 195| 3000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.2% used for point 32
0,0.016308, 180| 2000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.2% used for point 33
0,0.016428, 165| 1000| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.4% used for point 34
0,0.016428, 150| 0| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
27.4% used for point 35
0,0.017936, 150| 0| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
29.9% used for point 36
==> Ending XenoJetBench Execution
0,0.017935, 150| 0| 55.6|0.000|14.69| 59.0| 6825| 6825| 0| 5689|0.83| 72.7|493.90|13.82
29.9% used for point 37
==> Ending XenoJetBench Execution
========================================================
XenoJetBench Successfully Terminated
==> Results
Total execution time is : 0.314242 with 0 missed deadline
Which represents 28.3% of
Real time used : 1.050000
Number of threads : 2
Number of points : 37
XenoJetBench Start time : 1461498450.430740 secs
XenoJetBench End time : 1461498450.766760 secs
Total Benchmark time : 0.336020 secs
Press ctrl+C to EXIT XenoJetBench
========================================================
Be sure the folder contains the file "input.txt". If it is missing
you will have a segmentation fault. This file contains profile
caracteristics in this order:
Speed Altitude Throtle Deadline_time
0<Speed<1500 mph
0<Altitude<50000 ft
45<Throtle<90 \B0 (angle)
time>0 sec