Performance Messungen von FreeRTOS und



Ähnliche Dokumente
RTEMS- Echtzeitbetriebssystem


Windows CE. Process Control and Robotics. Fabian Garagnon

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

An integrated total solution for automatic job scheduling without user interaction

Inbetriebnahme Profinet mit Engineer. Inhaltsverzeichnis. Verwendete Komponenten im Beispiel:

Operating System Kernels

Übungsklausur vom 7. Dez. 2007

TIPES Fernabschlag Programm Beschreibung

Technical Note 0302 ewon

Verwendung von OO-Metriken zur Vorhersage

Embedded OS für ARM Cortex Microcontroller

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Anforderungen an die HIS

Serieller S-Bus reduziertes Protokoll (Level 1)

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Konfigurationsanleitung Astimax (SIP) an RT1202 (ISDN) Graphical User Interface (GUI) Seite - 1 -

Name: ES2 Klausur Thema: ARM Name: Punkte: Note:

Matrix42. Use Case - Anlegen einer neuen Störung über den Service Catalog. Version März

Entwicklungen bei der Linux Clustersoftware

MehrWert durch IT. REALTECH Assessment Services für SAP Kosten und Performance Optimierung durch Marktvergleich

Stichprobenauslegung. für stetige und binäre Datentypen

Produktmanagement vom Kundenticket zum Release

EASY Starter OPC UA Server

Verbindung zwischen PC und Mikrokontroler Blue-Tooth-Modul Schaltung Parametrierung kein zusätzliches LF

Quanton Manual (de) Datum: URL: )

GSM: Airgap Update. Inhalt. Einleitung

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

Im Kapitel Resourc Manager werden die verschiedenen Möglichkeiten der Überwachung von Messwerten eines Server oder Benutzers erläutert.

DVB-S Empfangsgerät, Videorecorder und Fernseher (Fernseher mit zwei Scart- (oder HDMI-)Eingängen)

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Fallbeispiel. Auswahl und Evaluierung eines Software- Lokalisierungstools. Tekom Herbsttagung 2004 Angelika Zerfaß

Konfigurationsanleitung Fax over IP (T.38) und CAPI Fax Server (T.30) Graphical User Interface (GUI) Seite - 1 -

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Dämon-Prozesse ( deamon )

MH - Gesellschaft für Hardware/Software mbh

Herzlich Willkommen. Roland Kistler. Tel. +49 (89) Sales Engineer. Folie 1

Prozessbewertung und -verbesserung nach ITIL im Kontext des betrieblichen Informationsmanagements. von Stephanie Wilke am

Inbetriebnahme grabbmodul-1 / minimodul-16x bzw. smarteye-1

RDS Consulting. Support Handbuch. Version 1.0

Projekt: iguard (v )

Wärmedämmungsexperiment 1

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung

Informationswirtschaft II Rational Unified Process (RUP)

Multi-Server Shutdown. Folie 1

Informationswirtschaft II

SharePoint Demonstration

Übersicht und Dokumentation der Reset- Funktionen der IO CONNECT

Einführung in die Echtzeitbetriebssysteme

Installation OMNIKEY 3121 USB

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Pilot Drivers Package. Handbuch

Studientag 1793 Software Engineering I. 6. Juli 2014

METTLER TOLEDO ETHERNET-Option

SJ OFFICE - Update 3.0

Switching. Übung 7 Spanning Tree. 7.1 Szenario

Qt-Projekte mit Visual Studio 2005

Cisco Security Monitoring, Analysis & Response System (MARS)

Zukunft der Call-Center mitbestimmen

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013


INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

eclips Handheld Remote Control Software Updater

OSEK/VDX NM (Network Management)

Technical Note 0301 ewon

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihr vorhandenes PMS-System mit der IAC-BOX verbinden und konfigurieren.

Virtuelle Maschinen. von Markus Köbele

Bedienungsanleitung TIME IT. a Look Solutions 1 product

Einstellung. Erinnerung. Kaufimpulse.

Wine - Windows unter Linux

Anleitung zur Nutzung des SharePort Utility

Erfahrungen mit Hartz IV- Empfängern

AKTUALISIERUNG DER SOFTWARE (ANDROID 4.4) FÜR KIANO ELEGANCE 9.7 by ZANETTI

Kurzbeschreibung GVB-Marktstudie. Top-Anbieter von Telematiksystemen in der Transportlogistik

Lösungen für ein sicheres System Management

HYPERCOM MEDHYBRID EINRICHTUNG UNTER DAMPSOFT

Dokumentation. Erstellung eines bootfähigen USB-Sticks zur Veränderung einer bestehenden Partitionierung

Konfigurationsanleitung SIP Trunking und ISDN Anlagenanschluss Graphical User Interface (GUI) Seite - 1 -

Informationen zum Einstellen des SIP-Telefons Grandstream GXV 3275

Dokumentation Schedulingverfahren

Clientkonfiguration für Hosted Exchange 2010

Comparison of Software Products using Software Engineering Metrics

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

GMM WLAN-Transmitter

Themen des Kapitels. 2 Übersicht XenDesktop

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Umstieg auf Microsoft Exchange in der Fakultät 02

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Installationsanleitung. CAPAX Dongle-Server V

Transkript:

Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf

Outline 1 Ziel dieser Präsentation 2 Grundlagen 3 Entscheidungskriterien Allgemeine Metrics Messbare Metrics Messsystem 4 Messungen Allgemeines Beispiel Interrupt Response 5 Vergleich Gesamtresultat Allgemeine Metrics Messbare Metrics

Ziel Ziel dieser Präsentation Ziel? Gegenüberstellen der Echtzeitbetriebssysteme freertos und µc/os-iii auf den ARM-Architekturen XScale PXA-270 und LM3S9B92 Cortex-M3. Lösung Finden von geeigneten Entscheidungskriterien (Metrics), damit ein objektiver Vergleich möglich ist. Bewerten und gewichten der einzelnen Entscheidungskriterien.

Ziel Ziel dieser Präsentation Ziel? Gegenüberstellen der Echtzeitbetriebssysteme freertos und µc/os-iii auf den ARM-Architekturen XScale PXA-270 und LM3S9B92 Cortex-M3. Lösung Finden von geeigneten Entscheidungskriterien (Metrics), damit ein objektiver Vergleich möglich ist. Bewerten und gewichten der einzelnen Entscheidungskriterien.

Software freertos Eigenschaften freertos RTOS unter einer modifizierten GPL-Lizenz erhältlich Optionale kostenpflichtige Versionen (openrtos und safertos) Preemtives Multitasking mit Round Robin Scheduling IPC-Mechanismen: Binäre Semaphoren Counting Semaphoren Mutex Semaphoren Message Queues 27 unterstützte Architekturen [1]

Software µc/os-iii Eigenschaften µc/os-iii Kostenplichtiges RTOS von Micrium Source beim Kauf einer Lizenz verfügbar; Royalty Free Preemtives Multitasking mit Round Robin Scheduling IPC-Mechanismen: Binäre Semaphoren Counting Semaphoren Mutex Semaphoren Message Queues Event Flags Memory Management 45 unterstützte Architekturen [2]

Allgemeine Metrics Allgemeine Metrics Metric Gewichtung Metric Gewichtung Kernel 8.0% Multicore Unterstützung 0.8% Zusätzliche Module 2.4% Skalierbarkeit 2.4% Unterstützte Standards 2.4% Scheduler 4.0% Scheduling Algorithmus 2.8% Anzahl unterstützte Prioritäten 1.2% Task Modell 2.0% Maximale Anzahl Tasks 1.2% Dynamisches ändern der Prioritäten 0.8% Kommerzielle Überlegungen 10.0% Kosten 2% Dokumetation / Support Dakumentation 2.0% Internetauftritt 2.0% Forum 2.0% Kontaktperson 2.0% API-Umfang 15.0% IPC-Mechanismen Binäre Semaphoren 1.0% Counting Semaphoren 1.0% Mutex Semaphoren 1.0% Message Queues 1.0% Mailboxes 1.0% Event Flags 1.0% Pipes 1.0% Condition Varaibles 1.0% Signals 1.0% Hook Funktionen 1.5% Stack-Überwachung 3% Statistik Task 1.5% Entwicklungsüberlegungen 6.0% RTOS als Source vorhanden 2.4% Unterstützte Architekturen 3.6% Allgemeine Metrics Gewichtung 45.0%

Messbare Metrics Messbare Metrics Metric Gewichtung Interrupt Response 13.0% Eigenschaften welche der Kernel abhängig von der Architektur und den gewählten Entwicklungstools aufweist. Es interessieren die maximalen Zeiten. Interrupt Response Task Level 12.0% System Call Latenzzeit 5.0% Context Switch Overhead 12.0% Jitter eines periodischen Tasks 8.0% Ressourcen Verbrauch 5.0% Datentypen 2.5% Programmspeicher 2.5% Messbare Metrics Gewichtung 55.0%

Messsystem Messsystem Anforderungen Messsystem Das Messsystem muss folgende Kriterien erfüllen: Genügende Auflösung und Genauigkeit Messungen über längere Zeit aufzeichnen Alle Messdaten aufzeichnen (Keine Komprimierung oder verpassten Messdaten)

Messsystem Beispiel Interrupt Response 1 Auslösen eines Interrupts mit dem Signalgenerator Erfassungssystem startet Counter 2 Controller wechselt vom Task- in den Interrupt-Level 3 Interrupt Service Routine (ISR) wird ausgeführt 4 Controller setzt den ReactionGPIO Erfassungssystem stoppt Counter 5 Counter-Wert mittels serieller Schnittstelle an Aufzeichnungssystem senden

Messsystem Beispiel Interrupt Response 1 Auslösen eines Interrupts mit dem Signalgenerator Erfassungssystem startet Counter 2 Controller wechselt vom Task- in den Interrupt-Level 3 Interrupt Service Routine (ISR) wird ausgeführt 4 Controller setzt den ReactionGPIO Erfassungssystem stoppt Counter 5 Counter-Wert mittels serieller Schnittstelle an Aufzeichnungssystem senden

Messsystem Beispiel Interrupt Response 1 Auslösen eines Interrupts mit dem Signalgenerator Erfassungssystem startet Counter 2 Controller wechselt vom Task- in den Interrupt-Level 3 Interrupt Service Routine (ISR) wird ausgeführt 4 Controller setzt den ReactionGPIO Erfassungssystem stoppt Counter 5 Counter-Wert mittels serieller Schnittstelle an Aufzeichnungssystem senden

Messsystem Beispiel Interrupt Response 1 Auslösen eines Interrupts mit dem Signalgenerator Erfassungssystem startet Counter 2 Controller wechselt vom Task- in den Interrupt-Level 3 Interrupt Service Routine (ISR) wird ausgeführt 4 Controller setzt den ReactionGPIO Erfassungssystem stoppt Counter 5 Counter-Wert mittels serieller Schnittstelle an Aufzeichnungssystem senden

Messsystem Beispiel Interrupt Response 1 Auslösen eines Interrupts mit dem Signalgenerator Erfassungssystem startet Counter 2 Controller wechselt vom Task- in den Interrupt-Level 3 Interrupt Service Routine (ISR) wird ausgeführt 4 Controller setzt den ReactionGPIO Erfassungssystem stoppt Counter 5 Counter-Wert mittels serieller Schnittstelle an Aufzeichnungssystem senden

Allgemeines Allgemeines Messungen Die messbaren Metrics werden stark durch die Einstellung des Systems beeinflusst. Konfiguration und Version des eingesetzten RTOS Belastung des Systems durch Interrupts und oder andere Tasks Zuteilung der Task- und Interrupt-Prioritäten Entwicklungstools und deren Einstellungen... Metrics müssen bei verschiedenen untereinander vergleichbaren Einstellungen ausgemessen werden.

Allgemeines Allgemeines Messungen Die messbaren Metrics werden stark durch die Einstellung des Systems beeinflusst. Konfiguration und Version des eingesetzten RTOS Belastung des Systems durch Interrupts und oder andere Tasks Zuteilung der Task- und Interrupt-Prioritäten Entwicklungstools und deren Einstellungen... Metrics müssen bei verschiedenen untereinander vergleichbaren Einstellungen ausgemessen werden.

Beispiel Interrupt Response Beispiel Interrupt Response I LM3S9B92 Cortex-M3 OS Konfiguration: Standard (OS-Tick, Debug Variablen, Hook Funktionen, Stack Overflow Test,...) Beschreibung: ExtInterrupt @ PrioLevel5 500Hz OSTick @ PrioLevel7 100Hz Ein LED-Task @ LowPrio 10Hz Optimization: -O2

Beispiel Interrupt Response Beispiel Interrupt Response II Diese Folie wurde aus Lizenzgründen weggelassen

Gesamtresultat Gesamtresultat Diese Folie wurde aus Lizenzgründen weggelassen

Allgemeine Metrics Allgemeine Metrics freertos + Unter modifizierten GPL-Lizenz erhältlich + Internetauftritt und Forum µc/os-iii + Grosser API-Umfang + Zusätztliche Module (GUI, FileSystem, USB,...) + Unterstützung von Standards in Bearbeitung (DOB178B, IEC61508,...)

Messbare Metrics Interrupt Response Diese Folie wurde aus Lizenzgründen weggelassen

Messbare Metrics Context Switch Overhead Diese Folie wurde aus Lizenzgründen weggelassen

Schlussteil Schlusswort Bewertung des Gesamtresultates Die Resultate zeigen, dass es keine relevanten Unterschiede zwischen µc/os-iii und freertos gibt. Achtung! Diese Aussage gilt für die gewählte Gewichtung der Kriterien!

Schlussteil Schlusswort Bewertung des Gesamtresultates Die Resultate zeigen, dass es keine relevanten Unterschiede zwischen µc/os-iii und freertos gibt. Achtung! Diese Aussage gilt für die gewählte Gewichtung der Kriterien!

Schlussteil Fragen Fragen???

Quellenverzeichnis [1] Homepage freertos www.freertos.org/ Stand August 2011 [2] Micrium Homepage http://micrium.com Stand August 2011 [3] Wacher Tim Performance Measurement of RTOS BFH-TI; MSc Engineering Projektarbeit 2 Burgdorf; 26. Januar 2011