thesis

Co-operação de Tabelas de Hash Distribuídas em clusters heterogéneos

Abstract

Tese de Doutoramento em Informática - Área de Conhecimento de Engenharia de ComputadoresAs Estruturas de Dados Distribuídas (DDSs) constituem uma abordagem ao Armazenamento Distribuído adequada a aplicações com requisitos de elevada capacidade de armazenamento, escalabilidade e disponibilidade. Ao mesmo tempo, a disponibilização de interfaces simples e familiares permite encurtar o ciclo de desenvolvimento de aplicações. Num ambiente de cluster, caracterizado pela coexistência de grande variedade de aplicações e utilizadores com requisitos dinâmicos e de gerações de equipamento com desempenhos diferenciados (tanto ao nível do poder de calculo, como das comunicações e do armazenamento), a necessidade de operação conjunta e eficiente de múltiplas DDSs pelas aplicações constituiu um desafio científico e tecnológico que esta tese se propôs superar. Esta tese apresenta as propostas e os resultados alcançados durante o estudo e desenvolvimento dos modelos e da plataforma de suporte à arquitectura Domus para a co-operação de múltiplas Tabelas de Hash Distribuídas (DHTs) em clusters partilhados e heterogéneos. A plataforma contempla várias classes de atributos e operações sobre DHTs permitindo, entre outras possibilidades, a definição administrativa de limite à expansão/contracção, o recurso a diferentes tecnologias de armazenamento e a suspensão/retoma dinâmica da operação. Numa outra vertente, para responder aos requisitos impostos pela execução simultânea de múltiplas e diferenciadas aplicações, foram formulados e desenvolvidos mecanismos de balanceamento dinâmico de carga que visam a optimização e rentabilização dos recursos computacionais/comunicacionais e de armazenamento disponíveis no cluster. Na base da abordagem estão modelos que dão uma resposta qualificada aos problemas do particionamento de uma DHT e da localização das suas entradas. Em relação ao particionamento, são propostos modelos para definição do número de entradas de cada nó de uma DHT, suportando variação dinâmica do número total de nós; os modelos asseguram uma distribuição óptima do número de entradas, nos quatro cenários que resultam da combinação de Hashing Estático ou Dinâmico, com Distribuição Homogénea ou Heterogénea; com Hashing Dinâmico, a qualidade da distribuição é parametrizável e, com Distribuição Homogénea, o esforço de re-particionamento ´e de ordem O(1) face ao total de nós da DHT. No que toca à localização, definiram-se algoritmos de encaminhamento acelerado para localização distribuída em topologias DeBruijn e Chord, que respondem `a descontinuidade das partições das DHTs geradas pelos modelos de particionamento. Para o efeito, explorou-se a possível coexistência em cada nó de uma DHT de múltiplas tabelas de encaminhamento, para tentar aproximar do custo, de referência, sobre grafos esparsos em que os vértices são nós da DHT, ao custo da localização sobre grafos completos, em que os vértices são entradas da DHT, tendo-se obtido valores de 70% a 90% do custo de referência.Distributed Data Structures (DDSs) as an approach to Distributed Storage are adequate to applications that require high storage capacity, scalability and availability. At the same time, DDSs present simple and familiar interfaces that allow shorter development cycles. In a cluster environment, shared by multiple users and applications with dynamic requisites, and built on different hardware generations (with different computing, communication and storage power), the need to simultaneously and efficiently operate several DDSs by user applications presents the scientific and technological challenge embraced by this thesis. This thesis presents the proposals and the results achieved during the study of the models and development of the platform that supports the Domus architecture for the co-operation of multiple Distributed Hash Tables (DHTs) in shared and heterogeneous clusters. The platform supports several classes of attributes and operations on DHTs allowing, among other possibilities, the administrative definition of per DHT node boundaries and storage technologies, or the deactivation/reactivation of DHTs. In addition, Domus DHTs are managed by dynamic load balancing mechanisms which ensure certain service levels (like storage space or access performance) and optimize the utilization of cluster resources. The architecture builds on specific models for the partitioning and lookup of a DHT address space. The partitioning models ensure optimal distribution of the number of DHT buckets per node, for a dynamic number of DHT nodes, and support the different scenarios that arise from the combination of Static/Dynamic Hashing, with Homogeneous/Heterogeneous Distributions. The quality of the distribution is tuneable under Dynamic Hashing, and repartitioning involves O(1) nodes of the DHT under Homogeneous Distributions. With regard to the lookup problem, a set of accelerated routing algorithms were designed for distributed lookup, both for DeBruijn and Chord topologies, in order to deal with the discontinuous DHT partitions generated by our partitioning models. The algorithms explore the availability of multiple routing tables per DHT node with the aim of reducing the lookup cost with full graphs, in which the vertexes are all the DHT buckets, towards the reference lookup cost with sparse graphs, in which the vertexes are all the DHT nodes. The best lookup algorithms ensure a lookup cost of 70% to 90% of the reference cost

    Similar works