Continuous data streams are now central in domains such as industrial monitoring, finance, and the Internet of Things. Unlike batch workloads, they must be processed in real time to extract timely insights. The Stream Processing paradigm enables this, but achieving high throughput and low latency often requires specialized hardware. Current Stream Processing Engines (SPE), however, are mainly designed for distributed clusters and struggle to exploit single-node systems with accelerators. Among available accelerators, Field Programmable Gate Arrays (FPGAs) stand out for their efficiency and performance. Yet their adoption is limited because FPGA programming relies on complex toolchains and hardware expertise, making them difficult to use in practice. This thesis demonstrates that these limitations can be overcome by introducing higher-level abstractions for FPGA programming. A High-Level Language (HLL) is proposed that lets developers describe applications in terms of operators, routing, and state management without hardware-specific details. These descriptions are compiled into modular Building Blocks (BBs), which are then mapped to optimized implementations across FPGA platforms. The research introduces a structured methodology, two complementary implementation strategies (code generation and code library), and host APIs that simplifies data transfers and runtime coordination. Experiments on synthetic and real-world benchmarks show that the proposed frameworks deliver high throughput and low latency while reducing development complexity. By integrating seamlessly with existing SPEs, this work makes FPGA acceleration practical and accessible, supporting its broader adoption in data-intensive domains.

A Structured Approach to Stream Processing
 on Reconfigurable Hardware

OTTIMO, ALBERTO
2025

Abstract

Continuous data streams are now central in domains such as industrial monitoring, finance, and the Internet of Things. Unlike batch workloads, they must be processed in real time to extract timely insights. The Stream Processing paradigm enables this, but achieving high throughput and low latency often requires specialized hardware. Current Stream Processing Engines (SPE), however, are mainly designed for distributed clusters and struggle to exploit single-node systems with accelerators. Among available accelerators, Field Programmable Gate Arrays (FPGAs) stand out for their efficiency and performance. Yet their adoption is limited because FPGA programming relies on complex toolchains and hardware expertise, making them difficult to use in practice. This thesis demonstrates that these limitations can be overcome by introducing higher-level abstractions for FPGA programming. A High-Level Language (HLL) is proposed that lets developers describe applications in terms of operators, routing, and state management without hardware-specific details. These descriptions are compiled into modular Building Blocks (BBs), which are then mapped to optimized implementations across FPGA platforms. The research introduces a structured methodology, two complementary implementation strategies (code generation and code library), and host APIs that simplifies data transfers and runtime coordination. Experiments on synthetic and real-world benchmarks show that the proposed frameworks deliver high throughput and low latency while reducing development complexity. By integrating seamlessly with existing SPEs, this work makes FPGA acceleration practical and accessible, supporting its broader adoption in data-intensive domains.
26-ott-2025
Inglese
Stream Processing
FPGA
reconfigurable hardware
framework
structured
Mencagli, Gabriele
File in questo prodotto:
File Dimensione Formato  
Alberto_Ottimo_Phd_Thesis.pdf

accesso aperto

Licenza: Creative Commons
Dimensione 4.54 MB
Formato Adobe PDF
4.54 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI 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/20.500.14242/307964
Il codice NBN di questa tesi è URN:NBN:IT:UNIPI-307964