Logo image
CSense: A stream-processing toolkit for robust and high-rate mobile sensing applications
Conference proceeding

CSense: A stream-processing toolkit for robust and high-rate mobile sensing applications

Farley Lai, Syed Shabih Hasan, Austin Laugesen and Octav Chipara
IPSN-14 Proceedings of the 13th International Symposium on Information Processing in Sensor Networks, pp.119-129
04/2014
DOI: 10.1109/IPSN.2014.6846746

View Online

Abstract

This paper presents CSense - a stream-processing toolkit for developing robust and high-rate mobile sensing application in Java. CSense addresses the needs of these systems by providing a new programming model that supports flexible application configuration, a high-level concurrency model, memory management, and compiler analyses and optimizations. Our compiler includes a novel flow analysis that optimizes the exchange of data across components from an application-wide perspective. A mobile sensing application benchmark indicates that flow analysis may reduce CPU utilization by as much as 45%. Static analysis is used to detect a range of programming errors including application composition errors, improper use of memory management, and data races. We identify that memory management and concurrency limit the scalability of stream processing systems. We incorporate memory pools, frame conversion optimizations, and custom synchronization primitives to develop a scalable run-time. CSense is evaluated on Galaxy Nexus phones running Android. Empirical results indicate that our run-time achieves 19 times higher steam processing rate compared to a realistic baseline implementation. We demonstrate the versatility of CSense by developing three mobile sensing applications.
Concurrent computing Dataflow computing embedded software Java Memory management Optimization Ports (Computers) Programming runtime environment Sensors

Details

Metrics

9 Record Views
Logo image