Utilize este identificador para referenciar este registo: https://hdl.handle.net/1822/91632

TítuloBeyond distributed transactions through exactly-once exchanges
Outro(s) título(s)Além das transações distribuídas por meio de trocas exatamente uma vez
Autor(es)Kassam, Ziad Ali
Orientador(es)Shoker, Ali
Almeida, Paulo Sérgio
Palavras-chaveExactly-once
Protocolo oblívio
Fiabilidade
Escalabilidade
Exactly-once messaging
Oblivious protocol
Reliability
Scalability
Data19-Abr-2024
Resumo(s)As aplicações modernas estão cada vez mais interligadas e distribuídas, sendo a sua semântica muitas vezes garantida através de alguma forma de coordenação. Transações distribuídas e consenso podem levar à indisponibilidade perante partições de rede e sofrer elevada latência em redes de grande escala. Pat Helland, em “Life Beyond Distributed Transactions” propôs uma abordagem inspiradora, prometendo escalabilidade. Mas ao assumir at-least-once, dificulta a escrita de aplicações, forçando a lidar com questões de idempotência. A semântica de exactly-once é desejável em geral, mas difícil de obter de maneira correta e escalável. Abordagens correntes têm estado permanente relativo a cada peer, dificultando a escalabilidade, ou fazem assunções temporais para a correção. Esta tese, inicialmente motivada pela melhoria da aplicabilidade da visão de Helland, introduz o protocolo Exon, que é simultaneamente 1) correto, garantindo exactly-once num modelo de sistema distribuído assíncrono, sem assunções relativas a tempo para correção; 2) oblívio, sem armazenar permanentemente estado relativo a um peer quando não existem mensagens pendentes para esse peer, tendo um inteiro como único estado permanente; 3) eficiente, conforme demonstrado por uma biblioteca implementada sobre UDP (Exon-lib) e respetiva avaliação, que mostrou desempenho quase igual a TCP em cenários normais sem falhas e melhor desempenho sob perda de pacotes. A técnica base do Exon é um novo protocolo de quatro passos por mensagem, baseado na criação de slots únicos que dão a capacidade de consumir tokens únicos correspondentes, para garantir exactlyonce de um modo oblívio. O núcleo é aumentado com “soft half-connections” a nível do protocolo, que são estabelecidas automaticamente quando necessário e descartadas com segurança, alcançando desempenho através da fusão e encadeamento das mensagens do protocolo de base. A tese também estende o Exon para permitir a obtenção de exactly-once quando, perante uma partição, o destino não é alcançável e o nó remetente deseja suspender a execução. Isto é conseguido delegando a responsabilidade para outro nó intermediário, e funciona mesmo que o destino fique não alcançável com o envio já em curso. Finalmente, a tese apresenta um estudo de viabilidade de aplicações modernas relevantes em vários domínios, incluindo reservas online, internet de veículos e middleware para mensagens, para os quais Exon é um possível candidato, revisita a visão de Pat Helland assumindo o suporte de Exon, e conclui com um estudo de caso detalhado sobre agregação de dados.
Modern applications are becoming increasingly interconnected and distributed. Their semantics are often guaranteed through some form of coordination. Distributed transactions and consensus may lead to unavailability under network partitions and suffer from high latency in wide area. Pat Helland, in “Life Beyond Distributed Transactions” proposed an inspiring approach, promising to be highly scalable. But by only counting on at-least-once messaging, it makes writing applications difficult, as the programmer has to deal with non-idempotency. Exactly-once messaging semantics is desirable in general, but difficult to achieve in a correct and scalable way. Current approaches need permanent peer-specific state, hindering scalability, or make timing assumptions for correctness. This thesis, initially motivated by improving the applicability of Helland’s vision, but going beyond it, introduces the Exon messaging protocol, which is simultaneously 1) correct, ensuring exactly-once under an asynchronous distributed system model, with no timing assumption for correctness; 2) oblivious, without permanently storing peer-related state when no pending messages to the peer remain, having a single integer as the only permanent state; 3) practically efficient, as demonstrated by an implemented lightweight library over UDP (Exon-lib) and its evaluation, showing it to have minimal overhead over TCP in normal fault-free scenarios and better performance under packet loss. The core technique for Exon is a novel per-message four-way protocol, based on creating unique slots that give the ability to consume corresponding unique tokens, to ensure oblivious exactly-once messaging. The core is augmented with on-demand protocol-level “soft half-connections”, that are established when needed and safely discarded, achieving performance through merging and pipelining the core protocol messages. The thesis also extends Exon to allow exactly-once to be obtained when, under a partition, there is no path to the destination and the sending node wants to suspend for some time. This is achieved by delegating the responsibility to another node, working even if the final destination becomes suddenly unreachable while message sending was already in progress. Finally, the thesis presents feasibility studies of relevant modern applications in various domains, including online booking, automotive and messaging middleware, for which Exon is a possible suitable candidate, revisits Pat Helland’s vision under Exon support, and concludes by a detailed case study of data aggregation.
TipoTese de doutoramento
DescriçãoPrograma de doutoramento em Informática
URIhttps://hdl.handle.net/1822/91632
AcessoAcesso aberto
Aparece nas coleções:BUM - Teses de Doutoramento
HASLab - Teses de Doutoramento

Ficheiros deste registo:
Ficheiro Descrição TamanhoFormato 
Ziad Ali Kassam.pdfTese de doutoramento4,21 MBAdobe PDFVer/Abrir

Este trabalho está licenciado sob uma Licença Creative Commons Creative Commons

Partilhe no FacebookPartilhe no TwitterPartilhe no DeliciousPartilhe no LinkedInPartilhe no DiggAdicionar ao Google BookmarksPartilhe no MySpacePartilhe no Orkut
Exporte no formato BibTex mendeley Exporte no formato Endnote Adicione ao seu ORCID