Toward GPU Accelerated Data Stream Processing
Marcus Pinnecke, David Broneske, Gunter Saake · 2015
In recent years, the need for continuous processing and analysis of data streams has increased rapidly. To achieve high throughput-rates, stream-applications make use of operatorparallelization, batching-strategies and distribution. Another possibility is to utilize co-processors capabilities per operator. Further, the database community noticed, that a columnoriented architecture is essential for ecient co-processing, since the data transfer overhead is smaller compared to transferring whole tables. However, current systems still rely on a row-wise architecture for stream processing, because it requires data structures for high velocity. In contrast, stream portions are in rest while being bound to a window. With this, we are able to alter the per-window event representation from row to column orientation, which will enable us to exploit GPU acceleration. To provide general-purpose GPU capabilities for stream processing, the varying window sizes lead to challenges. Since very large windows cannot be passed directly to the GPU, we propose to split the variable-length windows into fixed-sized window portions. Further, each such portion has a columnoriented event representation. In this paper, we present a time and space ecient, data corruption free concept for this task. Finally, we identify open research challenges related to co-processing in the context of stream processing.