Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Echtzeitbetriebssysteme VII

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Echtzeitbetriebssysteme VII"—  Präsentation transkript:

1 Vorlesung Echtzeitbetriebssysteme VII
Vorlesung Echtzeitbetriebssysteme VII. Leistungsbewertung von Echtzeitbetriebssystemen Dr.-Ing. Frank Golatowski

2 Ziele der Vorlesung

3 Gliederung

4 Vergleichende Betrachtungen
Reaktionszeiten Systemfunktionen Entwicklungsumgebung Netzwerkintegration

5 Echtzeit-Benchmarks feinkörnige Benchmarks
applikationsorientierte Benchmarks simulationsbasierende Benchmarks

6 Benchmarks Rhealstone (Kar,Porter 1987) Hartstone (Weidermann 1991)
Rabindra Kar, K. Porter „Rhealstone - a real-time benchmarking proposal” Dr. Dobb’s Journal, February 1989 Rabindra Kar, “Implementing the rhealstone real-time benchmark” Dr. Dobb’s 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)

7 Embedded Microprocessor Benchmark
Die im April 1997 gegründete Organisation «EDN Embedded Microprocessor Benchmarking Consortium» EEMBC ( 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:

8 Embedded 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.

9 Embedded Microprocessor Benchmark
Die Benchmarks befinden sich derzeit im Versionsstand 0.9. Zum Telekommunikations-Benchmark 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.

10 EEMBC: 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.

11 Automotive #1 - Table Lookup & Interpolation #2 - Angle to Time Conversion #3 - 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

12 Consumer #1 - Compress JPEG #2 - Decompress JPEG #3 - High Pass Grey-scale Filter #4 - RGB to CMYK Conversion #5 - RGB to YIQ Conversion

13 Networking #1 - Open Shortest Path First/Dijkstra #2 - Patricia #3 - Packet Flow

14 Office Automation #1 - Bezier Curve Calculation #2 - Dithering #3 - Image Rotation #4 - Text Processing

15 Telecommunication #1 - Autocorrelation #2 - Bit Allocation #3 - Inverse Fast Fourier Transform (iFFT) #4 - Fast Fourier Transform (FFT) #5 - Viterbi Decoder #6 - Convolutional Encoder

16 Embedded 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 ,9 344827,6 32679,7 59740,2 147146,2 CAN ,5 438596,5 45871,6 104860,8 204334,8 Tooth-to-Spark 125552,4 15151,5 761 4861,4 10482,5 Road Speed ,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 Embedded Microprocessor Benchmark

17 Rhealstone 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

18 Task Switching Time Taskumschaltzeit
Task number Task 3 Task 2 Task1 Time t1 t2 t3

19 Bestimmung der Taskumschaltzeit
ready PAUSE loops for > 1ms wait for 1ms Task 2 Task 1

20 Preemption Time Task number Time t1 t2 Task 3 (high) Task 2 (medium)
(low) Time t1 t2

21 Bestimmung der Preemption Time
ready loops for > 1ms wait for 1ms PAUSE Task 2 (low priority) Task 1 (high priority)

22 Semaphore shuffling time
= task relinquishes semaphor = task requests semaphor Task 1 Task 2 Task number Time Semaphor Ownership

23 Semaphore shuffling time
loops for > 1ms t2 t1 Task 2 Task 1 Semaphor Ownership ready wait for 1ms PAUSE rsf wait tsf

24 Interrupt latency time
Interrupt latency time = t1 t1 Interrupt handler Task t Note: CPU receives interrupt at time "t" Time

25 Deadlock Task number Task 2 Task 1 Time Deadlock
Semaphor Ownerchip 2 Ownerchip 1 Deadlock = task requests semaphor 2 = task requests semaphor 1 Task number Time

26 Deadlock breaking time
Tb Task 2 Task 1 = task relinquishes semaphor Task 3 (high priority) Semaphor Ownerchip = task requests semaphor Task number Time (medium priority) (low priority)

27 Deadlock breaking time II
Deadlock breaking time = t1 + t2 t2 t1 = task preemption Task 3 ? Task3 (high priority) = task relinquishes semaphor = task requests semaphor Task 1 Time Critical Ressource Owner Task2 (medium priority) Task1 (low priority)

28 Bestimmung der Deadlock breaking time
priority of task 3 inherent priority Task 1 Priority Task 2 ready wait for sem_t rsf rest of loops tsf wait for 1ms Task 3 (high) Semaphor Ownership PAUSE loops for > 1ms (medium) (low priority) loops for > 1/4ms

29 Datagram throughput t (message) Task number Time Task 2 Task1

30 Rhealstone-Benchmark: Meß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 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

31 Rhealstone-Benchmark: Meßwerte


Herunterladen ppt "Vorlesung Echtzeitbetriebssysteme VII"

Ähnliche Präsentationen


Google-Anzeigen