Dissertação de mestrado integrado em Engenharia InformáticaEpidemic multicast protocols, also known as gossip protocols, offer fault tolerance and
good performance at large scale. Therefore, these are used in peer-to-peer (P2P) systems
on the Internet and in NoSQL data management systems. Research has shown there are
multiple variants of these protocols which are most efficient in certain environments and
applications. Some protocols, such as Plumtree, even allow the application to configure
to obtain different performance trade-offs. This dissertation aims at taking advantage of
Machine Learning (ML) to configure these protocols, developing a solution that adapts in
runtime to network conditions and evaluate it experimentally. The results obtained by using
ML models to control the transmission strategy used when forwarding messages show that
it is possible to achieve a better trade-off between bandwidth used and the time to reach the
entire network. Moreover, this does not endanger the characteristics of epidemic multicast
protocols, maintaining their reliability while becoming even more scalable.Os protocolos de difusão epidémica, também conhecidos como gossiping, oferecem tolerância
a faltas e bom desempenho em grande escala. São por isso usados, por exemplo, em sistemas
entre-pares (P2P) na Internet e em sistemas de gestão de dados NoSQL. A investigação feita
mostrou que existem múltiplas variantes destes protocolos, adaptadas a diferentes ambientes
e aplicações. Alguns protocolos concretos, como o Plumtree, permitem até que a aplicação
faça uma configuração das suas características, de forma a obter diferentes compromissos de
desempenho. Nesta dissertação apresenta-se uma abordagem que tira partido de tecnologias
de aprendizagem automática para fazer a configuração destes protocolos, desenvolvendo
uma solução capaz de se adaptar em runtime tendo em conta o estado atual da rede e
posteriormente é feita uma avaliação da solução experimentalmente.
Os resultados obtidos com os modelos que controlam a estratégia de transmissão na distribuição de mensagens demonstram ser possível alcançar um melhor compromisso entre
o número de mensagens enviadas e o tempo necessário para as distribuir. Além disso,
não compromete as características dos protocolos de difusão epidémica, mantendo a sua
confiabilidade e tornando-se ainda mais escaláveis