IncApprox: A Data Analytics System for Incremental Approximate Computing
IncApprox: A Data Analytics System for Incremental Approximate Computing
复制标题
DOI:
10.1145/2872427.2883026
复制
发表时间:
2016-04
期刊:
影响因子:
--
通讯作者:
Dhanya R. Krishnan;D. Quoc;Pramod Bhatotia;C. Fetzer;R. Rodrigues
中科院分区:
文献类型:
--
作者:
Dhanya R. Krishnan;D. Quoc;Pramod Bhatotia;C. Fetzer;R. Rodrigues
Incremental and approximate computations are increasingly being adopted for data analytics to achieve low-latency execution and efficient utilization of computing resources. Incremental computation updates the output incrementally instead of re-computing everything from scratch for successive runs of a job with input changes. Approximate computation returns an approximate output for a job instead of the exact output. Both paradigms rely on computing over a subset of data items instead of computing over the entire dataset, but they differ in their means for skipping parts of the computation. Incremental computing relies on the memoization of intermediate results of sub-computations, and reusing these memoized results across jobs. Approximate computing relies on representative sampling of the entire dataset to compute over a subset of data items. In this paper, we observe that these two paradigms are complementary, and can be married together! Our idea is quite simple: design a sampling algorithm that biases the sample selection to the memoized data items from previous runs. To realize this idea, we designed an online stratified sampling algorithm that uses self-adjusting computation to produce an incrementally updated approximate output with bounded error. We implemented our algorithm in a data analytics system called IncApprox based on Apache Spark Streaming. Our evaluation using micro-benchmarks and real-world case-studies shows that IncApprox achieves the benefits of both incremental and approximate computing.