Observation of Method Invocation in Application Runtime in Android for CPU Clock Rate Adjustment

Kota Kumakura, Atsuya Sonoyama, Takeshi Kamiyama, M. Oguchi, Saneyasu Yamaguchi
{"title":"Observation of Method Invocation in Application Runtime in Android for CPU Clock Rate Adjustment","authors":"Kota Kumakura, Atsuya Sonoyama, Takeshi Kamiyama, M. Oguchi, Saneyasu Yamaguchi","doi":"10.1109/CANDARW53999.2021.00090","DOIUrl":null,"url":null,"abstract":"Smartphones are currently widely used. Especially, the Android operating system has the largest market share. Nowadays, power consumption and the battery life of an Android device have been important issues. Performance and battery life are in a trade-off relation. A suitable CPU clock rate adjustment considering both performance and power consumption is desired. In the case of the Android operating system, Linux is used as its kernel and the kernel controls its CPU clock rate. Because the kernel cannot predict the CPU usage in the near future, it does not control the rate in advance. Namely, its control is based on a follow-up method. However, some papers reported that this follow-up method resulted in an unsuitable control. In the cases of Android smartphones, the CPU usage is dominantly determined by the foreground application. Thus, the CPU usage in the system can be approximately predicted in advance if the CPU resource requirement in the near future by the foreground application can be estimated. In many cases, the behavior of CPU resources has a strong relationship with the features of each method in an application. In this paper, we propose a method for observing the relationship between the application’s method call and its CPU resource requirements. The proposed method modifies the Android Runtime (ART) and then monitors the cumulative CPU usage time at invocations and returns of every application. This method extracts the CPU usage information of every method separately while the kernel cannot separate the CPU time by methods. Our verification experiments showed that our method can give the information correctly in the case of our target application and methods.","PeriodicalId":325028,"journal":{"name":"2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2021-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2021 Ninth International Symposium on Computing and Networking Workshops (CANDARW)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CANDARW53999.2021.00090","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Smartphones are currently widely used. Especially, the Android operating system has the largest market share. Nowadays, power consumption and the battery life of an Android device have been important issues. Performance and battery life are in a trade-off relation. A suitable CPU clock rate adjustment considering both performance and power consumption is desired. In the case of the Android operating system, Linux is used as its kernel and the kernel controls its CPU clock rate. Because the kernel cannot predict the CPU usage in the near future, it does not control the rate in advance. Namely, its control is based on a follow-up method. However, some papers reported that this follow-up method resulted in an unsuitable control. In the cases of Android smartphones, the CPU usage is dominantly determined by the foreground application. Thus, the CPU usage in the system can be approximately predicted in advance if the CPU resource requirement in the near future by the foreground application can be estimated. In many cases, the behavior of CPU resources has a strong relationship with the features of each method in an application. In this paper, we propose a method for observing the relationship between the application’s method call and its CPU resource requirements. The proposed method modifies the Android Runtime (ART) and then monitors the cumulative CPU usage time at invocations and returns of every application. This method extracts the CPU usage information of every method separately while the kernel cannot separate the CPU time by methods. Our verification experiments showed that our method can give the information correctly in the case of our target application and methods.
Android应用运行时方法调用对CPU时钟速率调整的观察
智能手机目前被广泛使用。其中,Android操作系统的市场份额最大。如今,安卓设备的功耗和电池寿命已经成为重要问题。性能和电池寿命是一种权衡关系。考虑到性能和功耗,需要适当的CPU时钟速率调整。在Android操作系统中,Linux作为其内核,内核控制其CPU时钟速率。因为内核不能预测近期的CPU使用率,所以它不能提前控制使用率。也就是说,它的控制是基于跟踪方法的。然而,一些论文报道,这种随访方法导致不适当的控制。在Android智能手机的情况下,CPU使用率主要由前台应用程序决定。因此,如果可以估计出前台应用程序在不久的将来对CPU资源的需求,就可以提前大致预测系统中CPU的使用情况。在许多情况下,CPU资源的行为与应用程序中每个方法的特性有很强的关系。在本文中,我们提出了一种方法来观察应用程序的方法调用与其CPU资源需求之间的关系。提出的方法修改Android运行时(ART),然后监控每个应用程序调用和返回时的累积CPU使用时间。该方法可以单独提取每个方法的CPU使用信息,而内核无法通过方法分离CPU时间。我们的验证实验表明,在我们的目标应用和方法的情况下,我们的方法可以正确地给出信息。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信