4 research outputs found

    A review on various optimization techniques of resource provisioning in cloud computing

    Get PDF
    Cloud computing is the provision of IT resources (IaaS) on-demand using a pay as you go model over the internet.It is a broad and deep platform that helps customers builds sophisticated, scalable applications. To get the full benefits, research on a wide range of topics is needed. While resource over-provisioning can cost users more than necessary, resource under provisioning hurts the application performance. The cost effectiveness of cloud computing highly depends on how well the customer can optimize the cost of renting resources (VMs) from cloud providers. The issue of resource provisioning optimization from cloud-consumer potential is a complicated optimization issue, which includes much uncertainty parameters. There is a much research avenue available for solving this problem as it is in the real-world. Here, in this paper we provide details about various optimization techniques for resource provisioning

    A Review on Resource Provisioning Algorithms Optimization Techniques in Cloud Computing

    Get PDF
    Cloud computing is the provision of IT resources (IaaS) on-demand using a pay as you go model over the internet. It is a broad and deep platform that helps customers builds sophisticated, scalable applications. To get the full benefits, research on a wide range of topics is needed. While resource over provisioning can cost users more than necessary, resource under provisioning hurts the application performance. The cost effectiveness of cloud computing highly depends on how well the customer can optimize the cost of renting resources (VMs) from cloud providers. The issue of resource provisioning optimization from cloud-consumer potential is a complicated optimization issue, which includes much uncertainty parameters. There is a much research avenue available for solving this problem as it is in the real-world. Here, in this paper we provide details about various optimization techniques for resource provisioning

    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

    Afinidade de tipos de aplicações em nuvens computacionais

    Get PDF
    Orientador : Prof. Dr. Bruno SchulzeCo-orientador : Prof. Dr. Luís 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, 2014Inclui referências : f. 140-153Resumo: O aumento do uso de ambientes virtualizados tem levado à inúmeras pesquisas sobre as possibilidades e restrições de seu uso na computação em nuvem ou para consolidação de recursos. Entretanto, a maioria destes estudos são limitados a um nível de análise de desempenho, que não aprofunda os efeitos da concorrência entre os vários ambientes virtuais, e como mitigar esses efeitos. O estudo apresentado a seguir propõe o conceito de afinidade, que define o grau de coexistência entre as classes de aplicações. Estas combinações têm como elementos que as influenciam: as classes e subclasses de algoritmos utilizados na implementação destas aplicações, associadas aos tipos de bibliotecas paralelas por elas utilizadas. Os resultados obtidos nesta pesquisa demonstram que os efeitos destas combinações entre classes de algoritmos e bibliotecas de paralelização têm valores tão diversos, que torna necessário o estudo e mensuração destes valores detalhadamente, justificando a proposta aqui apresentada quanto a definição e análise do conceito afinidade, buscando com isso contribuir para um melhor uso dos recursos, sobretudo no que tange à computação massivamente paralela e distribuída, com impactos tanto na elaboração de novas aplicações, quanto na elaboração de novos escalonadores para estes ambientes. Palavras chave: afinidade, classes de aplicações, computação distribuída, dwarfs, concorrência, gerência, nuvem, virtualização.Abstract: The increased use of virtual environments has motivated extensive research on the possibilities and limitations of its use in cloud computing or resource consolidation. However the majority of these studies are limited to a degree of performance analysis, which does not deepens the effects of concurrency between multiple virtual environments, and how to mitigate these effects. The study presented below proposes the concept of affinity, that defines the degree of coexistence between classes of applications. These combinations have as elements that influence them: classes and subclasses of algorithms used in the implementation of these applications, associated with the types of parallel libraries used by them. The results obtained in this research show that the effects of these combinations between classes of algorithms and parallelization libraries have different values, which makes the study and measuring of these values in detail, justifying the proposal presented here as well as the definition and analysis of the affinity concept, looking thereby contribute to a better use of resources, especially regarding to the massively parallel and distributed computing, with impacts both in developing of new applications, as the development of new schedulers for these environments. Keywords: affinity, applications classes, distributed computing, dwarfs, concurrency, management, cloud computing, virtualization
    corecore