• DocumentCode
    169017
  • Title

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

  • Author

    Lai, Fang-I ; Hasan, Samer Sami ; Laugesen, Austin ; Chipara, Octav

  • Author_Institution
    Dept. of Comput. Sci./Aging Mind & Brain Initiative, Univ. of Iowa, Iowa City, IA, USA
  • fYear
    2014
  • fDate
    15-17 April 2014
  • Firstpage
    119
  • Lastpage
    129
  • 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.
  • Keywords
    Java; concurrency control; data flow analysis; mobile computing; program compilers; storage management; synchronisation; Android; CPU utilization reduction; CSense; Galaxy Nexus phones; Java; application composition errors; compiler analyses; custom synchronization primitives; data exchange; data flow analysis; data races; flexible application configuration; frame conversion optimizations; high-level concurrency model; high-rate mobile sensing; memory management; memory pools; programming errors; robust mobile sensing; static analysis; stream-processing toolkit; Concurrent computing; Java; Memory management; Optimization; Ports (Computers); Programming; Sensors; Dataflow computing; embedded software; runtime environment;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Information Processing in Sensor Networks, IPSN-14 Proceedings of the 13th International Symposium on
  • Conference_Location
    Berlin
  • Print_ISBN
    978-1-4799-3146-0
  • Type

    conf

  • DOI
    10.1109/IPSN.2014.6846746
  • Filename
    6846746