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.