Dissertação

{en_GB= Variable Consistency Messaging Layer} {} EVALUATED

{pt=Os sistemas geo-distribuídos providenciam alta disponibilidade, baixa latência e tolerância a falhas através da replicação em diferentes localizações. A principal desvantagem é que a replicação pode levar a estados de divergência entre as réplicas, causados por falhas de comunicação ou simplesmente devido a atrasos na rede. O tratamento dessas divergências é geralmente deixado a um protocolo de consistência que é implementado pelo sistema. Hoje em dia, os sistemas tendem a implementar um único modelo de consistência que se encontra embutido na sua implentação. Quando os requisitos do sistema mudam e o modelo de consistência precisa de ser ajustado, os programadores ficam com uma de duas opções: ou (I) o código do sistema é profundamente reescrito ou (II) o sistema é substituído por um diferente que oferece um novo conjunto de garantias de consistência. Neste documento, propomos uma framework que abstrai a implementação do modelo de consistência para um conjunto de módulos bem definidos. Esta abstração estrutural visa enquadrar os protocolos de consistência mais comuns dentro desses módulos, bem como facilitar a troca de protocolo de consistência no sistema. Avaliámos a nossa framework medindo a taxa de transferência e o custo adicional entre a implementação original e a modificada com a $framework$ de dois sistemas de armazenamento diferentes. As medições mostram que essa modularidade e abstração têm uma penalidade de desempenho associada. No entanto, esta é compensada pela flexibilidade e facilidade de troca de módulos e respectivo modelo de consistência oferecida., en=Geo-distributed systems provide high availability, low-latency, and fault tolerance through replication to different locations. The major downside is that replication can lead to divergences between replicas, either caused by network failures or simply by a network delay. Handling these divergences is usually left to a consistency protocol which is implemented by the underlying system. Nowadays, systems tend to implement a single consistency model embedded in their implementation. When the system requirements change and the consistency model is no longer appropriated, developers are left with one of two choices: either (I) the system needs to be deeply rewritten or (II) replaced by a different system, with a new set of consistency guarantees. We propose a framework that abstracts the implementation of the consistency model, into a set of well-defined modules. This structural abstraction aims to frame the most common consistency protocols within these modules, as well as to ease the switching of consistency protocol in the targeted system. We have evaluated our framework by measuring the throughput and overhead between the original and our modified implementation with the framework of two different storage systems. The measurements show that this modularity and abstraction have an associated overhead. However, it is compensated by the flexibility and ease in changing modules and the respective consistency model offered.}
{pt=Consistência, Modularidade, Replicação, Framework, Sistemas Distribuídos, en=Consistency, Modularity, Replication, Framework, Distributed Systems}

outubro 14, 2020, 9:0

Publicação

Obra sujeita a Direitos de Autor

Orientação

ORIENTADOR

João Coelho Garcia

Departamento de Engenharia Informática (DEI)

Professor Auxiliar