The pursuit of optimal performance, scalability, and fault tolerance in distributed computing persists amidst complex, interconnected digital landscapes. To address these challenges, the Kabis framework emerges as a promising candidate, designed with an emphasis on Byzantine fault tolerance. This thesis conducts a comprehensive exploration of Kabis, focusing on its integration with consumer groups to enhance both scalability and performance. By building upon the foundational model of consumer groups in Apache Kafka, we examine how Kabis can effectively harness its intrinsic scalability attributes. Our meticulous research and empirical assessments uncover the theoretical underpinnings and practical implications of this integration. Our work covers a wide range of dimensions. The core contribution of this thesis involves the complex integration of consumer groups within the Kabis framework. We examine both the benefits and challenges of this new feature and explore how it can improve the capabilities of the framework. We validate the performance results of Kabis found in previous research, evaluating them in a distributed environment. We then assess the impact of transitioning from Apache Kafka to Kabis on developers and system operations, through the implementation of a case study, tailored to the Kabis use case. The evaluation shows that transitioning from an Apache Kafka system to a Kabis one has minimal impact on developers. Using the enhanced Kabis framework results in promising improvements in total consumption time and throughput, especially in complex setups. As our thesis unfolds, we shed light on the broader implications of our results. Ultimately, this work enriches our understanding of how consumer groups can reshape the Kabis framework and enhance distributed systems within an interconnected world.

La ricerca di prestazioni ottimali, scalabilità e tolleranza ai guasti nei sistemi distribuiti persiste attraverso paesaggi digitali complessi e interconnessi. Per affrontare queste sfide, il framework Kabis emerge come un candidato promettente, progettato con un'enfasi sulla tolleranza agli errori di tipo bizantino. Questa tesi conduce un'esplorazione completa di Kabis, concentrandosi sulla sua integrazione con i gruppi di consumatori per migliorare sia la scalabilità che le prestazioni. Basandoci sul modello dei gruppi di consumatori di Apache Kafka, esaminiamo come Kabis possa sfruttare efficacemente i suoi attributi intrinseci di scalabilità. La nostra ricerca meticolosa e le nostre valutazioni empiriche evidenziano i fondamenti teorici e le implicazioni pratiche di questa integrazione. Il nostro lavoro copre un'ampia gamma di dimensioni. Il contributo principale di questa tesi riguarda la complessa integrazione dei gruppi di consumatori all'interno del framework Kabis. Esaminiamo sia i vantaggi che le sfide di questa nuova funzionalità ed esploriamo come essa possa migliorare le capacità del framework. Convalidiamo i risultati delle prestazioni di Kabis riportati nelle ricerche precedenti, valutandoli in un ambiente distribuito. Valutiamo poi l'impatto della transizione da Apache Kafka a Kabis sugli sviluppatori e sulle operazioni di sistema, attraverso l'implementazione di un caso di studio, adattato al caso d'uso di Kabis. La valutazione mostra che la transizione da un sistema Apache Kafka a Kabis ha un impatto minimo sugli sviluppatori. L'uso del framework Kabis migliorato porta a promettenti miglioramenti nel tempo di consumo totale dei messaggi e nel throughput, specialmente in configurazioni complesse. Nel corso della tesi, faremo luce sulle implicazioni più ampie dei nostri risultati. In definitiva, questo lavoro arricchisce la nostra comprensione di come i gruppi di consumatori possano rimodellare il framework Kabis e migliorare i sistemi distribuiti in un mondo interconnesso.

Enhancing Kabis: Introducing consumer groups for an improved load-balancing performance

Redaelli, Mattia;RIZZOGLIO, FLAVIO
2022/2023

Abstract

The pursuit of optimal performance, scalability, and fault tolerance in distributed computing persists amidst complex, interconnected digital landscapes. To address these challenges, the Kabis framework emerges as a promising candidate, designed with an emphasis on Byzantine fault tolerance. This thesis conducts a comprehensive exploration of Kabis, focusing on its integration with consumer groups to enhance both scalability and performance. By building upon the foundational model of consumer groups in Apache Kafka, we examine how Kabis can effectively harness its intrinsic scalability attributes. Our meticulous research and empirical assessments uncover the theoretical underpinnings and practical implications of this integration. Our work covers a wide range of dimensions. The core contribution of this thesis involves the complex integration of consumer groups within the Kabis framework. We examine both the benefits and challenges of this new feature and explore how it can improve the capabilities of the framework. We validate the performance results of Kabis found in previous research, evaluating them in a distributed environment. We then assess the impact of transitioning from Apache Kafka to Kabis on developers and system operations, through the implementation of a case study, tailored to the Kabis use case. The evaluation shows that transitioning from an Apache Kafka system to a Kabis one has minimal impact on developers. Using the enhanced Kabis framework results in promising improvements in total consumption time and throughput, especially in complex setups. As our thesis unfolds, we shed light on the broader implications of our results. Ultimately, this work enriches our understanding of how consumer groups can reshape the Kabis framework and enhance distributed systems within an interconnected world.
ING - Scuola di Ingegneria Industriale e dell'Informazione
5-ott-2023
2022/2023
La ricerca di prestazioni ottimali, scalabilità e tolleranza ai guasti nei sistemi distribuiti persiste attraverso paesaggi digitali complessi e interconnessi. Per affrontare queste sfide, il framework Kabis emerge come un candidato promettente, progettato con un'enfasi sulla tolleranza agli errori di tipo bizantino. Questa tesi conduce un'esplorazione completa di Kabis, concentrandosi sulla sua integrazione con i gruppi di consumatori per migliorare sia la scalabilità che le prestazioni. Basandoci sul modello dei gruppi di consumatori di Apache Kafka, esaminiamo come Kabis possa sfruttare efficacemente i suoi attributi intrinseci di scalabilità. La nostra ricerca meticolosa e le nostre valutazioni empiriche evidenziano i fondamenti teorici e le implicazioni pratiche di questa integrazione. Il nostro lavoro copre un'ampia gamma di dimensioni. Il contributo principale di questa tesi riguarda la complessa integrazione dei gruppi di consumatori all'interno del framework Kabis. Esaminiamo sia i vantaggi che le sfide di questa nuova funzionalità ed esploriamo come essa possa migliorare le capacità del framework. Convalidiamo i risultati delle prestazioni di Kabis riportati nelle ricerche precedenti, valutandoli in un ambiente distribuito. Valutiamo poi l'impatto della transizione da Apache Kafka a Kabis sugli sviluppatori e sulle operazioni di sistema, attraverso l'implementazione di un caso di studio, adattato al caso d'uso di Kabis. La valutazione mostra che la transizione da un sistema Apache Kafka a Kabis ha un impatto minimo sugli sviluppatori. L'uso del framework Kabis migliorato porta a promettenti miglioramenti nel tempo di consumo totale dei messaggi e nel throughput, specialmente in configurazioni complesse. Nel corso della tesi, faremo luce sulle implicazioni più ampie dei nostri risultati. In definitiva, questo lavoro arricchisce la nostra comprensione di come i gruppi di consumatori possano rimodellare il framework Kabis e migliorare i sistemi distribuiti in un mondo interconnesso.
File allegati
File Dimensione Formato  
Redaelli_Rizzoglio_Thesis.pdf

accessibile in internet per tutti

Descrizione: Text of the Thesis
Dimensione 766.32 kB
Formato Adobe PDF
766.32 kB Adobe PDF Visualizza/Apri
Redaelli_Rizzoglio_Executive_Summary.pdf

accessibile in internet per tutti

Descrizione: Text of the Executive Summary
Dimensione 512.4 kB
Formato Adobe PDF
512.4 kB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/210594