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