Line: Evaluating Software Applications in Unreliable Environments Academic Article

journal

  • IEEE Transactions on Reliability

abstract

  • Cloud computing has paved the way to the flexible deployment of software applications. This flexibility offers service providers a number of options to tailor their deployments to the observed and foreseen customer workloads, without incurring in large capital costs. However, cloud deployments pose novel challenges regarding application reliability and performance. Examples include managing the reliability of deployments that make use of spot instances, or coping with the performance variability caused by multiple tenants in a virtualized environment. In this paper, we introduce Line, a tool for performance and reliability analysis of software applications. Line solves layered queueing network (LQN) models, a popular class of stochastic models in software performance engineering, by setting up and solving an associated system of ordinary differential equations. A key differentiator of Line compared to existing solvers for LQNs is that Line incorporates a model of the environment the application operates in. This enables the modeling of reliability and performance issues such as resource failures, server breakdowns and repairs, slow start-up times, resource interference due to multitenancy, among others. This paper describes the Line tool, its support for performance and reliability modeling, and illustrates its potential by comparing Line predictions against data obtained from a cloud deployment. We also illustrate the applicability of Line with a case study on reliability-aware resource provisioning.
  • La computación en nube ha allanado el camino para el despliegue flexible de aplicaciones de software. Esta flexibilidad ofrece a los proveedores de servicios una serie de opciones para adaptar sus despliegues a las cargas de trabajo de los clientes observadas y previstas, sin incurrir en grandes costes de capital. Sin embargo, los despliegues en la nube plantean nuevos desafíos en cuanto a la fiabilidad y el rendimiento de las aplicaciones. Algunos ejemplos son la gestión de la fiabilidad de las implementaciones que utilizan instancias puntuales o la gestión de la variabilidad de rendimiento causada por múltiples inquilinos en un entorno virtualizado. En este artículo, presentamos Line, una herramienta para el análisis del rendimiento y la fiabilidad de las aplicaciones de software. Line resuelve modelos de redes de colas en capas (LQN), una clase popular de modelos estocásticos en la ingeniería del rendimiento del software, mediante la configuración y resolución de un sistema asociado de ecuaciones diferenciales ordinarias. Un diferenciador clave de Line en comparación con los solucionadores existentes para LQNs es que Line incorpora un modelo del entorno en el que opera la aplicación. Esto permite el modelado de problemas de confiabilidad y rendimiento tales como fallas de recursos, averías y reparaciones del servidor, tiempos de arranque lentos, interferencia de recursos debido a la multitenencia, entre otros. Este documento describe la herramienta Line, su soporte para el modelado de rendimiento y fiabilidad, e ilustra su potencial comparando las predicciones de la línea con los datos obtenidos de una implementación en nube. También ilustramos la aplicabilidad de Line con un estudio de caso sobre el aprovisionamiento de recursos consciente de la fiabilidad.

publication date

  • 2017/9/1

edition

  • 66

keywords

  • Application programs
  • Cloud computing
  • Costs
  • Ordinary differential equations
  • Queueing networks
  • Reliability analysis
  • Repair
  • Servers
  • Stochastic models

International Standard Serial Number (ISSN)

  • 0018-9529

number of pages

  • 17

start page

  • 837

end page

  • 853