Haichen Shen, D. Wetherall, A. Balasubramanian, A. LaMarca
{"title":"MobileHub: No Programmer Effort for Power Efficiency with Sensor Hub","authors":"Haichen Shen, D. Wetherall, A. Balasubramanian, A. LaMarca","doi":"10.1145/2904337.2904342","DOIUrl":null,"url":null,"abstract":"T oday’s smartphones provide a rich sensing platform that developers have used in tens of thousands of mobile applications. Many of these applications require continuous sensing for tasks ranging from simple step counting to more complex fall detection, sleep apnea diagnoses, dangerous driver monitoring and others. Unfortunately, continuous sensing applications are power-hungry. Interestingly, it is neither the sensors nor the computation that make these applications battery drainers. Instead, the main processor needs to be powered on frequently to collect sensor samples, in turn increasing the power consumption [12, 9, 13]. Hardware manufacturers recognize that supporting low-power continuous sensing is crucial. To this end, companies are embedding a low power microcontroller called a sensor hub in their smartphones [11, 10, 2]. Th e sensor hub continuously collects sensor data keeping the higher power main processor idle. In practice, however, sensor hubs fail to deliver on their power-effi ciency promise. Th e problem is in the diffi culty in programming them. For example, to leverage the sensor hub for a fall detection app, the developer not only needs to write the main application, but also needs to program the sensor hub to sense and notify the main application when a fall is detected. Two approaches have been used to make it easier for developers to program a sensor hub: APIs and hardware SDKs. In the API approach [4, 1], a set of important sensor inference functions are exported via high level APIs to the app developers. Th e problem is that the APIs only support a set of predefi ned events or activities such as step counting. Today, a fall detection application cannot use any of the existing APIs to leverage the sensor hub. It is possible that sensor hub APIs will stabilize, but this is unlikely to happen for many years. Consider how location APIs have evolved since the Java Location API (JSR 179) was introduced in 2003. Sensor hubs themselves have regularly been part of phones since 2011, but it is only in 2014 that a small set of sensor APIs are aligning around common functionality. In the meanwhile, ambitious sensing applications such as BeWell [3] cannot leverage the sensor hub for power effi ciency. In the hardware SDK approach, the developer is provided with specialized tools to directly access the sensor hub. For example, TI provides a proprietary TivaWare Sensor Library [5] to allow developers access to functionality not exposed by soft ware APIs. However, MobileHub: No Programmer Effort for Power Efficiency with Sensor Hub Haichen Shen and David Wetherall University of Washington Aruna Balasubramanian Stony Brook University Anthony LaMarca Intel","PeriodicalId":213775,"journal":{"name":"GetMobile Mob. Comput. Commun.","volume":"17 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2016-03-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"GetMobile Mob. Comput. Commun.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2904337.2904342","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
T oday’s smartphones provide a rich sensing platform that developers have used in tens of thousands of mobile applications. Many of these applications require continuous sensing for tasks ranging from simple step counting to more complex fall detection, sleep apnea diagnoses, dangerous driver monitoring and others. Unfortunately, continuous sensing applications are power-hungry. Interestingly, it is neither the sensors nor the computation that make these applications battery drainers. Instead, the main processor needs to be powered on frequently to collect sensor samples, in turn increasing the power consumption [12, 9, 13]. Hardware manufacturers recognize that supporting low-power continuous sensing is crucial. To this end, companies are embedding a low power microcontroller called a sensor hub in their smartphones [11, 10, 2]. Th e sensor hub continuously collects sensor data keeping the higher power main processor idle. In practice, however, sensor hubs fail to deliver on their power-effi ciency promise. Th e problem is in the diffi culty in programming them. For example, to leverage the sensor hub for a fall detection app, the developer not only needs to write the main application, but also needs to program the sensor hub to sense and notify the main application when a fall is detected. Two approaches have been used to make it easier for developers to program a sensor hub: APIs and hardware SDKs. In the API approach [4, 1], a set of important sensor inference functions are exported via high level APIs to the app developers. Th e problem is that the APIs only support a set of predefi ned events or activities such as step counting. Today, a fall detection application cannot use any of the existing APIs to leverage the sensor hub. It is possible that sensor hub APIs will stabilize, but this is unlikely to happen for many years. Consider how location APIs have evolved since the Java Location API (JSR 179) was introduced in 2003. Sensor hubs themselves have regularly been part of phones since 2011, but it is only in 2014 that a small set of sensor APIs are aligning around common functionality. In the meanwhile, ambitious sensing applications such as BeWell [3] cannot leverage the sensor hub for power effi ciency. In the hardware SDK approach, the developer is provided with specialized tools to directly access the sensor hub. For example, TI provides a proprietary TivaWare Sensor Library [5] to allow developers access to functionality not exposed by soft ware APIs. However, MobileHub: No Programmer Effort for Power Efficiency with Sensor Hub Haichen Shen and David Wetherall University of Washington Aruna Balasubramanian Stony Brook University Anthony LaMarca Intel
今天的智能手机提供了一个丰富的传感平台,开发人员已经在成千上万的移动应用程序中使用了这个平台。这些应用中的许多都需要连续传感,从简单的步数计数到更复杂的跌倒检测、睡眠呼吸暂停诊断、危险驾驶员监控等。不幸的是,连续传感应用非常耗电。有趣的是,使这些应用耗电的既不是传感器也不是计算。相反,主处理器需要频繁上电来采集传感器样本,这反过来又增加了功耗[12,9,13]。硬件制造商认识到支持低功耗连续传感是至关重要的。为此,公司正在智能手机中嵌入一种称为传感器集线器的低功耗微控制器[11,10,2]。传感器集线器不断收集传感器数据,使大功率主处理器保持空闲状态。然而,在实践中,传感器集线器未能实现其节能承诺。问题在于编程的困难。例如,为了利用传感器集线器来进行跌倒检测应用程序,开发人员不仅需要编写主应用程序,还需要对传感器集线器进行编程,以便在检测到跌倒时感知并通知主应用程序。有两种方法可以使开发人员更容易地对传感器集线器进行编程:api和硬件sdk。在API方法[4,1]中,通过高级API将一组重要的传感器推断函数导出给应用程序开发人员。问题是api只支持一组预定义的事件或活动,比如步数计数。目前,跌倒检测应用程序不能使用任何现有的api来利用传感器集线器。传感器集线器api可能会稳定下来,但这在许多年内不太可能发生。考虑一下自从2003年引入Java location API (JSR 179)以来,位置API是如何发展的。自2011年以来,传感器集线器本身就经常成为手机的一部分,但直到2014年,一小部分传感器api才开始围绕通用功能进行调整。与此同时,BeWell[3]等雄心勃勃的传感应用无法利用传感器集线器来提高功率效率。在硬件SDK方法中,为开发人员提供了专门的工具来直接访问传感器集线器。例如,TI提供了专有的TivaWare传感器库[5],允许开发人员访问软件api未公开的功能。然而,MobileHub:没有程序员努力的功率效率与传感器中心海辰沈和大卫·韦瑟罗尔华盛顿大学的阿鲁纳·巴拉萨布拉曼尼亚石溪大学的安东尼·拉玛卡英特尔