10 research outputs found

    Prediction Based Efficient Resource Provisioning and Its Impact on QoS Parameters in the Cloud Environment

    Get PDF
    The purpose of this paper is to provision the on demand resources to the end users as per their need using prediction method in cloud computing environment. The provisioning of virtualized resources to cloud consumers according to their need is a crucial step in the deployment of applications on the cloud. However, the dynamical management of resources for variable workloads remains a challenging problem for cloud providers. This problem can be solved by using a prediction based adaptive resource provisioning mechanism, which can estimate the upcoming resource demands of applications. The present research introduces a prediction based resource provisioning model for the allocation of resources in advance. The proposed approach facilitates the release of unused resources in the pool with quality of service (QoS), which is defined based on prediction model to perform the allocation of resources in advance. In this work, the model is used to determine the future workload prediction for user requests on web servers, and its impact toward achieving efficient resource provisioning in terms of resource exploitation and QoS. The main contribution of this paper is to develop the prediction model for efficient and dynamic resource provisioning to meet the requirements of end users

    Automation of resource management in information systems based on reactive vertical scaling

    Get PDF
    The rapid development of information systems creates new challenges for developers. The problem of minimizing the use of IT infrastructure resources while ensuring the agreed level of service is one of the critical ones in the existing conditions. The article is devoted to the research of existing automation methods of resource management and QoS indicators. Capabilities of managing computing resources in Kubernetes and in general are analyzed. The work provides a detailed analysis of reactive and proactive approaches, their advantages and disadvantages. Considerable attention is paid to vertical scaling, in particular to the open-source Vertical Pod Autoscaler solution. A series of experiments was performed to analyze the effectiveness of this approach in various conditions. Based on the results, the appropriate use cases for using VPA were determined. In addition, the work proposes a hybrid approach, which includes a reactive and proactive component, which allows you to use the advantages of both methods

    MemOpLight: Leveraging application feedback to improve container memory consolidation

    Get PDF
    International audienceThe container mechanism amortizes costs by consolidating several servers onto the same machine, while keeping them mutually isolated.Specifically, to ensure performance isolation, Linux relies on memory limits.These limits are static, despite the fact that application needs are dynamic; this results in poor performance.To solve this issue, MemOpLight uses dynamic application feedback to rebalance physical memory allocation between containers focusing on under-performing ones.This paper presents the issues, explains the design of MemOpLight, and validates it experimentally.Our approach increases total satisfaction by 13% compared to the default

    Auto-scaling techniques for cloud-based Complex Event Processing

    Get PDF
    One key topic in cloud computing is elasticity, which is the ability of the cloud environment to timely adapt the resource assignment along with the workload demand. According to cloud on-demand model, the infrastructure should be able to scale up and down to unpredictable workloads, in order to achieve both a guaranteed service level and cost efficiency. This work addresses the cloud elasticity problem, with particular reference to the Complex Event Processing (CEP) systems. CEP systems are designed to process large volumes of event-driven data streams and continuously provide results with a low latency and in real-time. CEP systems need to adapt to changing query and events loads. Because of the high computational requirements and varying loads, CEP are distributed system and running on cloud infrastructures. In this work we review the cloud computing auto-scaling solutions, and study their suit- ability in the CEP model. We implement some solutions in a CEP prototype and evaluate the experimental results

    Um modelo de provisionamento elástico de recursos baseado em níveis de estresse

    Get PDF
    Orientador : Prof. Dr. Luis Carlos Erpen de BonaDissertação (mestrado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 08/07/2016Inclui referências : f. 44-48Àrea de concentração: Ciência da computaçãoResumo: A computação em nuvem pode ser definida como um modelo de compartilhamento de recursos computacionais,que podem ser adicionados e removidos de forma dinâmica e elástica possibilitando ajustar os recursos alocados de forma eficiente, reduzindo os custos operacionais e garantindo o mesmo desempenho.Os sistemas de gerenciamento de bancos de dados (SGBD) são responsáveis por armazenar, organizar, gerenciar e extrair informações, e ao longo do tempo surgiram diferentes abordagens para efetuar estas tarefas. Com as diversas implementações e abordagens, foram propostos vários benchmarks, para expor e avaliar as diferentes características entre as implementações, sendo possível comparar estas aplicações e definir objetivos. Um tipo de benchmark é o teste de estresse, que tem como objetivo descobrir falhas quando o SGBD está sobre uma alta carga de trabalho. Este tipo de teste, inicia-se quando o SGBD é instanciado, sem carga, até o ponto em que deixa de responder devido a alta demanda. Neste contexto, propõe-se classificar o desempenho de um SGBD baseado em diferentes níveis de estresse: Aquecimento, Estável, Sob-Pressão, Estresse e Falha iminente. Visando manter o SGBD sempre estável e com a velocidade controlada, alocando para o serviço apenas os recursos necessários, neste trabalho propomos um controlador elástico reativo e automático, utilizando os níveis de estresse para determinar um momento adequado para reajuste dos recursos. Os SGBD relacionais apresentam diversas técnicas que podem ser usadas para elasticidade, sendo as principais delas de particionamento, migração e replicação. Neste trabalho utilizamos a elasticidade vertical de CPU, aumentando ou diminuindo o total de núcleos disponíveis para uma máquina virtual dedicada a esta aplicação. O controlador proposto apresenta vantagens e desvantagens para diferentes cargas de trabalho, comparadas com outras duas técnicas utilizadas para provisionar recursos de forma vertical: baseada em tempo de resposta e uso de recursos. Palavras-chave: elasticidade, nuvem computacional, banco de dados, níveis de estresse.Abstract: Cloud computing can be defined as a computational resource sharing model, which can be added and removed dynamically and elastically allowing adjust the allocated resources efficiently, reducing operating costs and ensuring the same performance. Database management systems (DBMS) are responsible for store, organize, manage and extract information, and over time have arisen different approaches to perform these tasks. With the various approaches have been proposed several benchmarks to expose and evaluate the different characteristics between implementations, and can compare these applications and set goals. A kind of benchmark is the stress test, which aims to find fault when the DBMS is on a high workload. This type of testing begins when the DBMS is instantiated, without charge, to the point where it stops responding due to high demand. In this context, it is proposed to classify the performance of a DBMS based on different stress levels: Warmup, Stable, Under-Pressure, Stress and Thrashing state. To maintain the DBMS always stable and controlled speed, allocating to service only the necessary resources, in this paper we propose a reactive and automatic elastic controller using stress levels to determine an appropriate time for adjustment of resources. Relational DBMS have several techniques that can be used to elasticity, the main of them partitioning, migration and replication. In this work we used the vertical elasticity of CPU, increasing or decreasing the total number of available cores to a virtual machine dedicated to this application. The proposed controller has advantages and disadvantages for different workloads, compared with two other techniques used to provision resources vertically: based on response time and resource usage. Keywords: elasticity, cloud computing , database management system, stress levels

    Explorando a elasticidade em nível de programação no desenvolvimento e na execução de aplicações científicas

    Get PDF
    Orientador : Prof. Dr. Luis Carlos Erpen de BonaTese (doutorado) - Universidade Federal do Paraná, Setor de Ciências Exatas, Programa de Pós-Graduação em Informática. Defesa: Curitiba, 28/04/2014Inclui referênciasResumo: A elasticidade pode ser definida como a capacidade de um sistema de modificar dinamicamente os recursos computacionais utilizados por uma aplicação. Embora diversos mecanismos de elasticidade tenham sido propostos, ainda apresentam uma série de limitações ao fornecer suporte à elasticidade para aplicações científicas. Neste trabalho, propõe-se uma abordagem para o desenvolvimento de aplicações científicas elásticas, na qual o controle da elasticidade é feito em nível de programação. Isso significa que o controle de elasticidade é incorporado ao código-fonte, permitindo que as ações de alocação e desalocação de recursos possam ser realizadas pela própria aplicação e não dependa de mecanismos externos ou interação com o usuário. A construção de aplicações elásticas de acordo com abordagem proposta baseia-se no conceito de primitivas de elasticidade, um conjunto de funções que permitem que as aplicações comuniquem-se com a nuvem para solicitar ou liberar recursos, bem como para coletar informações do ambiente virtual e da nuvem. Assim, é possível desenvolver controladores de elasticidade sob medida que permitem que aplicações ajustem seus próprios recursos de acordo com suas demandas ou de modo a satisfazer algum critério específico, por exemplo, custo ou desempenho. A abordagem também permite que bibliotecas e frameworks de programação paralela possam ser construídas ou adaptadas de modo a oferecer elasticidade de modo transparente. Para permitir a construção de aplicações elásticas utilizando a abordagem proposta, desenvolveu-se o framework Cloudine. O Cloudine fornece as primitivas de elasticidade e um ambiente de execução, o qual oferece o suporte para a execução das aplicações elásticas na nuvem. A exploração da elasticidade em nível de programação é validada por um conjunto de experimentos realizados utilizando o Cloudine. O framework é utilizado com sucesso para fornecer elasticidade a um conjunto de aplicações, dentre as quais destacam-se uma aplicação de montagem de genomas (SAND) e um modelo climático (OLAM). O Cloudine também é usado para estender a biblioteca OpenMP do GCC (libgomp) para oferecer elasticidade de modo automático e transparente.Abstract: Elasticity is defined as the ability to adaptively scale resources up and down in order to meet varying application demands. Although several mechanisms to provide this feature are offered by public cloud providers and in some academic works, we argue that these solutions present limitations in providing elasticity for scientific applications, since they are not developed to this purpose and cannot consider the particularities of this class of applications. In this thesis we propose an approach for exploring the elasticity in scientific applications, in which the elasticity control is embedded within application code and the elasticity actions (allocation and deallocation of resources) are performed by the application itself, based in its runtime requirements or internal events. The development of embedded elasticity controllers is based on the concept of elasticity primitives, which are basic functions that allow to perform requests for allocation or deallocation of resources directly to the cloud. Thus, it is possible to develop tailor made elasticity controllers that enable applications to adjust its own resources according to its demands or to satisfy some specific criteria, such as cost or performance. It is also possible to develop elasticity-aware parallel processing middleware that transparently support applications elasticity. To enable the construction of elastic applications using the presented approach, we developed the Cloudine framework. Cloudine provides the primitive set and a runtime environment, which supports the execution of elastic application in the cloud. The proposed approach is validated by a set of experiments using Cloudine. The framework was successfully used to provide elasticity to a number of applications, among which we highlight a genome assembler (SAND) and a climate model (OLAM). The Cloudine is also used to extend the GCC’s OpenMP library (libgomp) to provide automatic allocation of resources

    Optimización de arquitecturas distribuidas para el procesado de datos masivos

    Full text link
    Tesis por compendio[ES] La utilización de sistemas para el tratamiento eficiente de grandes volúmenes de información ha crecido en popularidad durante los últimos años. Esto conlleva el desarrollo de nuevas tecnologías, métodos y algoritmos, que permitan un uso eficiente de las infraestructuras. El tratamiento de grandes volúmenes de información no está exento de numerosos problemas y retos, algunos de los cuales se tratarán de mejorar. Dentro de las posibilidades actuales debemos tener en cuenta la evolución que han tenido los sistemas durante los últimos años y las oportunidades de mejora que existan en cada uno de ellos. El primer sistema de estudio, el Grid, constituye una aproximación inicial de procesamiento masivo y representa uno de los primeros sistemas distribuidos de tratamiento de grandes conjuntos de datos. Participando en la modernización de uno de los mecanismos de acceso a los datos se facilita la mejora de los tratamientos que se realizan en la genómica actual. Los estudios que se presentan están centrados en la transformada de Burrows-Wheeler, que ya es conocida en el análisis genómico por su capacidad para mejorar los tiempos en el alineamiento de cadenas cortas de polinucleótidos. Esta mejora en los tiempos, se perfecciona mediante la reducción de los accesos remotos con la utilización de un sistema de caché intermedia que optimiza su ejecución en un sistema Grid ya consolidado. Esta caché se implementa como complemento a la librería de acceso estándar GFAL utilizada en la infraestructura de IberGrid. En un segundo paso se plantea el tratamiento de los datos en arquitecturas de Big Data. Las mejoras se realizan tanto en la arquitectura Lambda como Kappa mediante la búsqueda de métodos para tratar grandes volúmenes de información multimedia. Mientras que en la arquitectura Lambda se utiliza Apache Hadoop como tecnología para este tratamiento, en la arquitectura Kappa se utiliza Apache Storm como sistema de computación distribuido en tiempo real. En ambas arquitecturas se amplía el ámbito de utilización y se optimiza la ejecución mediante la aplicación de algoritmos que mejoran los problemas en cada una de las tecnologías. El problema del volumen de datos es el centro de un último escalón, por el que se permite mejorar la arquitectura de microservicios. Teniendo en cuenta el número total de nodos que se ejecutan en sistemas de procesamiento tenemos una aproximación de las magnitudes que podemos obtener para el tratamiento de grandes volúmenes. De esta forma, la capacidad de los sistemas para aumentar o disminuir su tamaño permite un gobierno óptimo. Proponiendo un sistema bioinspirado se aporta un método de autoescalado dinámico y distribuido que mejora el comportamiento de los métodos comúnmente utilizados frente a las circunstancias cambiantes no predecibles. Las tres magnitudes clave del Big Data, también conocidas como V's, están representadas y mejoradas: velocidad, enriqueciendo los sistemas de acceso de datos por medio de una reducción de los tiempos de tratamiento de las búsquedas en los sistemas Grid bioinformáticos; variedad, utilizando sistemas multimedia menos frecuentes que los basados en datos tabulares; y por último, volumen, incrementando las capacidades de autoescalado mediante el aprovechamiento de contenedores software y algoritmos bioinspirados.[CA] La utilització de sistemes per al tractament eficient de grans volums d'informació ha crescut en popularitat durant els últims anys. Açò comporta el desenvolupament de noves tecnologies, mètodes i algoritmes, que aconsellen l'ús eficient de les infraestructures. El tractament de grans volums d'informació no està exempt de nombrosos problemes i reptes, alguns dels quals es tractaran de millorar. Dins de les possibilitats actuals hem de tindre en compte l'evolució que han tingut els sistemes durant els últims anys i les ocasions de millora que existisquen en cada un d'ells. El primer sistema d'estudi, el Grid, constituïx una aproximació inicial de processament massiu i representa un dels primers sistemes de tractament distribuït de grans conjunts de dades. Participant en la modernització d'un dels mecanismes d'accés a les dades es facilita la millora dels tractaments que es realitzen en la genòmica actual. Els estudis que es presenten estan centrats en la transformada de Burrows-Wheeler, que ja és coneguda en l'anàlisi genòmica per la seua capacitat per a millorar els temps en l'alineament de cadenes curtes de polinucleòtids. Esta millora en els temps, es perfecciona per mitjà de la reducció dels accessos remots amb la utilització d'un sistema de memòria cau intermèdia que optimitza la seua execució en un sistema Grid ja consolidat. Esta caché s'implementa com a complement a la llibreria d'accés estàndard GFAL utilitzada en la infraestructura d'IberGrid. En un segon pas es planteja el tractament de les dades en arquitectures de Big Data. Les millores es realitzen tant en l'arquitectura Lambda com a Kappa per mitjà de la busca de mètodes per a tractar grans volums d'informació multimèdia. Mentre que en l'arquitectura Lambda s'utilitza Apache Hadoop com a tecnologia per a este tractament, en l'arquitectura Kappa s'utilitza Apache Storm com a sistema de computació distribuït en temps real. En ambdós arquitectures s'àmplia l'àmbit d'utilització i s'optimitza l'execució per mitjà de l'aplicació d'algoritmes que milloren els problemes en cada una de les tecnologies. El problema del volum de dades és el centre d'un últim escaló, pel qual es permet millorar l'arquitectura de microserveis. Tenint en compte el nombre total de nodes que s'executen en sistemes de processament tenim una aproximació de les magnituds que podem obtindre per al tractaments de grans volums. D'aquesta manera la capacitat dels sistemes per a augmentar o disminuir la seua dimensió permet un govern òptim. Proposant un sistema bioinspirat s'aporta un mètode d'autoescalat dinàmic i distribuït que millora el comportament dels mètodes comunment utilitzats enfront de les circumstàncies canviants no predictibles. Les tres magnituds clau del Big Data, també conegudes com V's, es troben representades i millorades: velocitat, enriquint els sistemes d'accés de dades per mitjà d'una reducció dels temps de tractament de les busques en els sistemes Grid bioinformàtics; varietat, utilitzant sistemes multimèdia menys freqüents que els basats en dades tabulars; i finalment, volum, incrementant les capacitats d'autoescalat per mitjà de l'aprofitament de contenidors i algoritmes bioinspirats.[EN] The use of systems for the efficient treatment of large data volumes has grown in popularity during the last few years. This has led to the development of new technologies, methods and algorithms to efficiently use of infrastructures. The Big Data treatment is not exempt from numerous problems and challenges, some of which will be attempted to improve. Within the existing possibilities, we must take into account the evolution that systems have had during the last years and the improvement that exists in each one. The first system of study, the Grid, constitutes an initial approach of massive distributed processing and represents one of the first treatment systems of big data sets. By researching in the modernization of the data access mechanisms, the advance of the treatments carried out in current genomics is facilitated. The studies presented are centred on the Burrows-Wheeler Transform, which is already known in genomic analysis for its ability to improve alignment times of short polynucleotids chains. This time, the update is enhanced by reducing remote accesses by using an intermediate cache system that optimizes its execution in an already consolidated Grid system. This cache is implemented as a GFAL standard file access library complement used in IberGrid infrastructure. In a second step, data processing in Big Data architectures is considered. Improvements are made in both the Lambda and Kappa architectures searching for methods to process large volumes of multimedia information. For the Lambda architecture, Apache Hadoop is used as the main processing technology, while for the Kappa architecture, Apache Storm is used as a real time distributed computing system. In both architectures the use scope is extended and the execution is optimized applying algorithms that improve problems for each technology. The last step is focused on the data volume problem, which allows the improvement of the microservices architecture. The total number of nodes running in a processing system provides a measure for the capacity of processing large data volumes. This way, the ability to increase and decrease capacity allows optimal governance. By proposing a bio-inspired system, a dynamic and distributed self-scaling method is provided improving common methods when facing unpredictable workloads. The three key magnitudes of Big Data, also known as V's, will be represented and improved: speed, enriching data access systems by reducing search processing times in bioinformatic Grid systems; variety, using multimedia data less used than tabular data; and finally, volume, increasing self-scaling capabilities using software containers and bio-inspired algorithms.Herrera Hernández, J. (2020). Optimización de arquitecturas distribuidas para el procesado de datos masivos [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/149374TESISCompendi
    corecore