Booting, browsing and streaming time profiling, and bottleneck analysis on android-based systems

Abstract Android-based systems perform slowly in three scenarios: booting, browsing, and streaming. Time profiling on Android devices involves three unique constraints: (1) the execution flow of a scenario invokes multiple software layers, (2) these software layers are implemented in different programming languages, and (3) log space is limited. To compensate for the first and second constraints, we assumed a staged approach using different profiling tools applied to different layers and programming languages. As for the last constraint and to avoid generating enormous quantities of irrelevant log data, we began profiling scenarios from an individual module, and then iteratively profiled an increased number of modules and layers, and finally consolidated the logs from different layers to identify bottlenecks. Because of this iteration, we called this approach a staged iterative instrumentation approach. To analyze the time required to boot the devices, we conducted experiments using off-the-shelf Android products. We determined that 72% of the booting time was spent initializing the user-space environment, with 44.4% and 39.2% required to start Android services and managers, and preload Java classes and resources, respectively. Results from analyzing browsing performance indicate that networking is the most significant factor, accounting for at least 90% of the delay in browsing. With regard to online streaming, networking and decoding technologies are two most important factors occupying 77% of the time required to prepare a 22 MB video file over a Wi-Fi connection. Furthermore, the overhead of this approach is low. For example, the overhead of CPU loading is about 5% in the browsing scenario. We believe that this proposed approach to time profiling represents a major step in the optimization and future development of Android-based devices.

[1]  Tannaz Alinaghi,et al.  An introduction to profiling mechanisms and Linux profilers , 2006 .

[2]  D. Toupin Using Tracing to Diagnose or Monitor Systems , 2011, IEEE Software.

[3]  Heloise Pieterse,et al.  Android botnets on the rise: Trends and characteristics , 2012, 2012 Information Security for South Africa.

[4]  Michalis Faloutsos,et al.  ProfileDroid: multi-layer profiling of android applications , 2012, Mobicom '12.

[5]  Lakhmi C. Jain,et al.  Network and information security: A computational intelligence approach: Special Issue of Journal of Network and Computer Applications , 2007, J. Netw. Comput. Appl..

[6]  Rajendra Patel,et al.  A Survey of Embedded Software Profiling Methodologies , 2011, ArXiv.

[7]  Gaurav Singh,et al.  Optimizing the boot time of Android on embedded system , 2011, 2011 IEEE 15th International Symposium on Consumer Electronics (ISCE).

[8]  Cristina Hava Muntean,et al.  Quality Utility modelling for multimedia applications for Android Mobile devices , 2012, IEEE international Symposium on Broadband Multimedia Systems and Broadcasting.

[9]  Sung-Soo Lim,et al.  A whole layer performance analysis method for Android platforms , 2011, 2011 9th IEEE Symposium on Embedded Systems for Real-Time Multimedia.

[10]  Eylem Ekici,et al.  Proceedings of the 18th annual international conference on Mobile computing and networking , 2012, MobiCom 2012.

[11]  Hyeon-Ju Yoon A Study on the Performance of Android Platform , 2012 .

[12]  Guohong Cao,et al.  Reducing the Delay and Power Consumption of Web Browsing on Smartphones in 3G Networks , 2011, 2011 31st International Conference on Distributed Computing Systems.