Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/83623
Título: | Consensus in high performance computing |
Autor(es): | Sobral, Diogo José Cruz |
Orientador(es): | Pereira, José |
Palavras-chave: | Distributed systems Distributed consensus NVMe Storage performance tool kit Network storage Sistemas distribuídos Consenso distribuído Armazenamento em rede |
Data: | 2022 |
Resumo(s): | For a long time, developers and scientists designed consensus solutions that sacrificed thread scalability or
load balance to decrease the latency. The appearance of networking and memory with microseconds requests
reshaped how high-throughput consensus solutions are designed today. Today’s protocols must be multi-threaded
to scale and seize the high hardware-level parallelism available. Moreover, their focus should be on not overloading
the system instead of decreasing the latency.
In the last decade, storage devices underwent an enormous development in their performance. The NVMe
devices bought the request’s latency of solid-state devices to the microseconds range. Additionally, the software
available to manage and operate these devices kept up with the hardware development. Libraries such as the
Storage Performance Tool Kit (SPDK) appeared to ease the development of high-performance storage applications.
In this context, this work aimed to answer a fundamental question: can NVMe Devices and SPDK improve the
existing consensus-related work?
This dissertation describes a solution for the distributed consensus problem that combines Disk Paxos (a
consensus algorithm that relies upon writing and reading in a network of storage devices to achieve a distributed
agreement) with NVMe Devices and SPDK. We conceived this solution using C++ and conducted a performance
evaluation that, in the end, compared our solution with LibPaxos. Our findings describe the issues and benefits of
the usage of these technologies to solve consensus. With our approach, we increase the understanding of the
potential of these new technologies in enabling better solutions for the consensus problem in the future. Durante bastante tempo, as abordagens adotadas para resolver o consenso distribuído sacrificavam a escalabilidade do número de “threads” ou o balanceamento da carga com o objetivo de diminuir a latência da solução. O aparecimento de redes e latências de memória, com pedidos na ordem dos microssegundos, alterou a forma como os algoritmos de alto desempenho são desenhos, hoje em dia. Os protocolos atuais têm de ser “multithreaded” para conseguirem escalar e aproveitar o elevado paralelismo existente do hardware disponível. Para além disso, o foco dos protocolos deve residir em evitar a sobrecarga do sistema e não na redução da latência. Na última década, houve um grande desenvolvimento nos dispositivos de armazenamento. Os discos “NVMe” introduziram latências na gama dos microssegundos aumentando significativamente o desempenho dos discos de armazenamento. Adicionalmente, o “software” disponível, para gerir e operar sobre estes dispositivos, também acompanhou o seu desenvolvimento. Bibliotecas, como o “Storage Performance Tool Kit (SPDK)”, apareceram para facilitar o desenvolvimento de aplicações de armazenamento de alto desempenho. Neste contexto, este trabalho teve, como principal objetivo, responder à seguinte questão: Podem os dispositivos NVMe e o SPDK melhorar o trabalho existente sobre o consenso distribuído? Esta dissertação descreve uma solução para o consenso distribuído que combina o Disk Paxos, um algoritmo que resolve o consenso distribuído, através de leituras e escritas numa rede partilhada de discos, com os dispositivos NVMe e a biblioteca SPDK. Esta solução foi desenvolvida em C++ e foi realizada uma análise de desempenho que, na sua fase final, compara a mesma com outra solução existente, o LibPaxos. A análise desenvolvida descreve os problemas e os benefícios de usar estas tecnologias para resolver o problema de consenso distribuído. Com esta abordagem, foi possível explorar e descobrir o potencial que as tecnologias usadas têm para possibilitar o desenvolvimento de melhores soluções no futuro. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado integrado em Informatics Engineering |
URI: | https://hdl.handle.net/1822/83623 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado DI - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Diogo-José-Cruz-Sobral-dissertação.pdf | 2,2 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons