Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

Size: px
Start display at page:

Download "Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis"

Transcription

1 Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis Henning Schulz, Albert Flaig, Alexander Wert and André van Hoorn Symposium on Software Performance KIT SOFTWARE DESIGN AND QUALITY GROUP UNIVERSITY OF STUTTGART RELIABLE SOFTWARE SYSTEMS GROUP KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association University of Stuttgart

2 Motivation Application Performance? Application Performance Engineer Instrumentation 2/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

3 Instrumentation Overhead start end (no instrumentation) end (full instrumentation) methoda() methoda() methodb() methodb() methodd() methodd() methodc() methodc() time 3/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

4 Adaptive Instrumentation start end (no instrumentation) end (full instrumentation) methoda() methoda() methodb() methodb() methodd() methodd() methodc() time 4/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

5 Kieker vs. AIM Kieker ( Instrumentation at application start-up Statically adaptive instrumentation Extensible (writer, etc.) Analysis infrastructure Focus on production Regexps for adaptive monitoring AIM ( Instrumentation on demand Dynamically adaptive Extendable (writer, etc.) No analysis at all Focus on experiments Instrumentation description language Use dynamic adaptive instrumentation from AIM Use instrumentation description language Use Kieker s monitoring & analysis infrastructure 5/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

6 AIM IN EXPERIMENT-BASED CONTEXT Henning Schulz: Adaptive Instrumentation of Java- Applications for Experiment-Based Performance Analysis, Bachelor s Thesis, Karlsruhe Institute of Technology, / Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

7 AIM :Instrumentation Description :Instrumentation Entity instrumentation entity Instrumentation Description Measurement Data Java Process Target Application how :Response Time Probe probe AIM Agent Injected Probes scope :Method Scope pattern = my.package.*(int) where JVM 7/ Henning Schulz - AIM in Experiment-Based Context

8 Evaluation AIM is comparable to existing approaches Compare to Kieker and DiSL Instrumentation process: fast for < 500 methods comparatively slow for > 500 methods Instrumentation overhead: smaller than Kieker s Benefits of adaptapable instrumentation Automated Palladio Resource Demand Estimation 8/ Henning Schulz - AIM in Experiment-Based Context

9 Automated Estimation of Palladio Resource Demands Derive Call Tree TPC-W Deployment enter A methoda() Palladio Model of TPC-W methodb() methodc() methodd() enter B enter C exit C exit B enter D exit D exit A Measure Response Times of All Methods in the Call Tree methoda() methodb() Insert Resource Demands into PCM Model methodc() methodd() enter A enter B enter D enter C exit C exit B exit D exit A Pr 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% Derive Resource Demands by Subtraction of Response Times Simulate Compare Simulation Results response time 9/ Henning Schulz - AIM in Experiment-Based Context

10 Comparing PRD Qualities mean [ms] Reference AIM (adaptive) AIM (full) Kieker (adaptive) Kieker (full) mean error [%] Measurement Simulation Legend: R: Reference A a : AIM adaptive A f : AIM full K a : Kieker adaptive K f : Kieker full 10/ Henning Schulz - AIM in Experiment-Based Context

11 INTEGRATION OF KIEKER & AIM Albert Flaig: Dynamic Instrumentation in Kieker Using Runtime Bytecode Modification, Bachelor s Thesis, University of Stuttgart, / Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

12 Statically Adaptive Monitoring in Kieker Expensive Checks all Instrumentation Patterns Result is cached Illustration based on Waller et al. (2012) 12/ Albert Flaig - Integration AIM/Kieker

13 Dynamically Adaptive Monitoring in Kieker MonitoredClass monitoredmethod() Illustration based on Waller et al. (2012) 13/ Albert Flaig - Integration AIM/Kieker

14 AIM Integration in Kieker JMX Client Kieker Monitoring Controller Instrumentation Patterns Instrumentation Pattern Process of External Tool Pattern List Loaded Classes Data Flow Component Piece of Data Java Process JVM Instr. API Instrumentation Execution Probe Record Kieker Instrumentor Target Application AIM Probe Snippet BCInjector Methods to instrument Hotswap Javassist Instrumented Classes 14/ Albert Flaig - Integration AIM/Kieker

15 Evaluation Bytecode instrumentation vs. Manual 1. Overhead RQ1: How does it fare in terms of performance? 2. Turnaround RQ2a: How does it fare in terms of turnaround time? RQ2b: Does it scale well? 3. Lost Transactions RQ3: Is it reliable? MooBench 15/ Albert Flaig - Integration AIM/Kieker

16 Evaluation 1: Overhead Comparison Execution Time (µs) Manual Instrumentation Bytecode Instrumentation No Probe Deactivated Probe Collecting Data Writer 16/ Albert Flaig - Integration AIM/Kieker

17 Evaluation 2: Turnaround (Setting) Bytecode Instrumentation Turnaround = Activating probe + first execution of probe Activating probe invokes BCI Manual Instrumentation Turnaround = Activating probe + first execution of probe First execution of probe invokes caching Instrumenting 1,000 dummy classes Comparison runtime BCI vs. caching 17/ Albert Flaig - Integration AIM/Kieker

18 Evaluation 2a: Turnaround Time Bytecode Instrumentation Manual Instrumentation 18/ Albert Flaig - Integration AIM/Kieker

19 Evaluation 2b: Scalability Comparison Turnaround Time (ms) Bytecode Instrumentation Turnaround Time (ms) 0, , ,7 Manual Instrumentation # of classes 19/ Albert Flaig - Integration AIM/Kieker

20 Core Results synergies Small overhead reduction and higher flexibility High turnaround time relevant for production needs optimization Future Work Kieker supporting the instrumentation description language Optimize Performance of AIM s instrumentation step Usage in bigger context (e.g., performance problem diagnostics) Integration into Kieker release 20/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

21 References [Dmitriev, 2004] M. Dmitriev, Profiling java applications using code hotswapping and dynamic call graph revelation [Ehlers et al, 2011] J. Ehlers, A. van Hoorn, J. Waller, and W. Hasselbring, Self-adaptive software system monitoring for performance anomaly localization [Moret et al, 2011] P. Moret, W. Binder, and E. Tanter, Polymorphic bytecode instrumentation [Marek et al, 2012] L. Marek, A. Villazon, Y. Zheng, D. Ansaloni, W. Binder, and Z. Qi, Disl: A domainspecific language for bytecode instrumentation [van Hoorn et al, 2009] A. van Hoorn, M. Rohr, W. Hasselbring, J. Waller, J. Ehlers, S. Frey, and D. Kieselhorst, Continuous monitoring of software services: Design and application of the kieker framework 21/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

22 AIM Integration in Kieker Detailed JMX Client Kieker Monitoring Controller Instrumentation Patterns Instrumentation Pattern JMX Controller Probe Controller Process of External Tool Pattern List Class Loaded Loaded Classes Data Flow Component Piece of Data Java Process Kieker Class Loader JVM Instr. API Instrumentation Execution Probe Record Kieker Instrumentor Target Application AIM Probe Snippet BCInjector Methods to instrument Hotswap Classes to instrument Probe Snippets Javassist Instrumented Classes 22/ Albert Flaig - Integration AIM/Kieker

23 Evaluation 1: Overhead Comparison Manual Instrumentation Bytecode Instrumentation Execution Time (µs) / Albert Flaig - Integration AIM/Kieker

24 Instrumentation Duration (TPC-W) (8 methods) (251 methods) (380 methods) Legend: A: Instr. with AIM K: Instr. with Kieker D: Instr. With DiSL 26/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

25 Instrumentation Duration (Liferay) (6 methods) (2810 methods) (3270 methods) Legend: A: Instr. with AIM K: Instr. with Kieker D: Instr. With DiSL 27/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

26 Overhead (MooBench & TPC-W) Single Method (8 methods) (251 methods)(380 methods) Legend: N: No Instr. A: Instr. with AIM K: Instr. with Kieker 28/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

27 Overhead (Liferay) Legend: N: No Instr. A: Instr. with AIM K: Instr. with Kieker 29/ Adaptive Instrumentation of Java-Applications for Experiment-Based Performance Analysis

A Framework for Application Performance Monitoring and Dynamic Software Analysis

A Framework for Application Performance Monitoring and Dynamic Software Analysis A Framework for Application Performance and Dynamic Software André van Hoorn, J. Waller, and W. Hasselbring Software Engineering Group University of Kiel, Germany April 24, 2012 @ ICPE 12, Boston, MA A.

More information

Dynamic Instrumentation in Kieker Using Runtime Bytecode Modification

Dynamic Instrumentation in Kieker Using Runtime Bytecode Modification Institute of Software Technology University of Stuttgart Universitätsstraße 38 D 70569 Stuttgart Bachelor s Thesis Nr. 140 Dynamic Instrumentation in Kieker Using Runtime Bytecode Modification Albert Flaig

More information

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring

A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring 28. November 2013 A Benchmark Engineering Methodology to Measure the Overhead of Application-Level Monitoring Symposium on Software Performance Jan Waller and Wilhelm Hasselbring Software Engineering Group,

More information

Software Performance Anti-Patterns Observed and Resolved in Kieker

Software Performance Anti-Patterns Observed and Resolved in Kieker Software Performance Anti-Patterns Observed and Resolved in Kieker Symposium on Software Performance 2015 Christian Wulf and Wilhelm Hasselbring 06.11.2015 Software Engineering Group Kiel University, Germany

More information

INSTITUT FÜR INFORMATIK

INSTITUT FÜR INFORMATIK INSTITUT FÜR INFORMATIK Continuous Monitoring of Software Services: Design and Application of the Kieker Framework André van Hoorn, Matthias Rohr, Wilhelm Hasselbring, Jan Waller, Jens Ehlers, Sören Frey,

More information

Architecture Reconstruction via Dynamic Analysis

Architecture Reconstruction via Dynamic Analysis Architecture Reconstruction via Dynamic Analysis Wilhelm Hasselbring and André van Hoorn Software Engineering Group, University of Kiel http://se.informatik.uni-kiel.de/ June 29, 2011 @ SEACON 2011, Hamburg

More information

The JVM is not observable enough (and what to do about it)

The JVM is not observable enough (and what to do about it) The JVM is not observable enough (and what to do about it) Stephen Kell stephen.kell@usi.ch University of Lugano joint work with: Danilo Ansaloni, Walter Binder, Lukáš Marek The JVM is... p.1/20 0xcafebabe

More information

Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform

Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform Basic Concepts of the Energy Lab 2.0 Co-Simulation Platform Jianlei Liu KIT Institute for Applied Computer Science (Prof. Dr. Veit Hagenmeyer) KIT University of the State of Baden-Wuerttemberg and National

More information

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability

Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Application Performance Monitoring: Trade-Off between Overhead Reduction and Maintainability Jan Waller, Florian Fittkau, and Wilhelm Hasselbring Department of Computer Science, Kiel University, Kiel,

More information

OOP and S-BPM an analogy observation PowerSpeech

OOP and S-BPM an analogy observation PowerSpeech OOP and an analogy observation PowerSpeech Karlsruhe, October 14th 2010 Hagen Buchwald, KIT, Institute AIFB INSTITUTE AIFB COMPLEXITY MANAGEMENT KIT University of the State of Baden-Wuerttemberg and National

More information

Automatic Failure Diagnosis Support in Distributed Large-Scale Software Systems based on Timing Behavior Anomaly Correlation

Automatic Failure Diagnosis Support in Distributed Large-Scale Software Systems based on Timing Behavior Anomaly Correlation Automatic Failure Diagnosis Support in Distributed Large-Scale Software Systems based on Timing Behavior Anomaly Correlation Based on a contrigution to the 13th European Conference on Software Maintenance

More information

Improving Cloud Application Performance with Simulation-Guided CPU State Management

Improving Cloud Application Performance with Simulation-Guided CPU State Management Improving Cloud Application Performance with Simulation-Guided CPU State Management Mathias Gottschlag, Frank Bellosa April 23, 2017 KARLSRUHE INSTITUTE OF TECHNOLOGY (KIT) - OPERATING SYSTEMS GROUP KIT

More information

A Quantitative Evaluation of the Contribution of Native Code to Java Workloads

A Quantitative Evaluation of the Contribution of Native Code to Java Workloads A Quantitative Evaluation of the Contribution of Native Code to Java Workloads Walter Binder University of Lugano Switzerland walter.binder@unisi.ch Jarle Hulaas, Philippe Moret EPFL Switzerland {jarle.hulaas,philippe.moret}@epfl.ch

More information

InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse

InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse InsECTJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse Arjan Seesing and Alessandro Orso College of Computing Georgia Institute of Technology a.c.seesing@ewi.tudelft.nl,

More information

J2EE Instrumentation for software aging root cause application component determination with AspectJ

J2EE Instrumentation for software aging root cause application component determination with AspectJ J2EE Instrumentation for software aging root cause application component determination with AspectJ Javier Alonso Josep Ll. Berral Ricard Gavaldà Jordi Torres Technical University of Catalonia, Spain Contents

More information

CONTINUITY: AUTOMATED PERFORMANCE TESTING IN CONTINUOUS SOFTWARE ENGINEERING

CONTINUITY: AUTOMATED PERFORMANCE TESTING IN CONTINUOUS SOFTWARE ENGINEERING CONTINUITY: AUTOMATED PERFORMANCE TESTING IN CONTINUOUS SOFTWARE ENGINEERING 09.11.2017 HENNING SCHULZ, ANDRÉ VAN HOORN, CHRISTOPH HEGER, ALEXANDER WERT Why Performance Matters 2 Ellen DeGeneres Selfie

More information

Speeding up context-, object- and field-sensitive SDG generation

Speeding up context-, object- and field-sensitive SDG generation Speeding up context-, object- and field-sensitive SDG generation Jürgen Graf IPD, PROGRAMMING PARADIGMS GROUP, COMPUTER SCIENCE DEPARTMENT KIT - University of the State of Baden-Wuerttemberg and National

More information

A Framework for System Event Classification and Prediction by Means of Machine Learning

A Framework for System Event Classification and Prediction by Means of Machine Learning A Framework for System Event Classification and Prediction by Means of Machine Learning Teerat Pitakrat, Jonas Grunert, Oliver Kabierschke, Fabian Keller and André van Hoorn University of Stuttgart Institute

More information

SOSP 14 Symposium on Software Performance: Joint Descartes/Kieker/Palladio Days 2014

SOSP 14 Symposium on Software Performance: Joint Descartes/Kieker/Palladio Days 2014 SOSP 14 Symposium on Software Performance: Joint Descartes/Kieker/Palladio Days 2014 Stuttgart, Germany, November 26 28, 2014 Proceedings Editors: Steffen Becker, Wilhelm Hasselbring, André van Hoorn,

More information

2 Introduction to Java. Introduction to Programming 1 1

2 Introduction to Java. Introduction to Programming 1 1 2 Introduction to Java Introduction to Programming 1 1 Objectives At the end of the lesson, the student should be able to: Describe the features of Java technology such as the Java virtual machine, garbage

More information

Extensible Graphical Editors for Palladio

Extensible Graphical Editors for Palladio Extensible Graphical Editors for Palladio Misha Strittmatter, Michael Junker, Kiana Rostami, Sebastian Lehrig, Amine Kechaou, Bo Liu and Robert Heinrich 7th Symposium on Software Performance, Kiel 2016

More information

Polymorphic bytecode instrumentation

Polymorphic bytecode instrumentation SOFTWARE: PRACTICE AND EXPERIENCE Published online 18 December 2015 in Wiley Online Library (wileyonlinelibrary.com)..2385 Polymorphic bytecode instrumentation Walter Binder 1, *,, Philippe Moret 1, Éric

More information

Challenges for Refinement and Composition of Instrumentations: Position Paper

Challenges for Refinement and Composition of Instrumentations: Position Paper Challenges for Refinement and Composition of Instrumentations: Position Paper Danilo Ansaloni 1,WalterBinder 1,ChristophBockisch 2,EricBodden 3, Kardelen Hatun 2,Lukáš Marek 4,ZhengweiQi 5,AibekSarimbekov

More information

Design and Implementation of Java Dynamic Testing Tool using Instrumentation

Design and Implementation of Java Dynamic Testing Tool using Instrumentation Indian Journal of Science and Technology, Vol 8(S1), 475 480, January 2015 ISSN (Online) : 0974-5645 ISSN (Print) : 0974-6846 DOI: 10.17485/ijst/2015/v8iS1/59426 Design and Implementation of Java Dynamic

More information

CS Introduction to Data Structures Tuesday, February 2, 2016

CS Introduction to Data Structures Tuesday, February 2, 2016 CS 367 - Introduction to Data Structures Tuesday, February 2, 2016 Homework 1 due 10 pm tonight, February 2nd Homework 2 assigned tonight, due 10 pm this Friday, February 5th Program 1 due 10 pm Sunday,

More information

Performance analysis basics

Performance analysis basics Performance analysis basics Christian Iwainsky Iwainsky@rz.rwth-aachen.de 25.3.2010 1 Overview 1. Motivation 2. Performance analysis basics 3. Measurement Techniques 2 Why bother with performance analysis

More information

Engineering and Continuously Operating Self-Adaptive Software Systems: Required Design Decisions

Engineering and Continuously Operating Self-Adaptive Software Systems: Required Design Decisions Engineering and Continuously Operating Self-Adaptive Software Systems: Required Design Decisions André van Hoorn 1, Wilhelm Hasselbring 2, and Matthias Rohr 1,3 1 Graduate School TrustSoft, University

More information

Debugging Your Production JVM TM Machine

Debugging Your Production JVM TM Machine Debugging Your Production JVM TM Machine Ken Sipe Perficient (PRFT) kensipe@gmail.com @kensipe Abstract > Learn the tools and techniques used to monitor, trace and debugging running Java applications.

More information

Concurrent and Real-Time Programming in Java

Concurrent and Real-Time Programming in Java 064202 Degree Examinations 2003 DEPARTMENT OF COMPUTER SCIENCE Concurrent and Real-Time Programming in Java Time allowed: One and one half (1.5) hours Candidates should answer not more than two questions.

More information

Implement detection of duplicate test coverage for Java applications

Implement detection of duplicate test coverage for Java applications Masaryk University Faculty of Informatics Implement detection of duplicate test coverage for Java applications Bachelor s Thesis Jakub Schwan Brno, Spring 2018 Replace this page with a copy of the official

More information

Calculating Source Line Level Energy Information for Android Applications

Calculating Source Line Level Energy Information for Android Applications Calculating Source Line Level Energy Information for Android Applications Ding Li, Shuai Hao, William G.J. Halfond, Ramesh Govindan Department of Computer Science University of Southern California Motivation:

More information

From Reproducibility Problems to Improvements: A journey

From Reproducibility Problems to Improvements: A journey From Reproducibility Problems to Improvements: A journey Holger Eichelberger, Aike Sass, Klaus Schmid {eichelberger, schmid}@sse.uni-hildesheim.de sassai@uni-hildesheim.de Software Systems Engineering

More information

Reuse and Beyond: Innovative Software Retrieval Approaches

Reuse and Beyond: Innovative Software Retrieval Approaches Palladio Days 2012 Reuse and Beyond: Innovative Software Retrieval Approaches Oliver Hummel SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS

More information

junit RV Adding Runtime Verification to junit

junit RV Adding Runtime Verification to junit junit RV Adding Runtime Verification to junit Normann Decker, Martin Leucker, and Daniel Thoma Institute for Software Engineering and Programming Languages Universität zu Lübeck, Germany {decker, leucker,

More information

Java Instrumentation for Dynamic Analysis

Java Instrumentation for Dynamic Analysis Java Instrumentation for Dynamic Analysis and Michael Ernst MIT CSAIL Page 1 Java Instrumentation Approaches Instrument source files Java Debug Interface (JDI) Instrument class files Page 2 Advantages

More information

COE318 Lecture Notes Week 10 (Nov 7, 2011)

COE318 Lecture Notes Week 10 (Nov 7, 2011) COE318 Software Systems Lecture Notes: Week 10 1 of 5 COE318 Lecture Notes Week 10 (Nov 7, 2011) Topics More about exceptions References Head First Java: Chapter 11 (Risky Behavior) The Java Tutorial:

More information

L.C.Smith. Privacy-Preserving Offloading of Mobile App to the Public Cloud

L.C.Smith. Privacy-Preserving Offloading of Mobile App to the Public Cloud Privacy-Preserving Offloading of Mobile App to the Public Cloud Yue Duan, Mu Zhang, Heng Yin and Yuzhe Tang Department of EECS Syracuse University L.C.Smith College of Engineering 1 and Computer Science

More information

Skalierbarkeit, Agilität und gleichzeitig Zuverlässigkeit durch Microservice-Architekturen

Skalierbarkeit, Agilität und gleichzeitig Zuverlässigkeit durch Microservice-Architekturen Skalierbarkeit, Agilität und gleichzeitig Zuverlässigkeit durch Microservice-Architekturen Wilhelm (Willi) Hasselbring Software Engineering Group, Kiel University, http://se.informatik.uni-kiel.de/ http://kosse-sh.de/

More information

JOVE. An Optimizing Compiler for Java. Allen Wirfs-Brock Instantiations Inc.

JOVE. An Optimizing Compiler for Java. Allen Wirfs-Brock Instantiations Inc. An Optimizing Compiler for Java Allen Wirfs-Brock Instantiations Inc. Object-Orient Languages Provide a Breakthrough in Programmer Productivity Reusable software components Higher level abstractions Yield

More information

Advanced Route Planning and Related Topics Freiburg Update

Advanced Route Planning and Related Topics Freiburg Update Advanced Route Planning and Related Topics Freiburg Update G. V. Batz, M. Kobitzsch, D. Luxen, P. Sanders, D. Schieferdecker - 0 KIT G. University V. Batz, of the M. StateKobitzsch, of Baden-Wuerttemberg

More information

Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach

Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach Integration of Existing Software Artifacts into a View- and Change-Driven Development Approach Sven Leonhardt, Johannes Hoor, Benjamin Hettwer, Michael Langhammer 21.07.2015 SOFTWARE DESIGN AND QUALITY

More information

LAMBDA The LSDF Execution Framework for Data Intensive Applications

LAMBDA The LSDF Execution Framework for Data Intensive Applications LAMBDA The LSDF Execution Framework for Data Intensive Applications Thomas Jejkal 1, V. Hartmann 1, R. Stotzka 1, J. Otte 2, A. García 3, J. van Wezel 3, A. Streit 3 1 Institute for Dataprocessing and

More information

[MS20487]: Developing Windows Azure and Web Services

[MS20487]: Developing Windows Azure and Web Services [MS20487]: Developing Windows Azure and Web Services Length : 5 Days Audience(s) : Developers Level : 300 Technology : Cross-Platform Development Delivery Method : Instructor-led (Classroom) Course Overview

More information

Oracle WebLogic Diagnostics and Troubleshooting

Oracle WebLogic Diagnostics and Troubleshooting Oracle WebLogic Diagnostics and Troubleshooting Duško Vukmanović Principal Sales Consultant, FMW What is the WebLogic Diagnostic Framework? A framework for diagnosing problems that

More information

Improving the efficiency of adaptive middleware based on dynamic AOP

Improving the efficiency of adaptive middleware based on dynamic AOP Improving the efficiency of adaptive middleware based on dynamic AOP Angela Nicoară, Johann Gyger, Gustavo Alonso Department of Computer Science Swiss Federal Institut of Technology Zürich CH-8092 Zürich,

More information

R/Kademlia: Recursive and Topology-aware Overlay Routing

R/Kademlia: Recursive and Topology-aware Overlay Routing R/Kademlia: Recursive and Topology-aware Overlay Routing Bernhard Heep ATNAC 2010, Auckland, New Zealand, 11/02/2010, KIT University of the State of Baden-Wuerttemberg and National Research Center of the

More information

Live Execution Time Visualization of Component-based Software Systems

Live Execution Time Visualization of Component-based Software Systems Live Execution Time Visualization of Component-based Software Systems Master s Thesis Nelson Tavares de Sousa October 31, 2016 Kiel University Department of Computer Science Software Engineering Group

More information

Just-In-Time Compilation

Just-In-Time Compilation Just-In-Time Compilation Thiemo Bucciarelli Institute for Software Engineering and Programming Languages 18. Januar 2016 T. Bucciarelli 18. Januar 2016 1/25 Agenda Definitions Just-In-Time Compilation

More information

Chapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP

Chapter 3: Naming Page 38. Clients in most cases find the Jini lookup services in their scope by IP Discovery Services - Jini Discovery services require more than search facilities: Discovery Clients in most cases find the Jini lookup services in their scope by IP multicast/broadcast Multicast UDP for

More information

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on Chapter 2: Operating-System Structures Operating System Concepts 9 th Edit9on Silberschatz, Galvin and Gagne 2013 Chapter 2: Operating-System Structures 1. Operating System Services 2. User Operating System

More information

Zero Turnaround in Java Jevgeni Kabanov

Zero Turnaround in Java Jevgeni Kabanov Zero Turnaround in Java Jevgeni Kabanov ZeroTurnaround Lead Aranea and Squill Project Co-Founder Turnaround cycle Make a change Check the change Build, deploy, wait DEMO: SPRING PETCLINIC TURNAROUND Outline

More information

Quick tour of the Test and Performance Tools Platform (TPTP) Valentina Popescu IBM Tivoli TPTP AG Lead

Quick tour of the Test and Performance Tools Platform (TPTP) Valentina Popescu IBM Tivoli TPTP AG Lead Quick tour of the Test and Performance Tools Platform (TPTP) Valentina Popescu IBM Tivoli TPTP AG Lead 2006 by IBM; made available under the EPL v1.0 October 11, 2006 Agenda TPTP Overview TPTP Architecture

More information

Testing Error Handling Code in Device Drivers Using Characteristic Fault Injection

Testing Error Handling Code in Device Drivers Using Characteristic Fault Injection 1 Testing Error Handling Code in Device Drivers Using Characteristic Fault Injection Jia-Ju Bai, Yu-Ping Wang, Jie Yin, Shi-Min Hu Department of Computer Science and Technology Tsinghua University Beijing,

More information

LOAN IQ DIAGNOSTIC TOOLS Topic of the Month FusionBanking Loan IQ

LOAN IQ DIAGNOSTIC TOOLS Topic of the Month FusionBanking Loan IQ LOAN IQ DIAGNOSTIC TOOLS Topic of the Month FusionBanking Loan IQ Lorenzo Cerutti SAG Specialist Patricia Malin ESG Manager Lochlann O Donnell ESG Expert Engineer November 2017 Finastra WELCOME TO THE

More information

Leveraging State to Facilitate Separation of Concerns in Reuse-oriented Performance Models

Leveraging State to Facilitate Separation of Concerns in Reuse-oriented Performance Models Leveraging State to Facilitate Separation of Concerns in Reuse-oriented Performance Models Dominik Werle, Stephan Seifermann, Sebastian D. Krach 8th Symposium on Software Performance 2017 ARCHITECTURE-DRIVEN

More information

A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for J2EE

A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for J2EE WHITE PAPER: APPLICATION CUSTOMIZE PERFORMANCE MANAGEMENT Confidence in a connected world. A Practical Approach to Balancing Application Performance and Instrumentation Information Using Symantec i 3 for

More information

ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations

ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations ByteCode 2008 ByCounter: Portable Runtime Counting of Bytecode Instructions and Method Invocations Michael Kuperberg 1 Martin Krogmann 2 Ralf Reussner 3 Chair for Software Design and Quality Institute

More information

Model-driven Instrumentation with Kieker and Palladio to forecast Dynamic Applications

Model-driven Instrumentation with Kieker and Palladio to forecast Dynamic Applications Model-driven Instrumentation with Kieker and Palladio to forecast Dynamic Applications Reiner Jung 1, Robert Heinrich 2, Eric Schmieders 3 1 Software Engineering Group, Kiel University 2 Software Design

More information

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES

COURSE 20487B: DEVELOPING WINDOWS AZURE AND WEB SERVICES ABOUT THIS COURSE In this course, students will learn how to design and develop services that access local and remote data from various data sources. Students will also learn how to develop and deploy

More information

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017

Introduction to Java. Lecture 1 COP 3252 Summer May 16, 2017 Introduction to Java Lecture 1 COP 3252 Summer 2017 May 16, 2017 The Java Language Java is a programming language that evolved from C++ Both are object-oriented They both have much of the same syntax Began

More information

A Generic Microservice Architecture for Environmental Data Management

A Generic Microservice Architecture for Environmental Data Management A Generic Microservice Architecture for Environmental Data Management Clemens Düpmeier, Eric Braun, Thorsten Schlachter, Karl-Uwe Stucky, Wolfgang Suess KIT The Research University in the Helmholtz Association

More information

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed. CHAPTER 2: SYSTEM STRUCTURES By I-Chen Lin Textbook: Operating System Concepts 9th Ed. Chapter 2: System Structures Operating System Services User Operating System Interface System Calls Types of System

More information

Detecting and Using Critical Paths at Runtime in Message Driven Parallel Programs

Detecting and Using Critical Paths at Runtime in Message Driven Parallel Programs Detecting and Using Critical Paths at Runtime in Message Driven Parallel Programs Isaac Dooley, Laxmikant V. Kale Department of Computer Science University of Illinois idooley2@illinois.edu kale@illinois.edu

More information

Operating System Structure

Operating System Structure CSE325 Principles of Operating Systems Operating System Structure David Duggan dduggan@sandia.gov January 24, 2013 A View of Operating System Services 1/24/13 CSE325 - OS Structure 2 Operating System Design

More information

SieveDroid: Intercepting Undesirable Private-Data Transmissions in Android Applications at Runtime

SieveDroid: Intercepting Undesirable Private-Data Transmissions in Android Applications at Runtime SieveDroid: Intercepting Undesirable Private-Data Transmissions in Android Applications at Runtime Jianmeng Huang 2017,1,12 Outline 1 Motivation Intro Current solutions Our goals 2 SieveDroid Our solution

More information

Delft-Java Link Translation Buffer

Delft-Java Link Translation Buffer Delft-Java Link Translation Buffer John Glossner 1,2 and Stamatis Vassiliadis 2 1 Lucent / Bell Labs Advanced DSP Architecture and Compiler Research Allentown, Pa glossner@lucent.com 2 Delft University

More information

SimuBoost: Scalable Parallelization of Functional System Simulation

SimuBoost: Scalable Parallelization of Functional System Simulation SimuBoost: Scalable Parallelization of Functional System GI Fachgruppentreffen Betriebssysteme (BS) 2013 Marc Rittinghaus, Konrad Miller, Marius Hillenbrand, Frank Bellosa SYSTEM ARCHITECTURE GROUP DEPARTMENT

More information

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led

Developing Microsoft Azure and Web Services. Course Code: 20487C; Duration: 5 days; Instructor-led Developing Microsoft Azure and Web Services Course Code: 20487C; Duration: 5 days; Instructor-led WHAT YOU WILL LEARN In this course, students will learn how to design and develop services that access

More information

DiSL: A Domain-Specific Language for Bytecode Instrumentation

DiSL: A Domain-Specific Language for Bytecode Instrumentation DiSL: A Domain-Specific Language for Bytecode Instrumentation Lukáš Marek Charles University, Czech Republic lukas.marek@d3s.mff.cuni.cz Alex Villazón Universidad Privada Boliviana, Bolivia avillazon@upb.edu

More information

A Generic Platform for Transforming Monitoring Data into Performance Models

A Generic Platform for Transforming Monitoring Data into Performance Models A Generic Platform for Transforming Monitoring Data into Performance Models Jonas Kunz Karlsruhe Institute of Technology 76131 Karlsruhe, Germany jonas.kunz@ student.kit.edu Christoph Heger NovaTec Consulting

More information

ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE

ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE ORACLE ENTERPRISE MANAGER 10g ORACLE DIAGNOSTICS PACK FOR NON-ORACLE MIDDLEWARE Most application performance problems surface during peak loads. Often times, these problems are time and resource intensive,

More information

Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading

Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading Diffusing Your Mobile Apps: Extending In-Network Function Virtualisation to Mobile Function Offloading Mario Almeida, Liang Wang*, Jeremy Blackburn, Konstantina Papagiannaki, Jon Crowcroft* Telefonica

More information

Improving Parallel MPSoC Simulation Performance by Exploiting Dynamic Routing Delay Prediction

Improving Parallel MPSoC Simulation Performance by Exploiting Dynamic Routing Delay Prediction Improving Parallel MPSoC Simulation Performance by Exploiting Dynamic Routing Delay Prediction Christoph Roth, Harald Bucher, Simon Reder, Oliver Sander, Jürgen Becker KIT University of the State of Baden-Wuerttemberg

More information

Developing Windows Azure and Web Services

Developing Windows Azure and Web Services Developing Windows Azure and Web Services Course 20487B; 5 days, Instructor-led Course Description In this course, students will learn how to design and develop services that access local and remote data

More information

Zero Turnaround in Java Watching the logs roll by Jevgeni Kabanov

Zero Turnaround in Java Watching the logs roll by Jevgeni Kabanov Zero Turnaround in Java Watching the logs roll by Jevgeni Kabanov Founder of ZeroTurnaround Aranea and Squill Project Co-Founder Speaker, Scientist, Engineer, Entrepreneur, Turnaround cycle Make a change

More information

Notes of the course - Advanced Programming. Barbara Russo

Notes of the course - Advanced Programming. Barbara Russo Notes of the course - Advanced Programming Barbara Russo a.y. 2014-2015 Contents 1 Lecture 2 Lecture 2 - Compilation, Interpreting, and debugging........ 2 1.1 Compiling and interpreting...................

More information

Static Analysis of Dynamic Languages. Jennifer Strater

Static Analysis of Dynamic Languages. Jennifer Strater Static Analysis of Dynamic Languages Jennifer Strater 2017-06-01 Table of Contents Introduction............................................................................... 1 The Three Compiler Options...............................................................

More information

Purity: An Integrated, Fine-Grain, Data- Centric, Communication Profiler for the Chapel Language

Purity: An Integrated, Fine-Grain, Data- Centric, Communication Profiler for the Chapel Language Purity: An Integrated, Fine-Grain, Data- Centric, Communication Profiler for the Chapel Language Richard B. Johnson and Jeffrey K. Hollingsworth Department of Computer Science, University of Maryland,

More information

Gender Classification

Gender Classification Gender Classification Thomas Witzig Master student, 76128 Karlsruhe, Germany, Computer Vision for Human-Computer Interaction Lab KIT University of the State of Baden-Wuerttemberg and National Research

More information

Application Servers in E-Commerce Applications

Application Servers in E-Commerce Applications Application Servers in E-Commerce Applications Péter Mileff 1, Károly Nehéz 2 1 PhD student, 2 PhD, Department of Information Engineering, University of Miskolc Abstract Nowadays there is a growing demand

More information

2. HDF AAI Meeting -- Demo Slides

2. HDF AAI Meeting -- Demo Slides 2. HDF AAI Meeting -- Demo Slides Steinbuch Centre for Computing Marcus Hardt KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association www.kit.edu Introduction

More information

Android Dalvik CPU. CPU Load Analysis Using Dalvik Bytecode on Android

Android Dalvik CPU. CPU Load Analysis Using Dalvik Bytecode on Android Android Dalvik CPU 1 2 1 3 1 1 Dalvik Android CPU Dalvik CPU CPU 67 10 CPU CPU CPU Load Analysis Using Dalvik Bytecode on Android Takashi Majima, 1 Tetsuo Yokoyama, 2 Gang Zeng, 1 Takeshi Kamiyama, 3 Hiroyuki

More information

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003

J2EE: Best Practices for Application Development and Achieving High-Volume Throughput. Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 J2EE: Best Practices for Application Development and Achieving High-Volume Throughput Michael S Pallos, MBA Session: 3567, 4:30 pm August 11, 2003 Agenda Architecture Overview WebSphere Application Server

More information

Chapter 6 Enterprise Java Beans

Chapter 6 Enterprise Java Beans Chapter 6 Enterprise Java Beans Overview of the EJB Architecture and J2EE platform The new specification of Java EJB 2.1 was released by Sun Microsystems Inc. in 2002. The EJB technology is widely used

More information

Development of web applications using Google Technology

Development of web applications using Google Technology International Journal of Computer Engineering and Applications, ICCSTAR-2016, Special Issue, May.16 Development of web applications using Google Technology Vaibhavi Nayak 1, Vinuta V Naik 2,Vijaykumar

More information

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009

Enterprise Java Development using JPA, Hibernate and Spring. Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 Enterprise Java Development using JPA, Hibernate and Spring Srini Penchikala Detroit JUG Developer Day Conference November 14, 2009 About the Speaker Enterprise Architect Writer, Speaker, Editor (InfoQ)

More information

An Extensible AOP Framework for Runtime Monitoring

An Extensible AOP Framework for Runtime Monitoring An Extensible AOP Framework for Runtime Monitoring Gholamali Rahnavard Amjad Nusayr Jonathan Cook New Mexico State University University of Houston - Victoria New Mexico State University rah@nmsu.edu nusayra@uhv.edu

More information

Method-Level Phase Behavior in Java Workloads

Method-Level Phase Behavior in Java Workloads Method-Level Phase Behavior in Java Workloads Andy Georges, Dries Buytaert, Lieven Eeckhout and Koen De Bosschere Ghent University Presented by Bruno Dufour dufour@cs.rutgers.edu Rutgers University DCS

More information

Estimating Mobile Application Energy Consumption Using Program Analysis

Estimating Mobile Application Energy Consumption Using Program Analysis Estimating Mobile Application Energy Consumption Using Program Analysis Shuai Hao, Ding Li, William G.J. Halfond, and Ramesh Govindan University of Southern California Motivation Smartphones are popular

More information

Four Components of a Computer System

Four Components of a Computer System Four Components of a Computer System Operating System Concepts Essentials 2nd Edition 1.1 Silberschatz, Galvin and Gagne 2013 Operating System Definition OS is a resource allocator Manages all resources

More information

ArcGIS Server Performance and Scalability : Optimizing GIS Services

ArcGIS Server Performance and Scalability : Optimizing GIS Services Esri International User Conference San Diego, CA Technical Workshops July 12, 2011 ArcGIS Server Performance and Scalability : Optimizing GIS Services David Cordes, Eric Miller Poll the Audience: Role

More information

P17 System Testing Monday, September 24, 2007

P17 System Testing Monday, September 24, 2007 IBM Software Group P17 System Testing Monday, September 24, 2007 Module 8 : IBM Rational Testing Solutions Marty Swafford IBM Rational Software IBM Certified Solution Designer - Rational Manual Tester,

More information

A Bytecode Interpreter for Secure Program Execution in Untrusted Main Memory

A Bytecode Interpreter for Secure Program Execution in Untrusted Main Memory A Bytecode Interpreter for Secure Program Execution in Untrusted Main Memory Maximilian Seitzer, Michael Gruhn, Tilo Müller Friedrich Alexander Universität Erlangen-Nürnberg https://www1.cs.fau.de Introduction

More information

MultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction

MultiJav: A Distributed Shared Memory System Based on Multiple Java Virtual Machines. MultiJav: Introduction : A Distributed Shared Memory System Based on Multiple Java Virtual Machines X. Chen and V.H. Allan Computer Science Department, Utah State University 1998 : Introduction Built on concurrency supported

More information

Microservices Architecture Enables DevOps: An Experience Report on Migration to a Cloud-Native Architecture

Microservices Architecture Enables DevOps: An Experience Report on Migration to a Cloud-Native Architecture Microservices Architecture Enables DevOps: An Experience Report on Migration to a Cloud-Native Architecture Armin Balalaie Abbas Heydarnoori Pooyan Jamshidi Abstract The microservices architecture is one

More information

InsectJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse

InsectJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse InsectJ: A Generic Instrumentation Framework for Collecting Dynamic Information within Eclipse Arjan Seesing and Alessandro Orso Georgia Institute of Technology This work was supported in part by an IBM

More information

MSO Exam November 7, 2016, 13:30 15:30, Educ-Gamma

MSO Exam November 7, 2016, 13:30 15:30, Educ-Gamma MSO 2016 2017 Exam November 7, 2016, 13:30 15:30, Educ-Gamma Name: Student number: Please read the following instructions carefully: Fill in your name and student number above. Be prepared to identify

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information