Abstract:
As Big Data scenarios increasingly become common, a large number of distributed data
processing systems require timely processing of high volumes of real-time data streams.
Detecting complex correlations between incoming data streams in near real-time is at
the heart of these data processing systems. Complex Event Processing (CEP) have
been dominating in this domain since inception a decade back. But, growth of Big
Data volumes demands for more performance and faster processing. CEP operators
like stream join and event patterns require considerable processing power and have huge
impact on the overall query processing performance. In some use cases these operators
have to operate on lots of events simultaneously. Making parallel algorithms for these
operators is a common approach for improving the individual operator performance.
A Graphics Processing Unit (GPU) provides a vast number of parallel computing cores
and leverage new parallel algorithms which enables novel problem solving approaches
for existing problems. But the challenge is combining complex event processing and
GPUs in the right way to get the maximum performance out of the this parallel
hardware. There had been attempts to use parallel hardware in improving CEP
performance in both commercial and academic implementations, and most of them
uses multi-core approach. Only a very few researches had used GPUs for CEP. We
believe the lack of GPU related CEP researches is that they are not designed to bene t
from parallel processing in GPUs.
In this research we investigate how and when GPUs can be used to improve the query
processing performance of a popular open source CEP implementation, Siddhi CEP.
Siddhi, by design, supports for parallel query processing in multi-core CPUs. This work
propose a novel approach for parallel event processing in GPUs with several GPU event
processing algorithms. Performance evaluation on our implemented algorithms shows,
for a mix of complex queries, parallel event processing on GPUs achieve more than ten
times event processing throughput than the sequential processing in CPUs. Moreover,
our approach helped to reduce event queuing at the incoming event queue when there
are high frequent input event stream and several complex queries.