Distributed applications are now a fundamental part of our daily lives, influencing everything from how we communicate and access information to how we handle personal and professional activities. However, developing distributed applications presents unique challenges due to the need for synchronization, fault tolerance, and scalability across decentralized components. Modularity emerges as an essential strategy in addressing these challenges. By breaking applications down into independent, reusable modules, developers can simplify the development process, isolate errors more effectively, and enhance scalability. In this work, we are the first to experiment with Radon—a platform specifically designed to facilitate modular distributed computing. Radon supports developers in building complex applications by organizing them into composable modules, enabling the creation of adaptable and scalable distributed systems. To demonstrate this, we implement widely-used distributed protocols as individual Radon modules. We then develop and benchmark a complex distributed application as a composition of multiple Radon modules; specifically, we start with a key-value store and then we enhance it with transaction support. Finally, we assess the feasibility of developing existing transactional key-value stores on top of Radon.

Le applicazioni distribuite sono ormai una parte fondamentale della nostra vita quotidiana, influenzando tutto, da come comunichiamo e accediamo alle informazioni a come gestiamo le attività personali e professionali. Tuttavia, lo sviluppo di applicazioni distribuite presenta sfide uniche a causa della necessità di sincronizzazione, tolleranza ai guasti e scalabilità attraverso componenti decentralizzati. La modularità emerge come una strategia essenziale per affrontare queste sfide. Suddividendo le applicazioni in moduli indipendenti e riutilizzabili, gli sviluppatori possono semplificare il processo di sviluppo, isolare gli errori in modo più efficace e migliorare la scalabilità. In questo lavoro, siamo i primi a sperimentare Radon—una piattaforma specificamente progettata per facilitare il computing distribuito modulare. Radon supporta gli sviluppatori nella costruzione di applicazioni complesse organizzandole in moduli componibili, permettendo la creazione di sistemi distribuiti adattabili e scalabili. Per dimostrarlo, implementiamo dei protocolli distribuiti ampiamente utilizzati come moduli individuali di Radon. Successivamente, sviluppiamo e ne valutiamo le prestazioni di un'applicazione distribuita complessa come composizione di più moduli; in particolare, iniziamo con una base di dati chiave-valore a cui aggiungiamo supporto transazionale. Infine, proponiamo uno studio di fattibilità sullo sviluppo, supportato da Radon, di basi di dati chiave-valore transazionali realmente esistenti.

Analysis and extension of radon: a general distributed computing platform

d'ABATE, DARIO
2023/2024

Abstract

Distributed applications are now a fundamental part of our daily lives, influencing everything from how we communicate and access information to how we handle personal and professional activities. However, developing distributed applications presents unique challenges due to the need for synchronization, fault tolerance, and scalability across decentralized components. Modularity emerges as an essential strategy in addressing these challenges. By breaking applications down into independent, reusable modules, developers can simplify the development process, isolate errors more effectively, and enhance scalability. In this work, we are the first to experiment with Radon—a platform specifically designed to facilitate modular distributed computing. Radon supports developers in building complex applications by organizing them into composable modules, enabling the creation of adaptable and scalable distributed systems. To demonstrate this, we implement widely-used distributed protocols as individual Radon modules. We then develop and benchmark a complex distributed application as a composition of multiple Radon modules; specifically, we start with a key-value store and then we enhance it with transaction support. Finally, we assess the feasibility of developing existing transactional key-value stores on top of Radon.
CUGOLA, GIANPAOLO
DE MARTINI, LUCA
ING - Scuola di Ingegneria Industriale e dell'Informazione
11-dic-2024
2023/2024
Le applicazioni distribuite sono ormai una parte fondamentale della nostra vita quotidiana, influenzando tutto, da come comunichiamo e accediamo alle informazioni a come gestiamo le attività personali e professionali. Tuttavia, lo sviluppo di applicazioni distribuite presenta sfide uniche a causa della necessità di sincronizzazione, tolleranza ai guasti e scalabilità attraverso componenti decentralizzati. La modularità emerge come una strategia essenziale per affrontare queste sfide. Suddividendo le applicazioni in moduli indipendenti e riutilizzabili, gli sviluppatori possono semplificare il processo di sviluppo, isolare gli errori in modo più efficace e migliorare la scalabilità. In questo lavoro, siamo i primi a sperimentare Radon—una piattaforma specificamente progettata per facilitare il computing distribuito modulare. Radon supporta gli sviluppatori nella costruzione di applicazioni complesse organizzandole in moduli componibili, permettendo la creazione di sistemi distribuiti adattabili e scalabili. Per dimostrarlo, implementiamo dei protocolli distribuiti ampiamente utilizzati come moduli individuali di Radon. Successivamente, sviluppiamo e ne valutiamo le prestazioni di un'applicazione distribuita complessa come composizione di più moduli; in particolare, iniziamo con una base di dati chiave-valore a cui aggiungiamo supporto transazionale. Infine, proponiamo uno studio di fattibilità sullo sviluppo, supportato da Radon, di basi di dati chiave-valore transazionali realmente esistenti.
File allegati
File Dimensione Formato  
2024_12_dAbate_Tesi.pdf

accessibile in internet per tutti

Dimensione 4.54 MB
Formato Adobe PDF
4.54 MB Adobe PDF Visualizza/Apri
2024_12_dAbate_Executive Summary.pdf

accessibile in internet per tutti

Dimensione 906.55 kB
Formato Adobe PDF
906.55 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/231233