Wednesday, 13 December 2017

Session 8: Performance Methods in Software Development

Subsuming Methods: Finding New Optimisation Opportunities in Object-Oriented Software

Authors:

David Maplesden (The University of Auckland)
Ewan Tempero (The University of Auckland)
John Hosking (The University of Auckland)
John C. Grundy (Swinburne University of Technology)

Abstract:

The majority of existing application profiling techniques aggregate and report performance costs by method or calling context. Modern large-scale object-oriented applications consist of thousands of methods with complex calling patterns. Consequently, when profiled, their performance costs tend to be thinly distributed across many thousands of locations with few easily identifiable optimisation opportunities. However experienced performance engineers know that there are repeated patterns of method calls in the execution of an application that are induced by the libraries, design patterns and coding idioms used in the software. Automatically identifying and aggregating costs over these patterns of method calls allows us to identify opportunities to improve performance based on optimising these patterns. We have developed an analysis technique that is able to identify the entry point methods, which we call subsuming methods, of such patterns. Our offline analysis runs over previously collected runtime performance data structured in a calling context tree, such as produced by a large number of existing commercial and open source profilers. We have evaluated our approach on the DaCapo benchmark suite, showing that our analysis significantly reduces the size and complexity of the runtime performance data set, facilitating its comprehension and interpretation. We also demonstrate, with a collection of case studies, that our analysis identifies new optimisation opportunities that can lead to significant performance improvements (from 20% to over 50% improvement in our case studies).

DOI: 10.1145/2668930.2688040

Full text: PDF

[#][]

Enhancing Performance and Reliability of Rule Management Platforms

Authors:

Mark Grechanik (University of Illinois at Chicago)
B.M. Mainul Hossain (University of Illinois at Chicago)

Abstract:

RulE Management Platforms (REMPs) enable software engineers to represent programming logic as conditional sentences that relate statements of facts. A key benefit of REMPs is that they make software adaptable by burying the complexity of rule invocation in their engines, so that programmers can concentrate on business aspects of highly modular rules. Naturally, rule-driven applications are expected to have excellent performance, since REMP engines should be able to invoke highly modular rules in parallel in response to asserting different facts. In reality, it is very difficult to parallelize rule executions, since it leads to the loss of reliability and adaptability of rule-driven applications. We created a novel solution that is based on obtaining a rule execution model that is used at different layers of REMPs to enhance the performance of rule-driven applications while maintaining their reliability and adaptability. First, using this model, possible races are detected statically among rules, and we evaluate an implementation of our abstraction of algorithms for automatically preventing races among rules. Next, we use the sensitivity analysis to find better schedules among simultaneously executing rules to improve the overall performance of the application. We implemented our solution for JBoss Drools and we evaluated it on three applications. The results suggest that our solution is effective, since we achieved over 225% speedup on average.

DOI: 10.1145/2668930.2688035

Full text: PDF

[#][]

Exploiting Software Performance Engineering Techniques to Optimise the Quality of Smart Grid Environments

Authors:

Catia Trubiani (Gran Sasso Science Institute)
Anne Koziolek (Karlsruhe Institute of Technology)
Lucia Happe (Karlsruhe Institute of Technology)

Abstract:

This paper discusses the challenges and opportunities of Software Performance Engineering (SPE) research in smartgrid (SG) environments. We envision to use SPE techniques to optimise the quality of information and communications technology (ICT) applications, and thus optimise the quality of the overall SG. The overall process of Monitoring, Analysing, Planning, and Executing (MAPE) is discussed to highlight the current open issues of the domain and the expected benefits.

DOI: 10.1145/2668930.2695532

Full text: PDF

[#][]

Generic Instrumentation and Monitoring Description for Software Performance Evaluation

Authors:

Alexander Wert (Karlsruhe Institute of Technology)
Henning Schulz (SAP AG)
Christoph Heger (Karlsruhe Institute of Technology)
Roozbeh Farahbod (SAP AG)

Abstract:

Instrumentation and monitoring plays an important role in measurement-based performance evaluation of software systems. To this end, a large body of instrumentation and monitoring tools exist which, however, depend on proprietary and programming-language-specific instrumentation languages. Due to the lack of a common instrumentation language, it is difficult and expensive to port per se generic measurementbased performance evaluation approaches among different application contexts. In this work-in-progress paper, we address this issue by introducing a performance-oriented, generic meta-model for application-independent and tool-independent description of instrumentation instructions. Decoupling the instrumentation description from its realization in a concrete application context, by a concrete instrumentation tool allows to design measurement-based performance evaluation approaches in a generic and portable way.

DOI: 10.1145/2668930.2695525

Full text: PDF

[#][]

Introducing Software Performance Antipatterns in Cloud Computing Environments: Does It Help or Hurt?

Authors:

Catia Trubiani (Gran Sasso Science Institute)

Abstract:

Performance assessment of cloud-based big data applications require new methodologies and tools to take into consideration on one hand the volume, the variability and the complexity of big data, and on the other hand the intrinsic dynamism of cloud environments. To this end, we introduce software performance antipatterns as reference knowledge to capture the well-known bad design practices that lead to software products suffering by poor performance. This paper discusses some of the challenges and opportunities of research while introducing software performance antipatterns in cloud computing environments. We present a model-based framework that makes use of software performance antipatterns to improve the Quality-of-Service (QoS) objectives of cloud-based big data applications.

DOI: 10.1145/2668930.2695528

Full text: PDF

[#][]