skip to main content
research-article

SmartLMK: A Memory Reclamation Scheme for Improving User-Perceived App Launch Time

Published:11 May 2016Publication History
Skip Abstract Section

Abstract

As the mobile computing environment evolves, users demand high-quality apps and better user experience. Consequently, memory demand in mobile devices has soared. Device manufacturers have fulfilled the demand by equipping devices with more RAM. However, such a hardware approach is only a temporary solution and does not scale well in the resource-constrained mobile environment.

Meanwhile, mobile systems adopt a new app life cycle and a memory reclamation scheme tailored for the life cycle. When a user leaves an app, the app is not terminated but cached in memory as long as there is enough free memory. If the free memory gets low, a victim app is terminated and the associated memory to the app is reclaimed. This process-level approach has worked well in the mobile environment. However, user experience can be impaired severely because the victim selection policy does not consider the user experience.

In this article, we propose a novel memory reclamation scheme called SmartLMK. SmartLMK minimizes the impact of the process-level reclamation on user experience. The worthiness to keep an app in memory is modeled by means of user-perceived app launch time and app usage statistics. The memory footprint and impending memory demand are estimated from the history of the memory usage. Using these values and memory models, SmartLMK picks up the least valuable apps and terminates them at once. Our evaluation on a real Android-based smartphone shows that SmartLMK efficiently distinguishes the valuable apps among cached apps and keeps those valuable apps in memory. As a result, the user-perceived app launch time can be improved by up to 13.2%.

References

  1. Android. 2013a. Homepage. Retrieved from http://www.android.com.Google ScholarGoogle Scholar
  2. Android. 2013b. Android Debug Bridge (ADB). Retrieved from http://developer.android.com/tools/help/adb.html.Google ScholarGoogle Scholar
  3. Android. 2013c. Managing the Activity Lifecycle. Retrieved from http://developer.android.com/training/basics/activity-lifecycle/index.html.Google ScholarGoogle Scholar
  4. Android. 2013d. Monkeyrunner. http://developer.android.com/tools/help/monkeyrunner_concepts.html. (September 2013).Google ScholarGoogle Scholar
  5. Android. 2014. Content Providers. Retrieved from http://developer.android.com/guide/topics/providers/content-providers.html.Google ScholarGoogle Scholar
  6. Apple Computer. 2006. Launch Time Performance Guidelines. Retrieved from http://developer.apple.com/documentation/Performance/Conceptual/LaunchTime/LaunchTime.pdf.Google ScholarGoogle Scholar
  7. Apple. 2013. Apple iOS 7. Retrieved from http://www.apple.com/ios.Google ScholarGoogle Scholar
  8. Andrea Arcangeli, Izik Eidus, and Chris Wright. 2009. Increasing memory density by using KSM. In Proceedings of the 2009 Ottawa Linux Symposium (OLS’09). 19--28.Google ScholarGoogle Scholar
  9. Hugo Barra. 2012. 500 Million. Retrieved from https://plus.google.com/110023707389740934545/posts/R5YdRRyeTHM.Google ScholarGoogle Scholar
  10. Christopher M. Bishop. 2007. Pattern Recognition and Machine Learning (Information Science and Statistics). Springer-Verlag New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. David Chu, Aman Kansal, Jie Liu, and Feng Zhao. 2011. Mobile apps: It’s time to move up to CondOS. In Proceedings of the 13th USENIX Conference on Hot Topics in Operating Systems (HotOS’11). 16--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Nathan Eagle and Alex Pentland. 2006. Reality mining: Sensing complex social systems. Personal and Ubiquitous Computing 10, 4 (2006), 255--268. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Hossein Falaki, Ratul Mahajan, Srikanth Kandula, Dimitrios Lymberopoulos, Ramesh Govindan, and Deborah Estrin. 2010. Diversity in smartphone usage. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys’10). 179--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gartner. 2011. Sales of Smartphones and Tablets to Exceed PCs. Retrieved from http://www.practicalecommerce.com/articles/3069-Sales-of-Smartphones-and-Tablets-to-Exceed-PCs.Google ScholarGoogle Scholar
  15. Gartner. 2012. Forecast: Mobile Devices by Open Operating System, Worldwide, 2009-2016, 2Q12 Update. (2012).Google ScholarGoogle Scholar
  16. Google. 2011. Google Galaxy Nexus. Retrieved from http://www.google.com/nexus/#/tech-specs.Google ScholarGoogle Scholar
  17. Nitin Gupta. 2010. compcache: Compressed Caching for Linux. Retrieved from http://code.google.com/p/compcache.Google ScholarGoogle Scholar
  18. Dianne Hackborn. 2010. Multitasking the Android Way. Retrieved from http://android-developers.blogspot.kr/2010/04/multitasking-android-way.html.Google ScholarGoogle Scholar
  19. Anthony Hayter. 2012. Probability and Statistics for Engineers and Scientists. Brooks/Cole, Cengage Learning.Google ScholarGoogle Scholar
  20. Scott Hudson, James Fogarty, Christopher Atkeson, Daniel Avrahami, Jodi Forlizzi, Sara Kiesler, Johnny Lee, and Jie Yang. 2003. Predicting human interruptibility with sensors: A wizard of oz feasibility study. In Proceedings of the 2003 SIGCHI Conference on Human Factors in Computing Systems (CHI’03). ACM, 257--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Jinkyu Jeong, Hwanju Kim, Jeaho Hwang, Joonwon Lee, and Seungryoul Maeng. 2012. DaaC: Device-reserved memory as an eviction-based file cache. In Proceedings of the 2012 International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES’12). 191--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jinkyu Jeong, Hwanju Kim, Jeaho Hwang, Joonwon Lee, and Seungryoul Maeng. 2013a. Rigorous rental memory management for embedded systems. ACM Transactions on Embedded Computer Systems 12, 1s, Article 43 (March 2013), 21 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Sooman Jeong, Kisung Lee, Seongjin Lee, Seoungbum Son, and Youjip Won. 2013b. I/O stack optimization for smartphones. In Proceedings of the 2013 USENIX Annual Technical Conference (USENIX ATC’13). USENIX Association, 309--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Yongsoo Joo, Junhee Ryu, Sangsoo Park, and Kang G. Shin. 2011. FAST: Quick application launch on solid-state drives. In Proceedings of the 9th USENIX Conference on File and Stroage Technologies (USENIX FAST’11). 259--272. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Hans Kellerer, Ulrich Pferschy, and David Pisinger. 2004. Knapsack Problems. Springer-Verlag, Berlin.Google ScholarGoogle Scholar
  26. Hyojun Kim, Nitin Agrawal, and Cristian Ungureanu. 2012. Revisiting storage for smartphones. In Proceedings of the 10th USENIX Conference on File and Stroage Technologies (USENIX FAST’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Sung-Hoon Kim, Jinkyu Jeong, and Joonwon Lee. 2014. Efficient memory deduplication for mobile smart devices. In Proceedings of the 2014 IEEE International Conference on Consumer Electronics (ICCE’14).Google ScholarGoogle Scholar
  28. L. G. Electronics. 2013. Open webOS. Retrieved from http://www.openwebosproject.org.Google ScholarGoogle Scholar
  29. Matt Mackall. 2007. System-wide memory profiling. In Proceedings of the 2007 CELF Embedded Linux Conference (ELC’07).Google ScholarGoogle Scholar
  30. Dan Magenheimer. 2013. In-Kernel Memory Compression. Retrieved from http://lwn.net/Articles/545244/.Google ScholarGoogle Scholar
  31. Dan Magenheimer, Chris Mason, Dave McCracken, and Kurt Hackel. 2009. Transcendent memory and linux. In Proceedings of the 2009 Ottawa Linux Symposium (OLS’09).Google ScholarGoogle Scholar
  32. Mary Meeker and Liang Wu. 2013. KPCB Internet Trends 2013. (May 2013).Google ScholarGoogle Scholar
  33. Oracle. 2013. Project: Transcendent Memory. Retrieved from http://oss.oracle.com/projects/tmem.Google ScholarGoogle Scholar
  34. Abhinav Parate, Matthias Böhmer, David Chu, Deepak Ganesan, and Benjamin M. Marlin. 2013. Practical prediction and prefetch for faster access to applications on mobile phones. In Proceedings of the 2013 ACM International Joint Conference on Pervasive and Ubiquitous Computing (UbiComp’13). 275--284. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Ahmad Rahmati, Clayton Shepard, Chad Tossell, Mian Dong, Zhen Wang, Lin Zhong, and Phillip Kortum. 2011. Tales of 34 iPhone users: How they change and why they are different. Technical Report TR-2011-0624 (2011).Google ScholarGoogle Scholar
  36. Ahmad Rahmati and Lin Zhong. 2009. A longitudinal study of non-voice mobile phone usage by teens from an underserved urban community. Technical Report TR-0515-09 (2009).Google ScholarGoogle Scholar
  37. Nishkam Ravi, Nikhil Dandekar, Preetham Mysore, and Michael L. Littman. 2005. Activity recognition from accelerometer data. In Proceedings of the 7th Conference on Innovative Applications of Artificial Intelligence (IAAI’05). American Association for Artificial Intelligence, 1541--1546. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Rice Efficient Computing Group. 2012. LiveLab: Measuring wireless networks and smartphone users in the field. http://livelab.recg.rice.edu/traces.html. (July 2012).Google ScholarGoogle Scholar
  39. Clayton Shepard, Ahmad Rahmati, Chad Tossell, Lin Zhong, and Phillip Kortum. 2011. LiveLab: Measuring wireless networks and smartphone users in the field. Performance Evaluation Review 38, 3 (January 2011), 15--20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. The Linux Foundation. 2013. Tizen: An open source, standards-based software platform for multiple device categories. http://www.tizen.org. (2013).Google ScholarGoogle Scholar
  41. Ionut Trestian, Supranamaya Ranjan, Aleksandar Kuzmanovic, and Antonio Nucci. 2009. Measuring serendipity: Connecting people, locations, and interests in a mobile 3G network. In Proceedings of the 9th ACM SIGCOMM Conference on Internet Measurement Conference (IMC’09). 267--279. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Carl A. Waldspurger. 2002. Memory resource management in VMware ESX server. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI’02). Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Wikipedia. 2013. Comparison of Android Devices. http://en.wikipedia.org/wiki/Comparison_of_Android_devices. (2013).Google ScholarGoogle Scholar
  44. Tingxin Yan, David Chu, Deepak Ganesan, Aman Kansal, and Jie Liu. 2012. Fast app launching for mobile devices using predictive user context. In Proceedings of the 10th International Conference on Mobile Systems, Applications and Services (MobiSys’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Chunhui Zhang, Xiang Ding, Guanling Chen, Ke Huang, Xiaoxiao Ma, and Bo Yan. 2013. Nihao: A predictive smartphone application launcher. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 110 (2013), 294--313.Google ScholarGoogle Scholar

Index Terms

  1. SmartLMK: A Memory Reclamation Scheme for Improving User-Perceived App Launch Time

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!