Noir is a new distributed system designed to process large amounts of data, it is scalable, efficient, and fast. With its functionalities, it is possible to easily implement different kinds of analyses and computations in just a few lines of code, while delivering excellent performance in terms of execution times. This thesis focuses on the study and implementation of state persistence in Noir, aiming to make the system fault-tolerant. In the context of applications like Noir, involving long-term executions on large datasets or streaming data, fault tolerance becomes a crucial factor. By periodically saving the state of the system, the algorithm ensures that in the event of a failure, such as a network error, the computation can resume from the last saved state, avoiding the need to start from scratch. The algorithm for state persistence has been designed to maintain Noir’s original architecture and design while allowing the periodic saving of a system snapshot to a reliable external source. This enables recovery from the last saved state in case of a failure. The algorithm has been tested, and the thesis includes a study and analysis of the experiments conducted to understand the effects of the algorithm on Noir’s performance in various situations and with different parameters.

Noir è un recente sistema distribuito progettato per processare grandi quantità di dati in maniera scalabile, efficiente e veloce. Le funzionalità che offre permettono di definire in modo semplice e in poche righe di codice diversi tipi di analisi e computazioni e, allo stesso tempo, di ottenere ottime performance sui tempi di esecuzione. Il lavoro di questa tesi si concentra sullo studio e sull’implementazione della persistenza dello stato in Noir, l’obiettivo è di rendere il sistema tollerante ai guasti. Il contesto di applicazione di un sistema come Noir prevede esecuzioni molto lunghe su moli di dati considerevoli, per questo motivo la tolleranza ai guasti diventa un fattore chiave. Salvando periodicamente lo stato del sistema, nel caso in cui si verifichi un guasto come un errore di rete, diventa possibile riprendere la computazione dall’ultimo stato salvato, evitando così di dover ripartire da zero. È stato progettato un algoritmo di persistenza dello stato che mantiene inalterato il design e l’architettura di Noir e che allo stesso tempo permette di salvare periodicamente uno snapshot del sistema su una sorgente esterna affidabile in modo che in caso di guasto sia possibile recuperare l’ultimo stato salvato e ripartire da quello. Questo algoritmo è stato testato e nella tesi è presente uno studio ed un’analisi degli esperimenti effettuati per cercare di comprendere gli effetti dell’algoritmo sulle performance di Noir in diverse situazioni e al variare di diversi parametri.

State persistence in Noir

LATTUADA, EMMANUELE
2022/2023

Abstract

Noir is a new distributed system designed to process large amounts of data, it is scalable, efficient, and fast. With its functionalities, it is possible to easily implement different kinds of analyses and computations in just a few lines of code, while delivering excellent performance in terms of execution times. This thesis focuses on the study and implementation of state persistence in Noir, aiming to make the system fault-tolerant. In the context of applications like Noir, involving long-term executions on large datasets or streaming data, fault tolerance becomes a crucial factor. By periodically saving the state of the system, the algorithm ensures that in the event of a failure, such as a network error, the computation can resume from the last saved state, avoiding the need to start from scratch. The algorithm for state persistence has been designed to maintain Noir’s original architecture and design while allowing the periodic saving of a system snapshot to a reliable external source. This enables recovery from the last saved state in case of a failure. The algorithm has been tested, and the thesis includes a study and analysis of the experiments conducted to understand the effects of the algorithm on Noir’s performance in various situations and with different parameters.
CUGOLA, GIANPAOLO
DE MARTINI, LUCA
ING - Scuola di Ingegneria Industriale e dell'Informazione
19-dic-2023
2022/2023
Noir è un recente sistema distribuito progettato per processare grandi quantità di dati in maniera scalabile, efficiente e veloce. Le funzionalità che offre permettono di definire in modo semplice e in poche righe di codice diversi tipi di analisi e computazioni e, allo stesso tempo, di ottenere ottime performance sui tempi di esecuzione. Il lavoro di questa tesi si concentra sullo studio e sull’implementazione della persistenza dello stato in Noir, l’obiettivo è di rendere il sistema tollerante ai guasti. Il contesto di applicazione di un sistema come Noir prevede esecuzioni molto lunghe su moli di dati considerevoli, per questo motivo la tolleranza ai guasti diventa un fattore chiave. Salvando periodicamente lo stato del sistema, nel caso in cui si verifichi un guasto come un errore di rete, diventa possibile riprendere la computazione dall’ultimo stato salvato, evitando così di dover ripartire da zero. È stato progettato un algoritmo di persistenza dello stato che mantiene inalterato il design e l’architettura di Noir e che allo stesso tempo permette di salvare periodicamente uno snapshot del sistema su una sorgente esterna affidabile in modo che in caso di guasto sia possibile recuperare l’ultimo stato salvato e ripartire da quello. Questo algoritmo è stato testato e nella tesi è presente uno studio ed un’analisi degli esperimenti effettuati per cercare di comprendere gli effetti dell’algoritmo sulle performance di Noir in diverse situazioni e al variare di diversi parametri.
File allegati
File Dimensione Formato  
2023_12_Lattuada_Thesis_01.pdf

accessibile in internet per tutti

Descrizione: thesis
Dimensione 949.45 kB
Formato Adobe PDF
949.45 kB Adobe PDF Visualizza/Apri
2023_12_Lattuada_ExecutiveSummary_02.pdf

accessibile in internet per tutti

Descrizione: executive summary
Dimensione 403.93 kB
Formato Adobe PDF
403.93 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/214762