Echtzeitverhalten durch die Verwendung von CPU Stubs: Eine Erweiterung von Dynamic Performance Stubs. Echtzeit 2009

Ähnliche Dokumente
SWE12 Übungen Software-Engineering

Formular»Fragenkatalog BIM-Server«

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Erstellen einer in OWA (Outlook Web App)

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Erfahrungen mit Hartz IV- Empfängern

E-Cinema Central. VPN-Client Installation

Installationsanleitung für Magento-Module

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Klassenentwurf. Wie schreiben wir Klassen, die leicht zu verstehen, wartbar und wiederverwendbar sind? Objektorientierte Programmierung mit Java

Durch Drücken des Buttons Bestätigen (siehe Punkt 2) wird Ihre an Ihr Outlookpostfach weiterleiten.

OUTSOURCING ADVISOR. Analyse von SW-Anwendungen und IT-Dienstleistungen auf ihre Global Sourcing Eignung. Bewertung von Dienstleistern und Standorten

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

How to do? Projekte - Zeiterfassung

GRS SIGNUM Product-Lifecycle-Management

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Sage Start Zahlungsmethoden Anleitung. Ab Version

NTT DATA Helpdesk Benutzerhandbuch

Welchen Nutzen haben Risikoanalysen für Privatanleger?

Mindestanforderungen an Systemumgebung Für die Nutzung von excellenttango

Internet Explorer Version 6

DURCH VIDA ERZEUGTE PROTOKOLLDATEIEN 1 EINFÜHRUNG

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Social Media Einsatz in saarländischen Unternehmen. Ergebnisse einer Umfrage im Mai 2014

Online-Prüfungs-ABC. ABC Vertriebsberatung GmbH Bahnhofstraße Neckargemünd

IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit


StuPro-Seminar Dokumentation in der Software-Wartung. StuPro-Seminar Probleme und Schwierigkeiten in der Software-Wartung.

Was meinen die Leute eigentlich mit: Grexit?

Softwaretests in Visual Studio 2010 Ultimate Vergleich mit Java-Testwerkzeugen. Alexander Schunk Marcel Teuber Henry Trobisch

Software Project Bidding. Éger István N5NLP3

Alice SmartDisk. Auf dem PC - Schritt für Schritt erklärt

Lizenzierung von StarMoney 8.0 bzw. StarMoney Business 5.0 durchführen

Künstliches binäres Neuron

Managed Reseller im Partner Incentives-Portal. Erste Schritte: Anzeigen von Einnahmen

Fehler und Probleme bei Auswahl und Installation eines Dokumentenmanagement Systems

Projekte für reale Herausforderungen Projektarbeit: Einleitung und Gliederung. Projekte für reale Herausforderungen

Software-Validierung im Testsystem

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

DOS-Sympas Scope Dateien in Excel einlesen

SJ OFFICE - Update 3.0

Datenübernahme easyjob 3.0 zu easyjob 4.0

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

Apple Train the Trainer 08 Developer Programs. Josef Kolbitsch

Tutorial Windows XP SP2 verteilen

Internet online Update (Internet Explorer)

Anleitung Hosted Exchange

Bedienungsanleitung. Einfach kommunizieren.

Matrix42. Matrix42 Cloud Trial Erste Schritte. Version

Hinweis, sofern Sie Probleme beim Download der Excel-Dateien für das LIOS-Makro haben:

Hilfe zur Urlaubsplanung und Zeiterfassung

Fragebogen: Abschlussbefragung

Die Invaliden-Versicherung ändert sich

Benutzerhandbuch MedHQ-App

visionapp Base Installation Packages (vbip) Update

Handbuch USB Treiber-Installation

Softwareanforderungsanalyse

Übungsklausur vom 7. Dez. 2007

FUTURE NETWORK REQUIREMENTS ENGINEERING

Quantitatives Fit Testing CNC / CNP

Powermanager Server- Client- Installation

SDD System Design Document

Updatehinweise für die Version forma 5.5.5

Zimmertypen. Zimmertypen anlegen

FrontDoor/Monitor mehr sehen von FrontDoor

Synthax OnlineShop. Inhalt. 1 Einleitung 3. 2 Welche Vorteile bietet der OnlineShop 4

SF-RB. Modul Provisionsabrechnung & Planung Reiseagentenprovisionsabrechnung & Planung. SF-Software Touristiksoftware

Gründe für fehlende Vorsorgemaßnahmen gegen Krankheit

Proseminar Technische Informatik A survey of virtualization technologies

BU-Optimierung: Mehr Schutz für ALLE! Berufsunfähigkeit.

Entwicklung des Dentalmarktes in 2010 und Papier versus Plastik.

Mikrocontroller Grundlagen. Markus Koch April 2011

UserManual. Handbuch zur Konfiguration einer FRITZ!Box. Autor: Version: Hansruedi Steiner 2.0, November 2014

Die Coaching-Lösung der Nächsten Generation

Schnittstelle DIGI-Zeiterfassung

TimeSafe Zeiterfassung. Version 2.5 (April 2009)

Datenschutzeinweisungen per elearning

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Task: Nmap Skripte ausführen

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Installation und Inbetriebnahme von Microsoft Visual C Express

NbI-HS. NbIServ Bethenhausen Bethenhausen

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Technical Note 0302 ewon

Sichern der persönlichen Daten auf einem Windows Computer

ACDSee 2009 Tutorials: Rote-Augen-Korrektur

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

BFV Widget Kurzdokumentation

Transparente Hausverwaltung Marketingschmäh oder doch: eine neue Dimension der Dienstleistung?

SharePoint Demonstration

Java Enterprise Architekturen Willkommen in der Realität

Digitaler*Ausstellungsbegleiter*für*Mobilgeräte ** * * * Alter: Studiengang: Geschlecht: $ $ $ $ Datum: Falls%Ja,%welches? Falls%ja, %welches?

HOWTO Update von MRG1 auf MRG2 bei gleichzeitigem Update auf Magento CE 1.4 / Magento EE 1.8

Lync Erstunterweisung nach KBV. Gütersloh,

DeltaVision Computer Software Programmierung Internet Beratung Schulung

Einführung in. Logische Schaltungen

Betriebswirtschaftliches Beratungstool für Steuerberater Ziele, Inhalte und Struktur

Transkript:

Echtzeitverhalten durch die Verwendung von CPU Stubs: Eine Erweiterung von Dynamic Performance Stubs Echtzeit 2009 Peter Trapp, 20.11.2009

Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen Peter Trapp, 19.11.09 Slide 2

Projekt Umgebung Software Performance Optimierung in LTE Telekommunikationssystemen LTE Peter Trapp, 19.11.09 Slide 3

Probleme bei der Optimierung Welche Probleme gibt es bei Performance Optimierungen? Peter Trapp, 19.11.09 Slide 4

Probleme bei der Optimierung Welche Probleme gibt es bei Performance Optimierungen? Generell Optimierungen werden meist erst sehr spät druchgeführt Verursachen häufig hohen Aufwand, welcher nicht kalkuliert wurde Abschätzungen sind meist zu ungenau Peter Trapp, 19.11.09 Slide 5

Probleme bei der Optimierung I Welche Probleme gibt es bei Performance Optimierungen? Technisch Lediglich der nächste Falschenhals ist sichtbar Verbesserungen haben häufig nur geringe Auswirkungen Optimierungen hängen voneinander ab Der Quellcode wird häufig schwer verständlich, aufwendig zu warten und zu debuggen Während Wartungsarbeiten können Optimierungen unbeabsichtig rückgängig gemacht werden Peter Trapp, 19.11.09 Slide 6

Optimierungsfunktion Optimierungsfunktion eines einzelnen Software Moduls (vereinfacht) Optimierung isoliert Aufwand Peter Trapp, 19.11.09 Slide 7

Optimierungsfunktion Optimierungsfunktion eines SW Moduls innerhalb des Systems (vereinfacht) Optimierung opt. isoliert systemweit Aufwand Peter Trapp, 19.11.09 Slide 8

Optimierungsfunktion Optimierungsfunktion eines SW Moduls innerhalb des Systems (vereinfacht) Optimierung opt. isoliert systemweit Aufwand Wie kann das Optimum gefunden werden? Peter Trapp, 19.11.09 Slide 9

Performance Optimierung Fc1 10Mio Instructions Wie wird Software optimiert? Erstklassige Optimierung [5MM] Fc1 1Mio Instructions Weiterer Flaschenhals Fc1 Optimierung begrenzt durch das System (Faktor 2) Besser wäre gewesen: Fc1 5Mio Instructions Peter Trapp, 19.11.09 Slide 10

Performance Optimierung Fc1 10Mio Instructions Wie wird Software optimiert? Erstklassige Optimierung [5MM] Fc1 1Mio Instructions Weiterer Flaschenhals Fc1 Optimierung begrenzt durch das System (Faktor 2) Mehrfachmessungen Optimierungslevel für Fc1 wurde gefunden Besser wäre gewesen: Fc1 5Mio Instructions Peter Trapp, 19.11.09 Slide 11

Performance Optimierung Fc1 10Mio Instructions Wie wird Software optimiert? Erstklassige Optimierung [5MM] Fc1 1Mio Instructions Weiterer Flaschenhals Fc1 Optimierung begrenzt durch das System (Faktor 2) Besser wäre gewesen: Mehrfachmessungen Optimierungslevel für Fc1 wurde gefunden Optimierung [2MM] Fc1 5Mio Instructions Peter Trapp, 19.11.09 Slide 12

Vorteile der Methodik Was sind die Vorteile? Minimierung des Aufwands bei maximalen Gewinn Aufwand kann besser geschätzt werden Zielorientierte Optimierung Fundierte Abschätzungen des Gewinns Load & Stress Tests sind verfügbar (bei geringem Aufwand) Idealisierte Funktionen können gemessen werden (bzgl. Performance) Detailierte Messungen für verschiedene Funktionen Abhängigkeiten zwischen der SW und dem System sind identifizierbar Versteckte Flaschenhälse können gefunden werden Frühe Optimierungsergebnisse Peter Trapp, 19.11.09 Slide 13

Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen Peter Trapp, 19.11.09 Slide 14

Einleitung Wie werden verwendet? System Software Modul Performance Testumgebung Flaschenhals Peter Trapp, 19.11.09 Slide 15

Einleitung Wie werden verwendet? System Software Modul Flaschenhals Performance Testumgebung Peter Trapp, 19.11.09 Slide 16

Einleitung Wie werden verwendet? System Software Modul Flaschenhals Performance Testumgebung Dynamic Performance Stubs Peter Trapp, 19.11.09 Slide 17

Einleitung Wie werden verwendet? System Software Modul Performance Testumgebung Bottleneck Dynamic Performance Stub Peter Trapp, 19.11.09 Slide 18

Einleitung Wie werden verwendet? System Software Modul Performance Testumgebung Dynamic Performance Stub Peter Trapp, 19.11.09 Slide 19

Einleitung Wie werden verwendet? System Software Modul Performance Testumgebung Dynamic Performance Stub Peter Trapp, 19.11.09 Slide 20

Einleitung Wie werden verwendet? System Software Modul Performance Testumgebung Dynamic Performance Stub Peter Trapp, 19.11.09 Slide 21

Einleitung I Welche Ausprägungen gibt es? System Software Modul Performance Testumgebung Flaschenhals Bottleneck lokal Ersetzt Falschenhals Dynamic Performance Stub global Zusätzliches Modul Dynamic Performance Stub Peter Trapp, 19.11.09 Slide 22

Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen Peter Trapp, 19.11.09 Slide 23

Übersicht Framework Was sind? Framework SSF PSF PMF CF Stellt verschiedene Performanceverhalten zur Verfügung Kalibierung der PSF auf das Zielsystem Simuliert die eigentliche Funktionalität Basis Funktionen zur Performance Messung Peter Trapp, 19.11.09 Slide 24

Übersicht Framework Was sind? Framework SSF PSF Eher eine Werkzeugkiste als eine vollständig automatisierte Vorgehensweise PMF CF Peter Trapp, 19.11.09 Slide 25

Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen Peter Trapp, 19.11.09 Slide 26

CPU Performance Simulation Functions Wie werden CPU Stubs realisiert? CPU PSF System influencing System non-influencing Busy waiting void busyloop (int time) { for (int i; i < CONST*time; i++) ; } int main (void) { busyloop(busytime); } Warte auf Ausführung #include<unistd.h> int main (void){ usleep(sleeptime); } Peter Trapp, 19.11.09 Slide 27

Methodik Vorgehensweise 1. Flaschenhals (CUS) 2. Validierung Flaschenhals (optional) 3. Untersuchung Flaschenhals 4. SSF validieren 5. Flat CPU Stub (Optimierungspot.) 6. Idle CPU Stub (versch. Abhängigk.) 7. Optimierungsaufwand (Busy Stub) 8. Optimierung / Ziel erreicht? no: start over Peter Trapp, 19.11.09 Slide 28

Methodik I 1. Flaschenhals (CUS) Vorgehensweise SUT t SUT CUS (Flaschenhals) t CUS t CUS busy CPU CUS usage Peter Trapp, 19.11.09 Slide 29

Methodik II 2. Validierung Falschenhals Vorgehensweise SUT t SUT CUS (Flaschenhals) + System influencing t CUS Peter Trapp, 19.11.09 Slide 30

Methodik III 3. Untersuchung Flaschenhals Vorgehensweise CUS CPU usage 1 Peter Trapp, 19.11.09 Slide 31

Methodik III 4. SSF validieren Vorgehensweise CPU Stub SSF Peter Trapp, 19.11.09 Slide 32

Methodik IV 5. Flat CPU Stub Vorgehensweise Flat CPU Stub SSF t t STUB flat perf _ gain Peter Trapp, 19.11.09 Slide 33

Methodik IV 6. Idle CPU Stub Vorgehensweise Idle CPU Stub SSF + System noninfluencing Systemabhängigkeiten identifizieren Prozessabhängigkeiten identifizieren Peter Trapp, 19.11.09 Slide 34

Methodik V 7. Optimierungsaufwand ermitteln 7.1 Optimierungspotential ermitteln Vorgehensweise Busy CPU Stub SSF + System influencing 7.2 Schrittweise Änderungen, z.b. Schrittgröße 0.1 7.3 Kosten-Nutzen Analyse Optimierungspotential Aufwand Peter Trapp, 19.11.09 Slide 35

Übersicht 1 Introduction 2 (overview) 3 (framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen Peter Trapp, 19.11.09 Slide 36

Test Umgebung Hardware Intel Xeon 3 GHz HT deaktiviert Software Red Hat Enterprise Linux Kernel 2.6.9.22 Evaluierung & Messungen Simulierte Ausführung Automatisierte und Wiederholbare Ausführung Messungen mittels Time Stamp Counters Peter Trapp, 19.11.09 Slide 37

Ausgangssituation Messung des Flaschenhalses t t t SUT CUS CUS busy CPU CUS usage Schritt 1 Peter Trapp, 19.11.09 Slide 38

Analyse des Systems Messung mittels eines CPU Stubs Schritt 5 Peter Trapp, 19.11.09 Slide 39

Analyse des Systems I Messung mittels eines CPU Stubs Schritt 7 Peter Trapp, 19.11.09 Slide 40

Optimiertes System Messung nach der Optimierung Peter Trapp, 19.11.09 Slide 41

Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen Peter Trapp, 19.11.09 Slide 42

Zusammenfassung Resümee Aufbau von CPU Stubs Methodik zur Verwendung von CPU Stubs Anwendung von CPU Stubs an einem Beispiel Ersetzung von Softwaremodulen oder funktionen durch Stubs möglich (SSF) Peter Trapp, 19.11.09 Slide 43

Weiteres Vorgehen Was ist noch offen? Erweitere Methodik für nicht 100%-ig CPU gebundene Systeme Stubs zur Simulation weiterer Systemkomponenten, z.b.: Memory Überlagerung verschiedener Stubs Peter Trapp, 19.11.09 Slide 44

Vielen Dank für Ihre Aufmerksamkeit! Echtzeitverhalten durch die Verwendung von CPU Stubs: Eine Erweiterung von Dynamic Performance Stubs Peter Trapp, 20.11.2009 Hochschule Ingolstadt Institut für Angewandte Forschung (IAF) Peter Trapp Esplanade 10 85049 Ingolstadt Phone: +49-841-9348-625 Fax: +49-841-9348-99-625 E-mail: peter.trapp@haw-ingolstadt.de www: www.haw-ingolstadt.de/

Fragen? Christian Facchi, 20.11.2009 University of Applied Sciences Ingolstadt Institute for Applied Research (IAF) Peter Trapp Esplanade 10 85049 Ingolstadt Phone: +49-841-9348-625 Fax: +49-841-9348-99-625 E-mail: peter.trapp@fh-ingolstadt.de www: www.fh-ingolstadt.de/iaf Projekt: PerfOpt

Methodik IV 5. - 7. Flat / Idle / Busy CPU Stub Vorgehensweise Flat CPU Stub SSF Idle CPU Stub SSF + System Noninfluencing Busy CPU Stub SSF + System influencing t STUB flat t perf _ gain STUB t busy Peter Trapp, 19.11.09 Slide 47

Übersicht 1 Einleitung 2 (Übersicht) 3 (Framework) 4 Methodik CPU Stubs 5 Fallstudie CPU Stubs 6 Zusammenfassung & Weiteres Vorgehen

Übersicht Framework Was sind? Framework SSF Simuliert die eigentliche Funktionalität PSF PMF CF Peter Trapp, 19.11.09 Slide 49

Simulated Software Functionality I Was ist die Simulated Software Functionality? SSF SSF Dynamic Performance Stub Ersetzt die Funktionalität des eigentlichen Moduls damit die Software weiterhin ausgeführt werden kann Peter Trapp, 19.11.09 Slide 50

Übersicht Framework Was sind? Framework SSF PSF Stellt verschiedene Performanzverhalten zur Verfügung PMF CF Peter Trapp, 19.11.09 Slide 51

Performance Simulation Functions I Was sind Performance Simulation Functions? SSF PSF Simuliert das nicht funktionale Verhalten bezüglich eines Performanz Aspekts SSF Dynamic Performance Stub Peter Trapp, 19.11.09 Slide 52

Performance Simulation Functions II Welches Performanzverhalten kann simuliert werden? PSF CPU Speicher I/O Netzwerk Peter Trapp, 19.11.09 Slide 53

Performance Simulation Functions III Wie arbeiten PSF? PSF System beeinflussend System nicht-beeinflussend Peter Trapp, 19.11.09 Slide 54

Übersicht Framework Was sind? Framework SSF PSF PMF CF Basis Funktionen zur Performanz Messung Peter Trapp, 19.11.09 Slide 55

Performance Measurement Functions I SSF Was sind Performance Measurement Functions? PSF PMF SSF Dynamic Performance Stub Können zur Validierung und Messung des Performanz Verhaltens des Stubs und/oder Systems verwendet werden. System Peter Trapp, 19.11.09 Slide 56

Übersicht Framework Was sind? Framework SSF PSF PMF CF Kalibrierung der PSF auf das Zielsystem Peter Trapp, 19.11.09 Slide 57

Calibration Functions I Was sind Calibration Functions? SSF PSF setup & Validation SSF Dynamic Performance Stub Führt die entsprechende PSF aus und ergänzt diese um Messungen um das Verhalten zu validieren. Peter Trapp, 19.11.09 Slide 58