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.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.
https://hdl.handle.net/10589/231233