Wednesday, 13 December 2017

Session 8: Work-in-Progress/Vision Track

Understanding Performance Modeling for Modular Mobile-Cloud Applications

Authors:

Ioana Giurgiu (ETH Zurich)

Abstract:

Mobile devices are becoming the main entry points to the growing number of cloud applications and services. Unlike traditional approaches, we pursue a flexible architectural model where cloud hosted applications are distributed between mobile devices and the cloud in a bid to improve interaction performance. Given the increasing variety of mobile platforms or virtual instances, in this paper we approach the problem of estimating performance for such applications in two steps. First, we identify the factors that impact interaction response times, such as the application distribution schemes, workload sizes and intensities, or the resource variations of the mobile-cloud setup. Second, we attempt to find correlations between these factors and to understand how to build a unified and generic performance estimation model.

DOI: 10.1145/2188286.2188333

Full text: PDF

[#][]

Is Your Cloud Elastic Enough?: Performance Modeling the Elasticity of Infrastructure as a Service (IaaS) Cloud Applications

Authors:

Paul Brebner (NICTA/ANU)

Abstract:

Elasticity, the ability to rapidly scale resources up and down on demand, is an essential feature of public cloud platforms. However, it is difficult to understand the elasticity requirements of a given application and workload, and if the elasticity provided by a cloud provider will meet those requirements. We introduce the elasticity mechanisms of a typical Infrastructure as a Service (IaaS) cloud platform (inspired by Amazon EC2). We have enhanced our Service Oriented Performance Modeling method and tool to model and predict the elasticity characteristics of three realistic applications and workloads on this cloud platform. We compare the pay-as-you-go instance costs and end-user response time service level agreements for different elasticity scenarios. The model is also able to predict the elasticity requirements (in terms of the maximum instance spin-up time) for the three applications. We conclude with an analysis of the results.

DOI: 10.1145/2188286.2188334

Full text: PDF

[#][]

Clock Driven Programming: A Programming Paradigm Which Enables Machine-independent Performance Design

Authors:

Kenjiro Yamanaka (NTT DATA Corporation)

Abstract:

Cloud computing provides more efficient resource utilization and reduced costs for software systems. However, performance assurance of these systems is difficult because the execution environment cannot be precisely specified and can change dynamically. This paper presents a new programming paradigm, in which software performance is independent from execution environments. The paradigm is called clock driven programming (CDP). The main idea is to introduce the notion of a periodic timer, i.e., clock, for synchronizing program execution timing, just like a clock signal is used in synchronous circuit design. This paper defines CDP and derives the theoretical throughput formula of a CDP program. A CDP program shows the same throughput, even if it runs on different execution environments when its timer period is the same. Therefore, using the CDP enables performance assurance in cloud.

DOI: 10.1145/2188286.2188335

Full text: PDF

[#][]

A Performance Modeling "Blending" Approach for Early Life-cycle Risk Mitigation

Authors:

Paul Brebner (NICTA/ANU)

Abstract:

In this paper we describe our first experiences of a performance modeling "blending" approach for early life-cycle risk mitigation in a large enterprise integration project. The goal was to use performance modeling to assist with defining the requirements for the system and to identify areas of architecture and technology risk which could be addressed in future phases of the project. We modified our Service Oriented Performance Modeling approach to enable useful models to be constructed by "blending" data from a variety of imprecise and incomplete information sources prior to the existence of concrete requirements or implementations. The approach iterated over two phases to ensure that deficiencies in method and information identified in the first phase were addressed in the second phase. Activities included scenario and workload modeling in phase 1, and software infrastructure, workload and "blended" modeling in phase 2. The resulting models enabled early exploration of critical assumptions and architectural alternatives. The results were enthusiastically received by the client and used by key decision makers and as inputs for future project phases. The "blending" approach to early life-cycle performance modeling raised the profile of architecture performance risk mitigation in the inception phase, so that performance is more likely be a feature of the subsequent development phases.

DOI: 10.1145/2188286.2188336

Full text: PDF

[#][]

Compositional Performance Abstractions of Software Connectors

Authors:

Misha Strittmatter (Karlsruhe Institute of Technology)
Lucia (Kapova) Happe (Karlsruhe Institute of Technology)

Abstract:

Typically, to provide accurate predictions, a performance model has to include low-level details such as used communication infrastructure, or connectors and influence of the underlying middleware platform. In order to profit from the research on inter-component communication and connector design, performance prediction approaches need to include models of different kinds of connectors. It is not always feasible to model complex connectors with all their details. The choice of suitable abstraction filter, which reduces the amount of detailed information needed with respect to the model purpose, is crucial to decrease modelling effort. We propose an approach by which an abstract connector model can be augmented with selected adaptations and enhancements using model completions to result in a more detailed connector model. As the purpose of our models is performance prediction, we designed a suitable abstraction filter based on the Pipes and Filters pattern to produce performance models of connectors. Thus, we need to characterize only a small set of compositional and reusable transformations. The selection of applied transformations is then based on the feature-oriented design of the connector's completion.

DOI: 10.1145/2188286.2188337

Full text: PDF

[#][]

Efficiency Improvements for Solving Layered Queueing Networks

Authors:

Greg Franks (Carleton University)
Lianhua Li (Carleton University)

Abstract:

Layered Queueing Networks (LQN) have been used successfully by numerous researchers to solve performance models of multi-tier client server systems. A common approach for solving a LQN is to split the model up into a set of submodels, then employ approximate mean value analysis (AMVA) on each of these submodels in an interactive fashion and using the results from the solution of one submodel as inputs to the others. This paper addresses the performance of the layered queueing network solver, LQNS, in terms of submodel construction and in terms of changes to Bard-Schweitzer and Linearizer AMVA, in order to improve performance. In some of the models described in this paper, there is a difference in four orders of magnitude between the fastest and slowest approaches.

DOI: 10.1145/2188286.2188338

Full text: PDF

[#][]

Integrating Software Performance Curves with the Palladio Component Model

Authors:

Alexander Wert (SAP Research)
Jens Happe (SAP Research)
Dennis Westermann (SAP Research)

Abstract:

Software performance engineering for enterprise applications is becoming more and more challenging as the size and complexity of software landscapes increases. Systems are built on powerful middleware platforms, existing software components, and 3rd party services. The internal structure of such a software basis is often unknown especially if business and system boundaries are crossed. Existing model-driven performance engineering approaches realise a pure top down prediction approach. Software architects have to provide a complete model of their system in order to conduct performance analyses. Measurement-based approaches depend on the availability of the complete system under test. In this paper, we propose a concept for the combination of model-driven and measurement-based performance engineering. We integrate software performance curves with the Palladio Component Model (PCM) (an advanced model-based performance prediction approach) in order to enable the evaluation of enterprise applications which depend on a large software basis.

DOI: 10.1145/2188286.2188339

Full text: PDF

[#][]

SPECjbb2012: Updated Metrics for a Business Benchmark

Authors:

Aleksey Shipilev (Oracle Corporation)
David Keenan (Oracle Corporation)

Abstract:

SPEC [1] benchmarks have an excellent track record as useful tools for performance engineers. Many hardware vendors, software developers, and researchers continue to use SPEC benchmarks as reference workloads to characterize systems, test compiler optimizations, track performance regression tracking, and software quality.

SPECjbb2005 is the industry standard benchmark for evaluating the performance of servers running typical Java business applications. Modern customer requirements and use cases have shifted the focus of performance assessments from pure throughput to include throughput/response time and throughput/power considerations.

SPECjbb2012 is the new incarnation of SPECjbb2005, targeted to assess these new demands. This paper gives the highlights for new metrics in SPECjbb2012, the rationale behind them, and technical challenges faced in its implementation.

DOI: 10.1145/2188286.2188340

Full text: PDF

[#][]

OpenCL and the 13 Dwarfs: A Work in Progress

Authors:

Wu-chun Feng (Virginia Tech)
Heshan Lin (Virginia Tech)
Thomas Scogland (Virginia Tech)
Jing Zhang (Virginia Tech)

Abstract:

In the past, evaluating the architectural innovation of parallel computing devices relied on a benchmark suite based on existing programs, e.g., EEMBC or SPEC. However, with the growing ubiquity of parallel computing devices, we argue that it is unclear how best to express parallel computation, and hence, a need exists to identify a higher level of abstraction for reasoning about parallel application requirements.

Therefore, the goal of this combination "Work-in-Progress and Vision" paper is to delineate application requirements in a manner that is not overly specific to individual applications or the optimizations used for certain hardware platforms, so that we can draw broader conclusions about hardware requirements. Our initial effort, dubbed "OpenCL and the 13 Dwarfs" or OCD for short, realizes Berkeley's 13 computational dwarfs of scientific computing in OpenCL, where each dwarf captures a pattern of computation and communication that is common to a class of important applications.

DOI: 10.1145/2188286.2188341

Full text: PDF

[#][]

Automatic NUMA Characterization using Cbench

Authors:

Ryan Braithwaite (Los Alamos National Laboratory)
Wu-chun Feng (Virginia Tech)
Patrick McCormick (Los Alamos National Laboratory)

Abstract:

Clusters of seemingly homogeneous compute nodes are increasingly heterogeneous within each node due to replication and distribution of node-level subsystems. This intra-node heterogeneity can adversely affect program execution performance by inflicting additional data-access costs when accessing non-local data. In this work-in-progress paper, we present extensions to the Cbench Scalable Testing Framework for analyzing main memory and PCIe data-access performance in modern NUMA architectures. The information provided by this tool will be of use for task scheduling, performance modeling, and evaluation of NUMA systems.

DOI: 10.1145/2188286.2188342

Full text: PDF

[#][]