Performance evaluation of android IPC for continuous sensing applications

C. Hsieh, H. Falaki, N. Ramanathan, H. Tangmunarunkit, D. Estrin
{"title":"Performance evaluation of android IPC for continuous sensing applications","authors":"C. Hsieh, H. Falaki, N. Ramanathan, H. Tangmunarunkit, D. Estrin","doi":"10.1145/2436196.2436200","DOIUrl":null,"url":null,"abstract":"Sensor-rich smartphones are enabling a new class of applications and systems with significant potential to improve users’ daily lives. These applications, referred to as continuous sensing applications, continuously collect sensor data from on-board and external sensors and apply machine learning techniques to extract meaningful information about users’ behaviour and environment[1, 2, 6]. To collect the required sensor data, a continuous sensing application needs to communicate with different software entities on the phone including a) system services that interface with on-board sensors; b) drivers of off-board sensors, which are often proprietary applications developed by sensor manufacturers; and c) other sensing applications to obtain relevant user and context information. For enhanced security and privacy on modern smartphone platforms, each application runs within its own process. Therefore, Inter-Process Communication (IPC) mechanisms are crucial to continuous sensing applications. Current sensing sampling rates range from 32 bytes/sec for accelerometer and location data [5]; 63 bytes/sec for user and system context information, such as CPU, memory, and phone call, SMS records[3]; 88 KB/sec for acoustic data; and 232 KB/sec for image documentation [4]. Different sensing applications require IPC that can support a transfer of few bytes to hundreds of kilobytes, and frequencies of 0.1Hz to 1Hz. Ideal inter-process communication for continuous sensing applications must therefore meet the following performance requirements: 1) Low latency since the IPC transactions are on the critical path of the data collecting process; 2) Resource efficiency to minimize interference with device interactivity, performance, and availability; 3) Variable Bandwidth to accommodate a wide range of application demands from a few bytes to several hundreds of kilobytes per second as described earlier. We study the performance of three Android IPC mechanisms: 1) Binder, a remote-procedure-call (RPC) mechanism that enables a process to remotely invoke functions running on another process; Binder adopts a direct-message-copy scheme to transfer the IPC payload with only single data copy. 2) Intent, a flexible message passing system, implemented using two Binder RPC calls, allowing applications to send messages to each other; and 3) Content Provider, a data storehouse mechanism that implements various SQL-like IPC interfaces, in which the query operation uniquely incorporates a shared memory region to facilitate the transmission of possibly large query results.","PeriodicalId":43578,"journal":{"name":"Mobile Computing and Communications Review","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2013-02-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"14","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Mobile Computing and Communications Review","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2436196.2436200","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 14

Abstract

Sensor-rich smartphones are enabling a new class of applications and systems with significant potential to improve users’ daily lives. These applications, referred to as continuous sensing applications, continuously collect sensor data from on-board and external sensors and apply machine learning techniques to extract meaningful information about users’ behaviour and environment[1, 2, 6]. To collect the required sensor data, a continuous sensing application needs to communicate with different software entities on the phone including a) system services that interface with on-board sensors; b) drivers of off-board sensors, which are often proprietary applications developed by sensor manufacturers; and c) other sensing applications to obtain relevant user and context information. For enhanced security and privacy on modern smartphone platforms, each application runs within its own process. Therefore, Inter-Process Communication (IPC) mechanisms are crucial to continuous sensing applications. Current sensing sampling rates range from 32 bytes/sec for accelerometer and location data [5]; 63 bytes/sec for user and system context information, such as CPU, memory, and phone call, SMS records[3]; 88 KB/sec for acoustic data; and 232 KB/sec for image documentation [4]. Different sensing applications require IPC that can support a transfer of few bytes to hundreds of kilobytes, and frequencies of 0.1Hz to 1Hz. Ideal inter-process communication for continuous sensing applications must therefore meet the following performance requirements: 1) Low latency since the IPC transactions are on the critical path of the data collecting process; 2) Resource efficiency to minimize interference with device interactivity, performance, and availability; 3) Variable Bandwidth to accommodate a wide range of application demands from a few bytes to several hundreds of kilobytes per second as described earlier. We study the performance of three Android IPC mechanisms: 1) Binder, a remote-procedure-call (RPC) mechanism that enables a process to remotely invoke functions running on another process; Binder adopts a direct-message-copy scheme to transfer the IPC payload with only single data copy. 2) Intent, a flexible message passing system, implemented using two Binder RPC calls, allowing applications to send messages to each other; and 3) Content Provider, a data storehouse mechanism that implements various SQL-like IPC interfaces, in which the query operation uniquely incorporates a shared memory region to facilitate the transmission of possibly large query results.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
面向连续传感应用的android IPC性能评价
传感器丰富的智能手机正在实现一类新的应用程序和系统,具有改善用户日常生活的巨大潜力。这些应用被称为连续传感应用,从机载和外部传感器持续收集传感器数据,并应用机器学习技术提取有关用户行为和环境的有意义信息[1,2,6]。为了收集所需的传感器数据,连续传感应用程序需要与手机上的不同软件实体进行通信,包括a)与车载传感器接口的系统服务;B)车载传感器的驱动程序,通常是传感器制造商开发的专有应用程序;c)其他传感应用,获取相关用户和环境信息。为了增强现代智能手机平台上的安全性和隐私性,每个应用程序都在自己的进程中运行。因此,进程间通信(IPC)机制对于连续传感应用至关重要。当前的传感采样率范围从加速度计和位置数据的32字节/秒[5];63字节/秒用于用户和系统上下文信息,如CPU、内存、电话呼叫、短信记录[3];声学数据88 KB/秒;232 KB/秒用于图像文档[4]。不同的传感应用需要IPC能够支持几个字节到数百千字节的传输,以及0.1Hz到1Hz的频率。因此,连续传感应用的理想进程间通信必须满足以下性能要求:1)低延迟,因为IPC事务位于数据收集过程的关键路径上;2)资源效率,尽量减少对设备交互性、性能和可用性的干扰;3)可变带宽,以适应广泛的应用需求,从几个字节到几百千字节每秒,如前所述。我们研究了三种Android IPC机制的性能:1)Binder,一种远程过程调用(RPC)机制,使进程能够远程调用运行在另一个进程上的函数;Binder采用直接消息复制(direct-message-copy)方案,仅使用单个数据副本传输IPC负载。2) Intent,一个灵活的消息传递系统,使用两个Binder RPC调用实现,允许应用程序相互发送消息;3) Content Provider,一种数据存储机制,实现各种类似sql的IPC接口,其中查询操作唯一地合并了一个共享内存区域,以方便可能较大的查询结果的传输。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Scanning the literature Scanning the literature Brave New World: Privacy Risks for Mobile Users Harmonia: Wideband Spreading for Accurate Indoor RF Localization COAP: A Software-Defined Approach for Home WLAN Management through an Open API
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1