doctoralThesis
An adaptable storage slicing algorithm for content delivery networks
Registro en:
Autor
MOREIRA, André Luis Cavalcanti
Institución
Resumen
Several works study the performance of Content Delivery Networks (CDNs) under various network infrastructure and demand conditions. Many strategies have been proposed to deal with aspects inherent to the CDN distribution model. Though mostly very effective, a traditional CDN approach of statically positioned elements often fails to meet quality of experience (QoE) requirements when network conditions suddenly change. CDN adaptation is a key feature in this process and some studies go even further and try to also deal with demand elasticity by providing an elastic infrastructure (cloud computing) to such CDNs. Each Content Provider (CP) gets served only the amount of storage space and network throughput that it needs and pays only for what has been used. Some IaaS providers offer simple CDN services on top of their infrastructure. However, in general, there is a lack of PaaS tools to create rapidly a CDN. There is no standard or open source software able to deliver CDN as a service for each tenant through well-known managers. A PaaS CDN should be able to implement content delivery service in a cloud environment, provision and orchestrate each tenant, monitor usage and make decisions on planning and dimensioning of resources. This work introduces a framework for the allocation of resources of a CDN in a multi-tenant environment. The framework is able to provision and orchestrate multi-tenant virtual CDNs and can be seen as a step towards a PaaS CDN. A simple dot product based module for network change detection is presented and a more elaborate multi-tenant resource manager model is defined. We solve the resulting ILP problem using both branch and bound as well as an efficient cache slicing algorithm that employs a three phase heuristic for orchestration of multi-tenant virtual CDNs. We finally show that a distributed algorithm with limited local information may be also offer reasonable resource allocation while using limited coordination among the different nodes. A self-organization behavior emerges when some of the nodes reach consensus. Vários trabalhos estudam o desempenho de Redes de Distribuição de Conteúdo (CDN) em diferentes condições e demanda e de infraestrutura. Muitas estratégias têm sido propostas para lidar com aspectos inerentes ao modelo de distribuição de CDN. Embora essas técnicas sejam bastante eficazes, uma abordagem tradicional de elementos estaticamente posicionados numa CDN muitas vezes não consegue atender os requisitos de qualidade de experiência (QoE) quando as condições da rede mudam repentinamente. Adaptação CDN é uma característica fundamental neste processo e alguns estudos vão ainda mais longe e tentam lidar com a elasticidade da demanda, proporcionando uma infraestrutura elástica (computação em nuvem) para a CDN. Cada provedor de conteúdo obtém apenas a quantidade de armazenamento e de rede necessários, pagando apenas pelo efetivo uso. Alguns provedores IaaS oferecem serviços de CDN sobre suas estruturas. No entanto, em geral, não existe padrão ou softwares de código aberto capazes de entregar serviços de CDN por meio de gerenciadores. Uma CDN PaaS deve ser capaz de fornecer um serviço de entrega de conteúdo em um ambiente de nuvem, provisionar e orquestrar cada tenant, monitorar uso e tomar decisões de planejamento e dimensionamento de recursos. Este trabalho apresenta um framework para alocação de recursos de uma CDN em ambiente multi-tenant. O framework é capaz de provisionar e orquestrar CDNs virtuais e pode ser visto como um passo em direção a uma PaaS CDN. Um módulo baseado em simples produto escalar para detecção de mudanças na rede é apresentado, bem como um modelo mais elaborado de gerenciamento de recursos. Resolvemos o problema ILP resultante dessa abordagem por meio de um algoritmo de divisão de cache que emprega uma heurística em três fases para a orquestração de CDN virtuais. Por fim, mostramos uma outra abordagem com algoritmo distribuído que usa informação local e que também oferece uma alocação razoável usando coordenação limitada entre os diferentes nós. Um comportamento de auto-organização surge quando alguns desses nós chegam a um consenso.