How Soccer Players Would Do Stream Joins
Jens Teubner and René Müller
Proceedings of the 2011 ACM SIGMOD Conference on Management of Data, Athens, Greece, June 2011.
source code for multi-core (CPU-based) results in the paper
In spite of the omnipresence of parallel (multi-core) systems, the
predominant strategy to evaluate window-based stream joins is
still strictly sequential, mostly just straightforward along the
definition of the operation semantics.
In this work we present handshake join, a way of describing
and executing window-based stream joins that is highly amenable to
parallelized execution. Handshake join naturally leverages available
hardware parallelism, which we demonstrate with an implementation on a
modern multi-core system and on top of field-programmable
gate arrays (FPGAs), an emerging technology that has shown
distinctive advantages for high-throughput data processing.
On the practical side, we provide a join implementation that
substantially outperforms CellJoin (the fastest published result) and
that will directly turn any degree of parallelism into higher throughput
or larger supported window sizes. On the semantic side, our work
gives a new intuition of window semantics, which we believe could
inspire other stream processing algorithms or ongoing standardization
efforts for stream query languages.