GPU acceleration offers significant performance potential for stream processing, but integrating it into dataflow frameworks is challenging. GPUs require explicit control over batching, data layout, and data transfers-concerns that conflict with the fine-grained, high-level abstractions of stream processing systems. This thesis investigates whether GPU programming can be embedded within a dataflow execution model. The study uses Renoir, a dataflow-based stream processing framework that combines expressive programming abstractions with low-overhead execution. The work introduces a GPU-aware dataflow operator called map_gpu, which lets developers apply custom GPU kernels to streaming data in a way similar to traditional map operators. A kernel interface allows developers to provide GPU kernels, while the operator handles batching and buffer management according to configurable strategies. The approach is evaluated through experiments that analyze how batching strategies and data transfer overheads affect performance. Results show that GPU acceleration works well within a dataflow framework when batching and data movement are carefully managed and when workloads are compute-intensive enough to offset kernel launch, synchronization, and transfer costs. For workloads with low computational intensity, fine-grained execution eliminates performance benefits. Overall, this work shows that while GPU programming cannot be fully hidden in a dataflow system, it can be meaningfully integrated while preserving the dataflow programming model and enabling efficient GPU execution.

L'accelerazione GPU offre un significativo potenziale prestazionale per lo stream processing, ma integrarla nei framework dataflow è impegnativo. Le GPU richiedono controllo esplicito su batching, layout dei dati e trasferimenti-aspetti che confliggono con le astrazioni ad alto livello e a grana fine dei sistemi di stream processing. Questa tesi indaga se la programmazione GPU possa essere integrata in un modello di esecuzione dataflow. Lo studio utilizza Renoir, un framework di stream processing basato su dataflow che combina astrazioni di programmazione espressive con esecuzione a basso overhead. Il lavoro introduce un operatore dataflow GPU-aware chiamato map_gpu, che permette agli sviluppatori di applicare kernel GPU personalizzati ai dati in streaming in modo simile agli operatori map tradizionali. Un'interfaccia kernel consente agli sviluppatori di fornire kernel GPU, mentre l'operatore gestisce batching e buffer secondo strategie configurabili. L'approccio è valutato attraverso esperimenti che analizzano come le strategie di batching e gli overhead di trasferimento dati influenzano le prestazioni. I risultati mostrano che l'accelerazione GPU funziona bene all'interno di un framework dataflow quando batching e movimento dati sono gestiti con attenzione e quando i carichi di lavoro sono sufficientemente compute-intensive da compensare i costi di lancio kernel, sincronizzazione e trasferimento. In sintesi, questo lavoro mostra che, sebbene la programmazione GPU non possa essere completamente nascosta in un sistema dataflow, può essere integrata in modo significativo preservando il modello di programmazione dataflow e abilitando un'esecuzione GPU efficiente.

Integrating GPU execution in dataflow stream processing : operator design and performance evaluation on the Renoir platform

AZADI, ALIREZA
2024/2025

Abstract

GPU acceleration offers significant performance potential for stream processing, but integrating it into dataflow frameworks is challenging. GPUs require explicit control over batching, data layout, and data transfers-concerns that conflict with the fine-grained, high-level abstractions of stream processing systems. This thesis investigates whether GPU programming can be embedded within a dataflow execution model. The study uses Renoir, a dataflow-based stream processing framework that combines expressive programming abstractions with low-overhead execution. The work introduces a GPU-aware dataflow operator called map_gpu, which lets developers apply custom GPU kernels to streaming data in a way similar to traditional map operators. A kernel interface allows developers to provide GPU kernels, while the operator handles batching and buffer management according to configurable strategies. The approach is evaluated through experiments that analyze how batching strategies and data transfer overheads affect performance. Results show that GPU acceleration works well within a dataflow framework when batching and data movement are carefully managed and when workloads are compute-intensive enough to offset kernel launch, synchronization, and transfer costs. For workloads with low computational intensity, fine-grained execution eliminates performance benefits. Overall, this work shows that while GPU programming cannot be fully hidden in a dataflow system, it can be meaningfully integrated while preserving the dataflow programming model and enabling efficient GPU execution.
ING - Scuola di Ingegneria Industriale e dell'Informazione
26-mar-2026
2024/2025
L'accelerazione GPU offre un significativo potenziale prestazionale per lo stream processing, ma integrarla nei framework dataflow è impegnativo. Le GPU richiedono controllo esplicito su batching, layout dei dati e trasferimenti-aspetti che confliggono con le astrazioni ad alto livello e a grana fine dei sistemi di stream processing. Questa tesi indaga se la programmazione GPU possa essere integrata in un modello di esecuzione dataflow. Lo studio utilizza Renoir, un framework di stream processing basato su dataflow che combina astrazioni di programmazione espressive con esecuzione a basso overhead. Il lavoro introduce un operatore dataflow GPU-aware chiamato map_gpu, che permette agli sviluppatori di applicare kernel GPU personalizzati ai dati in streaming in modo simile agli operatori map tradizionali. Un'interfaccia kernel consente agli sviluppatori di fornire kernel GPU, mentre l'operatore gestisce batching e buffer secondo strategie configurabili. L'approccio è valutato attraverso esperimenti che analizzano come le strategie di batching e gli overhead di trasferimento dati influenzano le prestazioni. I risultati mostrano che l'accelerazione GPU funziona bene all'interno di un framework dataflow quando batching e movimento dati sono gestiti con attenzione e quando i carichi di lavoro sono sufficientemente compute-intensive da compensare i costi di lancio kernel, sincronizzazione e trasferimento. In sintesi, questo lavoro mostra che, sebbene la programmazione GPU non possa essere completamente nascosta in un sistema dataflow, può essere integrata in modo significativo preservando il modello di programmazione dataflow e abilitando un'esecuzione GPU efficiente.
File allegati
File Dimensione Formato  
Master_Thesis_Alireza_Azadi_2026_March.pdf

accessibile in internet per tutti

Descrizione: Integrating GPU Execution in Dataflow Stream Processing: Operator Design and Performance Evaluation on the Renoir Platform
Dimensione 1.24 MB
Formato Adobe PDF
1.24 MB 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/251279