PhD Thesis

Resource allocation for data-intensive services in the cloud

Alocação de recursos para reviços intensivos em dados na nuvem

David Daharewa Gureya2021

Key information

Authors:

David Daharewa Gureya (David Daharewa Gureya)

Supervisors:

Vladimir Vlassov; João Pedro Faria Mendonça Barreto (João Pedro Faria Mendonça Barreto)

Published in

November 19, 2021

Abstract

A Computação na Nuvem tornou-se onipresente devido à sua flexibilidade de recursos e eficiência de custos. A flexibilidade de recursos permite que os utilizadores da Nuvem escalonem elasticamente os recursos da Nuvem que utilizam – por exemplo, escalando horizontalmente o número de máquinas virtuais alocadas a cada aplicação – à medida que a sua carga de trabalho (e a consequente necessidade de recursos) varia. A eficiência de custos é alcançada principalmente por meio da consolidação da carga de trabalho, ou seja, colocando múltiplas aplicações no mesmo nó físico. Esta tese foca-se em dois aspectos da gestão de recursos de Nuvem, a saber, elasticidade e arbitragem de recursos, na presença de requisitos de QdS, em dois níveis: a gestão de recursos entre nós e a gestão de recursos dentro de cada nó. No nível inter-nó, consideramos o número de máquinas virtuais como o principal recurso a alocar e desalocar para escalonamento automático horizontal de um serviço ou aplicação elásticos na Nuvem. Mais precisamente, esta tese aborda alguns dos desafios práticos associados aos controladores de elasticidade que recorrem a controlo preditivo baseado em modelação. Mais precisamente, propomos, implementamos e avaliamos o OnlineElastMan, um gerenciador de elasticidade proativo auto-treinado para serviços de armazenamento baseados na Nuvem. Em relação ao Estado da Arte atual, o OnlineElastMan introduz vantagens práticas, nomeadamente por se basear em métricas de carga de trabalho e QdS que são fáceis de obter em sistemas reais, por suportar o auto-aperfeiçoamento automático e dinâmico dos modelos de controle, assim como um módulo genérico de previsão de carga de trabalho. A avaliação experimental do OnlineElastMan mostra que a nossa proposta melhora continuamente a sua precisão de provisionamento, minimizando os custos associados e as violações de QdS, sob vários padrões de carga de trabalho. No nível intra-nó, esta tese trata a largura de banda da memória em sistemas multi-socket como o recurso essencial a arbitrar entre aplicações co-localizadas. A tese parte da observação de que, como os sistemas de alocação de recursos de última geração não permitem que aplicações residentes no mesmo nó partilhem memória entre sockets, a largura de banda de memória total de nós multi-socket não pode ser completamente explorada. Esta tese visa preencher essa lacuna desenhando, implementando e avaliando duas novas técnicas para alocação de largura de banda de memória para nós multi-socket na Nuvem. Primeiro, propomos BWAP, uma nova ferramenta de posicionamento de páginas de memória que optimiza a largura de banda de memória em sistemas de acesso não uniforme à memória (NUMA, em inglês). A avaliação experimental, feita recorrendo a um conjunto diversificado de cargas de trabalho com uso intensivo de memória, mostra que a BWAP melhora o desempenho até 4× quando comparada com a política trivial first-touch (a opção por omissão em Linux). Em segundo lugar, propomos BALM, uma técnica de alocação de largura de banda de memória baseada em QdS para arquiteturas multi-socket. A ideia essencial da BALM é combinar mecanismos de alocação de largura de banda existentes em sistemas reais, originalmente projetados para uso em nós de socket único, com um novo esquema de migração de páginas entre sockets. Experimentalmente, mostramos que, em comparação com o Estado da Arte, a BALM consegue cumprir os requisitos de QdS das aplicações dessa categoria, apenas com períodos marginais de violação temporária; ao mesmo tempo que alcança ganhos de débito até 87% para as restantes aplicações sem requisitos de QdS que correm no mesmo nó multi-socket. Todas as soluções propostas e apresentadas nesta tese, nomeadamente OnlineElastMan, BWAP e BALM, foram implementadas e avaliadas em cargas de trabalho do mundo real. A avaliação experimental descrita neste documento demonstra que as contribuições permitem melhorar a utilização de recursos da Nuvem através da execução elástica e da arbitragem eficaz de recursos entre cargas de trabalho consolidadas num mesmo nó, tudo tendo em conta os requisitos de QdS. Cloud computing has become ubiquitous due to its resource flexibility and cost efficiency. Resource flexibility allows Cloud users to elastically scale their Cloud resources, for instance, by horizontally scaling the number of virtual machines allocated to each application as the application demands change. However, matching resource demands to applications is non-trivial and applications experiencing highly dynamic workloads make it much more difficult. Cost efficiency is primarily achieved through workload consolidation, i.e., by co-locating applications on the same physical host. Unfortunately, workload consolidation often comes at a performance penalty, as consolidated applications contend for shared resources, leading to interference and performance unpredictability. Interference is particularly destructive for latency-critical applications, which must meet strict quality of service (QoS) requirements. Another significant technological trend is the growing prevalence of multi-socket systems in contemporary data centers. However, to the best of our knowledge, existing proposals for QoS-aware resource allocation are, by design, not tailored to multi-socket systems. Specifically, existing proposals do not support cross-socket sharing of memory, which entails a sub-optimal use of multi-socket host’s aggregate memory resources. This thesis focuses on two aspects of Cloud resource management namely, QoS-aware elasticity and resource arbitration, on two levels: inter-node resource management and intra-node resource management. In the first level, we consider the number of virtual machines (VMs) as the main resource to allocate and deallocate for horizontal auto-scaling of an elastic service or application in the Cloud. In the intra-node resource management, we treat the memory bandwidth in multi-socket system as the resource to arbitrate among co-located applications. In both levels, the overall goal of this thesis is to provide resource management mechanisms that automatically adapt the resources allocated to data-intensive services to improve resource utilization while meeting service-level objectives (SLOs). In the context of inter-node resource management for auto-scaling of elastic Cloud services, this thesis improves the usefulness of elasticity controllers by addressing some of the challenges posed by current model-predictive control systems (such as training and tuning of the controller and adapting it to different workload patterns). To enable elastic execution of Cloud-based services using model-predictive control, we propose, implement, and evaluate OnlineElastMan, a self-trained proactive elasticity manager for Cloud-based storage services. OnlineElastMan excels its peers with its practical aspects, including easily measurable and obtainable performance and QoS metrics, automatic online training, and an embedded generic workload prediction module. Our evaluation shows that OnlineElastMan continuously improves its provision accuracy, minimizing provisioning cost and SLO violations, under various workload patterns. In the context of intra-node resource management, this thesis departs from the observation that, since state-of-the-art QoS-aware resource allocation systems disallow cross-socket sharing of memory among consolidated applications, the memory bandwidth resources of multi-socket hosts cannot be properly exploited. Therefore, this thesis aims at filling that gap by designing, implementing and evaluating two novel techniques for memory bandwidth allocation for multi-socket Cloud nodes. First, we propose BWAP, a novel bandwidth-aware page placement tool for memory-intensive applications on non-uniform memory access (NUMA) systems. BWAP takes the asymmetric bandwidths of every NUMA node into account to determine and enforce an optimized application-specific weighted interleaving. Our evaluations on a diverse set of memory-intensive workloads, show that BWAP achieves up to 4× speedups when compared to a firsttouch baseline policy (as provided by Linux’s default). Second, we propose BALM, a QoS-aware memory bandwidth allocation technique for multi-socket architectures. The key insight of BALM, is to combine commodity bandwidth allocation mechanisms originally designed for single-socket with a novel adaptive cross-socket page migration scheme. Our evaluation shows that BALM can safeguard the SLO of latencycritical applications, with marginal SLO violation windows, while delivering up to 87% throughput gains to bandwidth-intensive best-effort applications compared to state-of-the-art alternatives. All solutions proposed and presented in this thesis, namely OnlineElastMan, BWAP and BALM, have been implemented and evaluated on real-world workloads. The result indicates the feasibility and effectiveness of our proposed approaches to improve inter-resource and intra-resource management through QoS-aware elastic execution and effective arbitration of resources among consolidated workloads in Cloud nodes.

Publication details

Authors in the community:

Supervisors of this institution:

RENATES TID

101522681

Degree Name

Dotoramento em Engenharia Informática e de Computadores

Fields of Science and Technology (FOS)

electrical-engineering-electronic-engineering-information-engineering - Electrical engineering, electronic engineering, information engineering

Keywords

  • Cloud computing
  • QoS-aware resource allocation
  • Elasticity controller
  • Multi-socket systems
  • Non-uniform memory access
  • Page placement
  • Memory-intensive applications
  • Computação em Nuvem
  • Alocação de recursos baseada em QdS
  • Controlo de elasticidade
  • Sistemas multi-socket
  • Acesso não-uniforme à memória
  • Alocação de páginas de memória
  • Aplicações com uso intensivo de memória

Publication language (ISO code)

eng - English

Rights type:

Restricted access

Institution name

Instituto Superior Técnico

Financing entity

Fundação para a Ciência e a Tecnologia

Financing entity

European Commission