ApproxIoT: Approximate Analytics for Edge Computing
IoT-enabled devices continue to generate a massive amount of data, and transforming this continuously arriving raw data into timely insights is critical for many modern online services. For such settings, the traditional form of data analytics over the entire dataset would be prohibitively limiting and expensive for supporting real-time stream analytics. In this project, we make a case for an approximate computing paradigm for data analytics in IoT settings. Approximate computing aims for efficient execution of workflows where an approximate output is sufficient instead of the exact output. The idea behind approximate computing is to compute over a representative sample instead of the entire input dataset. Thus, approximate computing -- based on the chosen sample size -- can make a systematic trade-off between the output accuracy and computation efficiency (latency/throughput). This motivated the design of APPROXIOT -- a data analytics system for approximate computing in IoT. To realize this idea, we designed an online stratified reservoir sampling algorithm to produce approximate output with rigorous error bounds. To showcase the effectiveness of our algorithm, we implemented and evaluated APPROXIOT using a set of microbenchmarks and real-world case studies.