Implementation and evaluation of tagged causal multicast as a rust library

Detalhes bibliográficos
Autor(a) principal: Pereira, Carlos Duarte Afonso
Data de Publicação: 2020
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
Texto Completo: https://hdl.handle.net/1822/80875
Resumo: Dissertação de mestrado em Engenharia Informática
id RCAP_2b6dc3da8ad4a90d2972a441b7680932
oai_identifier_str oai:repositorium.sdum.uminho.pt:1822/80875
network_acronym_str RCAP
network_name_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository_id_str 7160
spelling Implementation and evaluation of tagged causal multicast as a rust libraryEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado em Engenharia InformáticaCausal Consistency is gaining importance in modern geo-replicated distributed services: it is the strongest consistency model that does not sacrifice availability under high latency and network partitions. However, traditional causal delivery middleware, while ensuring a de livery order consistent with causality, does not provide client applications with knowledge about the end-to-end (as seen by each client process) happens-before relation. An end-to-end happens-before is essential to modern applications, namely for the semantics of operation based CRDTs, but also for traditional applications, in which its absence may cause incorrect behavior when using traditional causal delivery middleware. This thesis designs and im plements a Tagged Causal Multicast middleware service as a Rust library. Rust was chosen because it is a safe concurrent and fast programming language supporting both functional and imperative paradigms. This allows an efficient implementation where the use of com plex data structures does not decrease the performance as would be the case of using functional languages like Erlang. Finally, an empirical evaluation of the performance of this middleware service is made, comparing the novel graph-based implementation against a more traditional one based on vector clocks.A Coerência Causal está a ganhar importância nos serviços distribuídos geo-replicados modernos: é o modelo de coerência mais forte que não sacrifica a disponibilidade face a partições de rede ou elevada latência. Contudo, middleware tradicional de entrega causal, apesar de garantir uma ordem de entrega consistente com a causalidade, não oferece às apli cações cliente o conhecimento sobre a relação happens-before do ponto de vista de cada pro cesso cliente. Um end-to-end happens-before é essencial para aplicações modernas, nomeada mente para a semântica de operações baseadas em CRDTs, mas também para aplicações tradicionais, na qual a sua ausência pode causar um comportamento incorreto quando se utiliza um middleware de entrega causal tradicional. Esta tese desenha e implementa um serviço de Tagged Causal Multicast, enquanto middleware, como uma biblioteca de Rust. Foi escolhida Rust por ser uma linguagem de programação segura e com bom suporte a con corrência, multi-paradigma, e apropriada para programação de sistemas. Isto permite uma implementação eficiente em que o uso de estruturas de dados complexas não diminui o desempenho, como seria o caso numa linguagem funcional como Erlang. Finalmente, é re alizada uma avaliação empírica do desempenho deste serviço de middleware, comparando a nova abordagem baseada em grafo com uma implementação mais tradicional baseada em relógios vectoriais.Almeida, Paulo SérgioYounes, GeorgesUniversidade do MinhoPereira, Carlos Duarte Afonso2020-06-162020-06-16T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttps://hdl.handle.net/1822/80875eng203044487info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:15:18Zoai:repositorium.sdum.uminho.pt:1822/80875Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:07:42.528702Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse
dc.title.none.fl_str_mv Implementation and evaluation of tagged causal multicast as a rust library
title Implementation and evaluation of tagged causal multicast as a rust library
spellingShingle Implementation and evaluation of tagged causal multicast as a rust library
Pereira, Carlos Duarte Afonso
Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
title_short Implementation and evaluation of tagged causal multicast as a rust library
title_full Implementation and evaluation of tagged causal multicast as a rust library
title_fullStr Implementation and evaluation of tagged causal multicast as a rust library
title_full_unstemmed Implementation and evaluation of tagged causal multicast as a rust library
title_sort Implementation and evaluation of tagged causal multicast as a rust library
author Pereira, Carlos Duarte Afonso
author_facet Pereira, Carlos Duarte Afonso
author_role author
dc.contributor.none.fl_str_mv Almeida, Paulo Sérgio
Younes, Georges
Universidade do Minho
dc.contributor.author.fl_str_mv Pereira, Carlos Duarte Afonso
dc.subject.por.fl_str_mv Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
topic Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática
description Dissertação de mestrado em Engenharia Informática
publishDate 2020
dc.date.none.fl_str_mv 2020-06-16
2020-06-16T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/1822/80875
url https://hdl.handle.net/1822/80875
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv 203044487
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.source.none.fl_str_mv reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron:RCAAP
instname_str Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
instacron_str RCAAP
institution RCAAP
reponame_str Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
collection Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)
repository.name.fl_str_mv Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação
repository.mail.fl_str_mv
_version_ 1799132497222565888