1 / 31

Vorlesung Echtzeitbetriebssysteme VII. Leistungsbewertung von Echtzeitbetriebssystemen

Vorlesung Echtzeitbetriebssysteme VII. Leistungsbewertung von Echtzeitbetriebssystemen. Dr.-Ing. Frank Golatowski. Ziele der Vorlesung. Gliederung. Vergleichende Betrachtungen. Reaktionszeiten Systemfunktionen Entwicklungsumgebung Netzwerkintegration. Echtzeit-Benchmarks.

Télécharger la présentation

Vorlesung Echtzeitbetriebssysteme VII. Leistungsbewertung von Echtzeitbetriebssystemen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VorlesungEchtzeitbetriebssysteme 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) • 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)www.eembc.com

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

  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

  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 TimeTaskumschaltzeit Task number Task 3 Task 2 Task1 Time t1 t2 t3

  19. Bestimmung der Taskumschaltzeit Task 1 PAUSE loops for > 1ms PAUSE wait for 1ms ready Task 2 loops for > 1ms PAUSE ready wait for 1ms ready t1 t2 t3

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

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

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

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

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

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

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

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

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

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

  30. Rhealstone-Benchmark:Meßwerte

  31. Rhealstone-Benchmark:Meßwerte

More Related