3 research outputs found

    A Specification Language for Performance and Economical Analysis of Short Term Data Intensive Energy Management Services

    Get PDF
    Requirements of Energy Management Services include short and long term processing of data in a massively interconnected scenario. The complexity and variety of short term applications needs methodologies that allow designers to reason about the models taking into account functional and non-functional requirements. In this paper we present a component based specification language for building trustworthy continuous dataflow applications. Component behaviour is defined by Petri Nets in order to translate to the methodology all the advantages derived from a mathematically based executable model to support analysis, verification, simulation and performance evaluation. The paper illustrates how to model and reason with specifications of advanced dataflow abstractions such as smart grids

    Model-driven development of data intensive applications over cloud resources

    Get PDF
    The proliferation of sensors over the last years has generated large amounts of raw data, forming data streams that need to be processed. In many cases, cloud resources are used for such processing, exploiting their flexibility, but these sensor streaming applications often need to support operational and control actions that have real-time and low-latency requirements that go beyond the cost effective and flexible solutions supported by existing cloud frameworks, such as Apache Kafka, Apache Spark Streaming, or Map-Reduce Streams. In this paper, we describe a model-driven and stepwise refinement methodological approach for streaming applications executed over clouds. The central role is assigned to a set of Petri Net models for specifying functional and non-functional requirements. They support model reuse, and a way to combine formal analysis, simulation, and approximate computation of minimal and maximal boundaries of non-functional requirements when the problem is either mathematically or computationally intractable. We show how our proposal can assist developers in their design and implementation decisions from a performance perspective. Our methodology allows to conduct performance analysis: The methodology is intended for all the engineering process stages, and we can (i) analyse how it can be mapped onto cloud resources, and (ii) obtain key performance indicators, including throughput or economic cost, so that developers are assisted in their development tasks and in their decision taking. In order to illustrate our approach, we make use of the pipelined wavefront array

    Application Driven MOdels for Resource Management in Cloud Environments

    Get PDF
    El despliegue y la ejecuci贸n de aplicaciones de gran escala en sistemas distribuidos con unos parametros de Calidad de Servicio adecuados necesita gestionar de manera eficiente los recursos computacionales. Para desacoplar los requirimientos funcionales y los no funcionales (u operacionales) de dichas aplicaciones, se puede distinguir dos niveles de abstracci贸n: i) el nivel funcional, que contempla aquellos requerimientos relacionados con funcionalidades de la aplicaci贸n; y ii) el nivel operacional, que depende del sistema distribuido donde se despliegue y garantizar谩 aquellos par谩metros relacionados con la Calidad del Servicio, disponibilidad, tolerancia a fallos y coste econ贸mico, entre otros. De entre las diferentes alternativas del nivel operacional, en la presente tesis se contempla un entorno cloud basado en la virtualizaci贸n de contenedores, como puede ofrecer Kubernetes.El uso de modelos para el dise帽o de aplicaciones en ambos niveles permite garantizar que dichos requerimientos sean satisfechos. Seg煤n la complejidad del modelo que describa la aplicaci贸n, o el conocimiento que el nivel operacional tenga de ella, se diferencian tres tipos de aplicaciones: i) aplicaciones dirigidas por el modelo, como es el caso de la simulaci贸n de eventos discretos, donde el propio modelo, por ejemplo Redes de Petri de Alto Nivel, describen la aplicaci贸n; ii) aplicaciones dirigidas por los datos, como es el caso de la ejecuci贸n de anal铆ticas sobre Data Stream; y iii) aplicaciones dirigidas por el sistema, donde el nivel operacional rige el despliegue al considerarlas como una caja negra.En la presente tesis doctoral, se propone el uso de un scheduler espec铆fico para cada tipo de aplicaci贸n y modelo, con ejemplos concretos, de manera que el cliente de la infraestructura pueda utilizar informaci贸n del modelo descriptivo y del modelo operacional. Esta soluci贸n permite rellenar el hueco conceptual entre ambos niveles. De esta manera, se proponen diferentes m茅todos y t茅cnicas para desplegar diferentes aplicaciones: una simulaci贸n de un sistema de Veh铆culos El茅ctricos descrita a trav茅s de Redes de Petri; procesado de algoritmos sobre un grafo que llega siguiendo el paradigma Data Stream; y el propio sistema operacional como sujeto de estudio.En este 煤ltimo caso de estudio, se ha analizado c贸mo determinados par谩metros del nivel operacional (por ejemplo, la agrupaci贸n de contenedores, o la compartici贸n de recursos entre contenedores alojados en una misma m谩quina) tienen un impacto en las prestaciones. Para analizar dicho impacto, se propone un modelo formal de una infrastructura operacional concreta (Kubernetes). Por 煤ltimo, se propone una metodolog铆a para construir 铆ndices de interferencia para caracterizar aplicaciones y estimar la degradaci贸n de prestaciones incurrida cuando dos contenedores son desplegados y ejecutados juntos. Estos 铆ndices modelan c贸mo los recursos del nivel operacional son usados por las applicaciones. Esto supone que el nivel operacional maneja informaci贸n cercana a la aplicaci贸n y le permite tomar mejores decisiones de despliegue y distribuci贸n.<br /
    corecore