Title: Vorlesung Echtzeitbetriebssysteme VII. Leistungsbewertung von Echtzeitbetriebssystemen
1VorlesungEchtzeitbetriebssysteme VII.
Leistungsbewertung von Echtzeitbetriebssystemen
Dr.-Ing. Frank Golatowski
2Ziele der Vorlesung
3Gliederung
4Vergleichende Betrachtungen
- Reaktionszeiten
- Systemfunktionen
- Entwicklungsumgebung
- Netzwerkintegration
5Echtzeit-Benchmarks
- feinkörnige Benchmarks
- applikationsorientierte Benchmarks
- simulationsbasierende Benchmarks
6Benchmarks
- Rhealstone (Kar,Porter 1987)
- Rabindra Kar, K. Porter Rhealstone - a real-time
benchmarking proposalDr. Dobbs Journal,
February 1989 - Rabindra Kar, Implementing the rhealstone
real-time benchmarkDr. Dobbs Journal, April
1990 - Furht et al. Real-Time Unix Systems Design and
Applications, Kluwer 1991 - Hartstone (Weidermann 1991)
- Ballista COTS Software Robustness Testing
- 1997 EDN Embedded Microprocesor Benchmarking
Consortium (EEMBC)www.eembc.com
7Embedded Microprocessor Benchmark
- Die im April 1997 gegründete Organisation EDN
Embedded Microprocessor Benchmarking Consortium
EEMBC (www.eembc.org) hat es sich zur Aufgabe
gemacht, trotz der vielfältigen
Prozessor-Landschaft eine Standard-Benchmark-Suite
für Embedded Prozessoren zu entwickeln.
Inzwischen sind 28 Hersteller Mitglieder der
EEMBC, unter ihnen alle wichtigen und
einflußreichen Hersteller von Mikrocontrollern
und Prozessoren. EEMBC hat sich auf die Fahnen
geschrieben, Benchmarks für Prozessoren und
Controller von 8 bit bis 64 bit zu entwickeln,
inklusive Digitaler Signalprozessoren. Fünf
Arbeitsgruppen widmen sich den folgenden
Test-Kategorien
8Embedded Microprocessor Benchmark
- Automotive/Industrial Benchmarks für Steuerung
und Regelung wie FFT, Table Lookup oder
Matrixoperationen. - Consumer Bildinterpolation, IrDa-Protokoll,
JPEG-Kompression und -Dekompression. - Networking Route Lookup.
- Office Automation Bezier-Kurven,
String-Verarbeitung, Bitmap-Manipulation. - Telecommunications.
9Embedded Microprocessor Benchmark
- Die Benchmarks befinden sich derzeit im
Versionsstand 0.9. Zum Telekommunikations-Benchmar
k gibt es noch keine Informationen, während der
Automotive-Benchmark mit 16 Testroutinen am
weitesten gediehen ist. Die Testprogramme sind in
ANSI-C geschrieben, damit die Portabilität auf
alle Toolketten für Embedded Prozessoren und DSPs
gewährleistet ist. Getestet wird nicht der
Prozessorkern alleine, sondern die Gesamtheit aus
Prozessor und Entwicklungssoftware. - Ein Zeichen dafür, daß die EEMBC Benchmark Suite
noch in einem frühen Entwicklungsstadium ist, ist
die Tatsache, daß trotz der 28 EEMBC-Mitglieder
nur Benchmark-Ergebnisse für zehn Prozessoren
existieren. Dabei stellt Infineon mit dem C167CS
den einzigen 16-bit-Prozessor. Alle anderen sind
32- oder 64-bit-CPUs. Der Automotive-Benchmark
wurde für fünf Prozessoren veröffentlicht. Die
Ergebnisse sind in der Tabelle wiedergegeben.
10EEMBC Test-Kategorien
- Automotive/Industrial Benchmarks für Steuerung
und Regelung wie FFT, Table Lookup oder
Matrixoperationen. - Consumer Bildinterpolation, IrDa-Protokoll,
JPEG-Kompression und -Dekompression. - Networking Route Lookup.
- Office Automation Bezier-Kurven,
String-Verarbeitung, Bitmap-Manipulation. - Telecommunications.
11Automotive
- 1 - Table Lookup Interpolation2 - Angle to
Time Conversion3 - Pulse Width Modulation (PWM)
4 - CAN Remote Data Request 5 - Tooth to
Spark 6 - Road Speed Calculation 7 - Infinite
Impulse Response (IIR) Filter 8 - Bit
Manipulation 9 - Basic Integer and Floating
Point 10 - Pointer Chasing 11 - Matrix
Arithmetic 12 - Cache Buster 13 - Inverse
Discrete Cosine Transform (iDCT) 14 - Fast
Fourier Transform (FFT) 15 - Inverse Fast
Fourier Transform (iFFT) 16 - Finite Impulse
Response (FIR) Filter
12Consumer
- 1 - Compress JPEG2 - Decompress JPEG3 -
High Pass Grey-scale Filter4 - RGB to CMYK
Conversion5 - RGB to YIQ Conversion
13Networking
- 1 - Open Shortest Path First/Dijkstra2 -
Patricia3 - Packet Flow
14Office Automation
- 1 - Bezier Curve Calculation2 - Dithering3
- Image Rotation4 - Text Processing
15Telecommunication
- 1 - Autocorrelation2 - Bit Allocation3 -
Inverse Fast Fourier Transform (iFFT)4 - Fast
Fourier Transform (FFT)5 - Viterbi Decoder6 -
Convolutional Encoder
16Embedded Microprocessor Benchmark
Prozessor AMD K6-2 ARM 920T Infineon SAB C167CS Motorola PowerPC 555 NEC V832
Beschreibung 450 MHz, 100 MHzfront side bus 160 MHz, 32 bit RISC CPU 25 MHz, 16 bit CPU 40 MHz, 32 bit RISC CPU 143 MHz 32 bit RISC CPU
Compiler Microsoft Visual C/C ARM Develop-ment Kit 2.50 Keil C166 Compiler v3.12 Diab Data 4.3p Rev6 Green Hills Multi Version 1.8.1
Table Lookup 319264,4 43478,3 1890,4 14767 31559,1
Angle-to-time 715563,5 73529,4 9652,5 36273,2 17115
Pulse-width Modulation 1347708,9 344827,6 32679,7 59740,2 147146,2
CAN 2812148,5 438596,5 45871,6 104860,8 204334,8
Tooth-to-Spark 125552,4 15151,5 761 4861,4 10482,5
Road Speed 2180444,7 454545,4 44247,8 66343,7 199601,7
IIR 96374,4 9708,7 2481,4 8380 8703,4
Bit-Manipulation 11859,6 2702,7 136,9 340,8 876,6
Int FP 384615,4 6153,9 862,8 13294,5 2179,6
Pointer-Chasing 23738,1 3361,3 287,7 593,7 1619,4
Matrix Math 1375,4 - 3,6 65,7 7,5
CacheBuster 982318,3 468750 28571,4 78389,5 175682
iDCT 15220,7 2083,3 57,7 470,6 976,1
FFT 627,4 125 10,3 34,5 46,8
iFFT 682,7 9,1 37,2 49,9
FIR 46581 21276,6 1919,4 4347,8 11605,7
17Rhealstone
- Task switching time tTS
- Interrupt latency time tIL
- Preemption Time tP
- Semaphore shuffling time tSS
- Deadlock breaking time tDB
- Datagram throughput kBytes/s
- Rhealstone- Wert
- R f1 f2 f3 f4 f5 f6
- Gewichteter Rhealstone- Wert
- RW c1f1 c2f2 c3f3 c4f4 c5f5 c6f6
18Task Switching TimeTaskumschaltzeit
Task number
Task 3
Task 2
Task1
Time
t3
t2
t1
19Bestimmung der Taskumschaltzeit
20Preemption Time
Task number
Task 3
(high)
Task 2
(medium)
Task1
(low)
Time
t2
t1
21Bestimmung der Preemption Time
22Semaphore shuffling time
23Semaphore shuffling time
24Interrupt latency time
25Deadlock
26Deadlock breaking time
27Deadlock breaking time II
28Bestimmung der Deadlock breaking time
29Datagram throughput
30Rhealstone-BenchmarkMeßwerte
Interrupt Latency Time Task Switching Time Preemption Time Intertask Message Time Semaphore Shuffling Time Datagram throughput
RMOS3-PC1 10,1 4,0 4,1 5,8 4,4 6,2
RMOS3 für Windows 31,1 23,0 23,4 32,0 23,0 29,0
Lynx 17,6 27,0 105,0 337,0 113,5 n.e.
Unix SV Rel. 4 (SORIX) n.e 137,0 480,0 755,6 450,0 n.e.
31Rhealstone-BenchmarkMeßwerte