The increasing availability of large quantities of data has transformed virtually every human activity. At its core, any IT platform requires storing, analysing, and making data available to many users. Computational science applications work with massive amounts of data. The scale at which modern applications need to process data is often so large that it is impossible to process on a single device. To effectively deal with the scale of these applications, the dataset can be distributed between multiple machines and processed separately using a cluster of connected machines. However, developing distributed software systems is not simple. One approach is to create ad-hoc solutions for the task at hand, using low-level tools that give developers fine control over communication and coordination. Yet, this approach is time-consuming, and the resulting systems are complex and hard to maintain. Because of this, in recent years, distributed processing platforms that ease the development process were developed. These platforms handle communication and coordination and let developers focus on the algorithm. Still, these platforms have drawbacks as they are not able to provide the same levels of performance as ad-hoc solutions. Our research team at Politecnico di Milano developed Noir, a distributed processing framework based on the dataflow programming paradigm. It aims to bridge the performance gap between high-level platforms and ad-hoc implementations, while providing an interface that is easy to use. This thesis starts from the work performed on Noir to test it in real world applications and improve it along the way. To do so, we participated in the Distributed Event-Based Systems 2022 Grand Challenge on the Analysis of Market Data. We won the competition, demonstrating Noir's capabilities compared to state-of-the art platforms. We presented our solution at the conference and published a paper in the conference proceedings. Additionally, we improved the framework in terms of reliability and performance, managing up to 60% increased throughput depending on the task.
La crescente disponibilità di grandi quantità di dati ha trasformato praticamente ogni attività umana. Qualsiasi piattaforma informatica richiede di immagazzinare, analizzare e rendere disponibili i dati a molti utenti. Le applicazioni di scienza computazionale lavorano con enormi quantità di dati. La scala a cui le applicazioni moderne devono elaborare i dati è spesso così grande da renderne impossibile l'elaborazione su un singolo dispositivo. Per gestire efficacemente la scala di queste applicazioni, i dati possono essere distribuiti tra più macchine ed elaborati separatamente, utilizzando un cluster di macchine collegate. Tuttavia, lo sviluppo di sistemi software distribuiti non è semplice. Un approccio consiste nel creare soluzioni ad-hoc per il compito da svolgere, utilizzando strumenti di basso livello che offrono agli sviluppatori un controllo preciso sulla comunicazione e sul coordinamento. Tuttavia, questo approccio richiede molto tempo e i sistemi risultanti sono complessi e difficili da mantenere. Per questo motivo, negli ultimi anni sono state sviluppate piattaforme di elaborazione distribuita che facilitano il processo di sviluppo. Queste piattaforme gestiscono la comunicazione e il coordinamento e permettono agli sviluppatori di concentrarsi sull'algoritmo. Tuttavia, queste piattaforme presentano degli svantaggi, in quanto non sono in grado di fornire gli stessi livelli di prestazioni delle soluzioni ad-hoc. Il team di ricerca del Politecnico di Milano ha sviluppato Noir, un framework di elaborazione distribuita basato sul paradigma di programmazione dataflow. Il suo scopo è quello di colmare il divario di prestazioni tra le piattaforme di alto livello e le implementazioni ad-hoc, fornendo al contempo un'interfaccia facile da usare. Questa tesi parte dal lavoro svolto su Noir per dimostrare le sue capacità in applicazioni reali e migliorarlo lungo il percorso. Per farlo, abbiamo partecipato alla Distributed Event-Based Systems 2022 Grand Challenge sull'analisi di dati di mercato. Abbiamo vinto la competizione, dimostrando le capacità di Noir competendo contro piattaforme allo stato dell'arte. Abbiamo presentato la nostra soluzione alla conferenza e pubblicato un articolo negli atti della conferenza. Inoltre, abbiamo migliorato il framework in termini di affidabilità e prestazioni, riuscendo a ottenere un throughput fino al 60% maggiore a seconda del compito.
Analysis of market data with noir : real world application and improvements of a streaming and batch processing framework
De Martini, Luca
2021/2022
Abstract
The increasing availability of large quantities of data has transformed virtually every human activity. At its core, any IT platform requires storing, analysing, and making data available to many users. Computational science applications work with massive amounts of data. The scale at which modern applications need to process data is often so large that it is impossible to process on a single device. To effectively deal with the scale of these applications, the dataset can be distributed between multiple machines and processed separately using a cluster of connected machines. However, developing distributed software systems is not simple. One approach is to create ad-hoc solutions for the task at hand, using low-level tools that give developers fine control over communication and coordination. Yet, this approach is time-consuming, and the resulting systems are complex and hard to maintain. Because of this, in recent years, distributed processing platforms that ease the development process were developed. These platforms handle communication and coordination and let developers focus on the algorithm. Still, these platforms have drawbacks as they are not able to provide the same levels of performance as ad-hoc solutions. Our research team at Politecnico di Milano developed Noir, a distributed processing framework based on the dataflow programming paradigm. It aims to bridge the performance gap between high-level platforms and ad-hoc implementations, while providing an interface that is easy to use. This thesis starts from the work performed on Noir to test it in real world applications and improve it along the way. To do so, we participated in the Distributed Event-Based Systems 2022 Grand Challenge on the Analysis of Market Data. We won the competition, demonstrating Noir's capabilities compared to state-of-the art platforms. We presented our solution at the conference and published a paper in the conference proceedings. Additionally, we improved the framework in terms of reliability and performance, managing up to 60% increased throughput depending on the task.File | Dimensione | Formato | |
---|---|---|---|
thesis_final.pdf
accessibile in internet per tutti
Descrizione: Thesis
Dimensione
2.21 MB
Formato
Adobe PDF
|
2.21 MB | Adobe PDF | Visualizza/Apri |
executive_summary_final.pdf
accessibile in internet per tutti
Descrizione: Executive Summary
Dimensione
581 kB
Formato
Adobe PDF
|
581 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/195754