Internet of Things (IoT) is a technology paradigm where millions of sensors monitor, and help inform or manage, physical, environmental and human systems in real-time. The inherent closed-loop responsiveness and decision making of IoT applications makes them ideal candidates for using low latency and scalable stream processing platforms. Distributed Stream Processing Systems (DSPS) are becoming essential components of any IoT stack, but the efficacy and performance of contemporary DSPS have not been rigorously studied for IoT data streams and applications. Here, we develop a benchmark suite and performance metrics to evaluate DSPS for streaming IoT applications. The benchmark includes 13 common IoT tasks classified across various functional categories and forming micro-benchmarks, and two IoT applications for statistical summarization and predictive analytics that leverage various dataflow compositional features of DSPS. These are coupled with stream workloads sourced from real IoT observations from smart cities. We validate the IoT benchmark for the popular Apache Storm DSPS, and present empirical results. or fitness and sleep tracking and recommendations by smart watches and health bands [29] . The IoT stack for such domains is tightly integrated to serve specific needs, but typically operates on a closed-loop Observe Orient Decide Act (OODA) cycle, where sensors communicate time-series observations of the (physical or human) system to a central server or the Cloud for analysis, and the analytics drive recommendations that are enacted on, or notified to, the system to improve it, which is again observed and so on. In fact, this closed-loop responsiveness is one of the essential design characteristics of IoT applications. This low-latency cycle makes it necessary to process data streaming from sensors at fine spatial and temporal scales, in real-time, to derive actionable intelligence. In particular, this streaming analytics has be to done at massive scales (millions of sensors, thousands of events per second) from across distributed sensors, requiring large computational resources. Cloud computing offers a natural platform for scalable processing of the observations at globally distributed data centers, and sending a feedback response to the IoT system at the edge. Recent Big Data platforms like Apache Storm [28] and Spark [30] provide an intuitive programming model for composing such streaming applications, with a scalable, low-latency execution engine designed for commodity clusters and Clouds. These Distributed Stream Processing Systems (DSPS) are becoming essential components of any IoT stack to support online analytics and decisionmaking for IoT applications. In fact, reference IoT solutions from Cloud providers like Amazon AWS 1 and Microsoft Azure 2 include their proprietary stream and event processing engines as part of the IoT analytics architecture. Shared-memory stream processing systems [12, 13] have been investigated over a decade back for wireless sensor networks, with community benchmarks such as Linear Road [6] being proposed. But there has not been a detailed review of, or benchmarks for, distributed stream processing for IoT domains. In particular, the efficacy and performance of contemporary DSPS, which were originally designed for social network and web traffic [28], have not been rigorously studied for IoT data streams and applications. We address this gap in this paper. We develop a benchmark suite for DSPS to evaluate their effectiveness for streaming IoT applications. The proposed workload is based on common buildingblock tasks observed in various IoT domains for real-time decision making, and the input streams are sourced from real IoT observations from smart cities. Specifically, we make the following contributions: 1 https://aws.amazon.com/iot/how-it-works/ 2 https://www.microsoft.com/en-in/server-cloud/internet-of-things/overview.aspx
There are also benchmarks that specifically target fast data applications, such as for Internet of Things, but we defer a study of ARM64 for such Big Data stream processing platforms to future work REF .
Benchmarking Distributed Stream Processing Platforms for IoT Applications
Proceedings of the Technology Conference on Performance Evaluation and Benchmarking (TPCTC), New Delhi, India, 2016, Co-located with VLDB, 2016. Lecture Notes in Computer Science, vol 10080. Springer
Computer Science