I. Introduction
The proliferation of IoT-connected devices surpassing 70 billion presents innumerable potential and significant problems for data stream processing and computing infrastructure [1] We have seen the rise of numerous distributed stream processing systems, a.k.a. stream processing engines (SPE) over the past few years since processing massive amounts of data at fast speeds has grown more difficult. Examples of such systems are Apache Spark Streaming [2], Apache Flink [3], Apache Samza [4], to name just a few. Such systems provide scalable (distributed) processing for data streams that are fault-tolerant and in real-time fashion according to the time at which the data was generated.