Table of Contents
Fetching ...

Uma extensão de Raft com propagação epidémica

André Gonçalves, Ana Nunes Alonso, José Pereira, Rui Oliveira

TL;DR

Este trabalho estende o algoritmo Raft com propagação epidémica para descentralizar a replicação, abordando o gargalo do líder. Introduz rounds de AppendEntries disseminados por gossip com uma permutação mutável de seguidores e um relógio lógico $RoundLC$, além de novas estruturas de dados $Bitmap$, $MaxCommit$ e $NextCommit$ para coordenar o avanço descentralizado do $CommitIndex$. A avaliação utiliza uma implementação em Go sob a infraestrutura Paxi com 51 réplicas, revelando que a Versão 1 eleva o throughput (até 6×) e que a Versão 2 distribui melhor a carga ao custo de maior coordenação entre estruturas. Os resultados sugerem ganhos significativos de desempenho e uso de recursos distribuídos, com perspectivas de validação em cenários reais de nuvem (LAN/WAN) e redes não transitivas.

Abstract

The Raft agreement algorithm is recognized for its ease of understanding and practical implementation, and is currently adopted in systems such as Kubernetes. However, it has some limitations in terms of scalability and performance as it concentrates effort on the leader. In this paper we present a new algorithm that expands Raft by incorporating epidemic propagation mechanisms to decentralize the replication effort. Our proposal is evaluated experimentally with a Go implementation and tested with a significant number of processes. -- -- O algoritmo de acordo Raft é reconhecido pela sua facilidade de compreensão e implementação prática, sendo atualmente adotado em sistemas como o Kubernetes. No entanto, tem algumas limitações em termos de escalabilidade e desempenho por concentrar o esforço no líder. Neste trabalho apresentamos um novo algoritmo que expande o Raft com a incorporação de mecanismos de propagação epidémica para descentralizar o esforço da replicação. A nossa proposta é avaliada experimentalmente com uma implementação em Go e testada com um número significativo de processos.

Uma extensão de Raft com propagação epidémica

TL;DR

Este trabalho estende o algoritmo Raft com propagação epidémica para descentralizar a replicação, abordando o gargalo do líder. Introduz rounds de AppendEntries disseminados por gossip com uma permutação mutável de seguidores e um relógio lógico , além de novas estruturas de dados , e para coordenar o avanço descentralizado do . A avaliação utiliza uma implementação em Go sob a infraestrutura Paxi com 51 réplicas, revelando que a Versão 1 eleva o throughput (até 6×) e que a Versão 2 distribui melhor a carga ao custo de maior coordenação entre estruturas. Os resultados sugerem ganhos significativos de desempenho e uso de recursos distribuídos, com perspectivas de validação em cenários reais de nuvem (LAN/WAN) e redes não transitivas.

Abstract

The Raft agreement algorithm is recognized for its ease of understanding and practical implementation, and is currently adopted in systems such as Kubernetes. However, it has some limitations in terms of scalability and performance as it concentrates effort on the leader. In this paper we present a new algorithm that expands Raft by incorporating epidemic propagation mechanisms to decentralize the replication effort. Our proposal is evaluated experimentally with a Go implementation and tested with a significant number of processes. -- -- O algoritmo de acordo Raft é reconhecido pela sua facilidade de compreensão e implementação prática, sendo atualmente adotado em sistemas como o Kubernetes. No entanto, tem algumas limitações em termos de escalabilidade e desempenho por concentrar o esforço no líder. Neste trabalho apresentamos um novo algoritmo que expande o Raft com a incorporação de mecanismos de propagação epidémica para descentralizar o esforço da replicação. A nossa proposta é avaliada experimentalmente com uma implementação em Go e testada com um número significativo de processos.

Paper Structure

This paper contains 10 sections, 7 figures, 3 algorithms.

Figures (7)

  • Figure 1: Transições entre estados
  • Figure 2: Raft com propagação epidémica de AppendEntries.
  • Figure 3: Raft com propagação epidémica de AppendEntries
  • Figure 4: Latência média por taxa de pedidos.
  • Figure 5: Uso de CPU por taxa de pedidos pelos clientes.
  • ...and 2 more figures