Abstract
Since the adoption of hardware-accelerated features (e.g., hardware codec) improves the performance and quality of mobile devices, it revives the need for contiguous memory allocation. However, physical memory in mobile systems is highly fragmented due to the frequent spawn and exit of processes and the lack of proactive anti-fragmentation scheme. As a result, the memory allocation for large and contiguous I/O buffers suffer from the highly fragmented memory, thereby incurring high CPU usage and power consumption. This paper presents a proactive anti-fragmentation approach that groups pages with the same lifetime, and stores them contiguously in fixed-size contiguous regions. When a process is killed to secure free memory, a set of contiguous regions are freed and subsequent contiguous memory allocations can be easily satisfied without incurring additional overhead. Our prototype implementation on a Nexus 10 tablet with the Android kernel shows that the proposed scheme greatly alleviates fragmentation, thereby reducing the I/O buffer allocation time, associated CPU usage, and energy consumption.
- Android kernel features. URL http://elinux.org/ Android_Kernel_Features.Google Scholar
- N. Amit, M. Ben-Yehuda, and B.-A. Yassour. Iommu: Strategies for mitigating the iotlb bottleneck. In Proceedings of the 2010 International Conference on Computer Architecture (ISCA ’10), pages 256–274, 2012. Google Scholar
Digital Library
- Android. Managing the activity lifecycle, October 2013. URL http://developer.android.com/training/basics/ activity-lifecycle/index.html.Google Scholar
- Android, January 2015. URL http://www.android.com.Google Scholar
- D. F. Bacon, P. Cheng, and V. Rajan. Controlling fragmentation and space consumption in the Metronome, a real-time garbage collector for Java. In Proceedings of the 2003 Conference on Language, Compilers, and Tools for Embedded Systems (LCTES ’03), 2003. Google Scholar
Digital Library
- D. A. Barrett and B. G. Zorn. Using lifetime predictors to improve memory allocation performance. In Proceedings of the 1993 Programming Language Design and Implementation (PLDI ’93), pages 187–196, 1993. Google Scholar
Digital Library
- M. Ben-Yehuda, J. Xenidis, M. Ostrowski, K. Rister, A. Bruemmer, and L. Van Doorn. The price of safety: Evaluating IOMMU performance. In Proceedings of the 2007 Ottawa Linux Symposium (OLS ’07), pages 9–20, July 2007.Google Scholar
- E. D. Berger, B. G. Zorn, and K. S. McKinley. Reconsidering custom memory allocation. In Proceedings of the 2002 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA ’02), 2002. Google Scholar
Digital Library
- J. Bonwick. The slab allocator: An object-caching kernel memory allocator. In Proceedings of the USENIX Summer 1994 Technical Conference (USTC ’94), volume 1, 1994. Google Scholar
Digital Library
- S. S. Craciunas, C. M. Kirsch, H. Payer, A. Sokolova, H. Stadler, and R. Staudinger. A compacting real-time memory management system. In Proceedings of the 2008 USENIX Annual Technical Conference (USENIX ATC ’08), 2008. Google Scholar
Digital Library
- H. Falaki, R. Mahajan, S. Kandula, D. Lymberopoulos, R. Govindan, and D. Estrin. Diversity in smartphone usage. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys ’10), pages 179–194, 2010. Google Scholar
Digital Library
- M. Gorman and P. Healy. Measuring the impact of the Linux memory management. In Proceedings of the 2005 Libre Software Meeting (LSM ’05), 2005.Google Scholar
- M. Gorman and A. Whitcroft. The what, the why and the where to of anti-fragmentation. In Proceedings of the 2006 Ottawa Linux Symposium (OLS ’06), pages 369–384, 2006.Google Scholar
- M. Gorman and A. Whitcroft. Supporting the allocation of large contiguous regions of memory. In Proceedings of the 2007 Ottawa Linux Symposium (OLS ’07), pages 141–152, 2007.Google Scholar
- D. Hackborn. Multitasking the Android way, 2010. URL http://android-developers.blogspot.kr/2010/04/ multitasking-android-way.html.Google Scholar
- D. R. Hanson. Fast allocation and deallocation of memory based on object lifetimes. Software-Practice and Experience, 20:6–12, 1990. Google Scholar
Digital Library
- S. hun Kim, J. Jeong, and J. Lee. Selective memory deduplication for cost efficiency in mobile smart devices. IEEE Transactions on Consumer Electronics, 60(2):276–284, May 2014.Google Scholar
Cross Ref
- J. Jeong, H. Kim, J. Hwang, J. Lee, and S. Maeng. 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), pages 191–200, 2012. Google Scholar
Digital Library
- J. Jeong, H. Kim, J. Hwang, J. Lee, and S. Maeng. Rigorous rental memory management for embedded systems. ACM Transactions on Embedded Computing Systems, 12(1s):43:1– 43:21, March 2013. Google Scholar
Digital Library
- M. S. Johnstone and P. R. Wilson. The memory fragmentation problem: Solved? In Proceedings of the 1998 International Symposium on Memory Management (ISMM ’98), pages 26– 36, 1998. Google Scholar
Digital Library
- H. Lieberman and C. Hewitt. A real-time garbage collector based on the lifetimes of objects. Communications of the ACM, 26(6):419–429, June 1983. Google Scholar
Digital Library
- R. Love. Linux Kernel Development. Addison-Wesley Professional, 3rd edition, 2010. ISBN 9780672329463. Google Scholar
Digital Library
- R. Mijat and A. Nightingale. Virtualization is coming to a platform near you, 2011.Google Scholar
- R. Morad, M. Hirzel, E. K. Kolodner, and M. Sagiv. Efficient memory management for long-lived objects. Technical Report TR-RC24794, IBM Research, 2009.Google Scholar
- J. Navarro, S. Iyer, P. Druschel, and A. Cox. Practical, transparent operating system support for superpages. In Proceedings of the 5th Symposium on Operating Systems Design and Implementation (OSDI ’02), 2002. Google Scholar
Digital Library
- Open webOS, January 2015. URL http://www. openwebosproject.org.Google Scholar
- OProfile. Oprofile: A system profiler for Linux. URL http: //oprofile.sourceforge.net/news/.Google Scholar
- Z. Pfeffer. The virtual contiguous memory manager. In Proceedings of the 2010 Ottawa Linux Symposium (OLS ’10), pages 225–230, 2010.Google Scholar
- A. Rahmati, C. Shepard, C. Tossell, M. Dong, Z. Wang, L. Zhong, and P. Kortum. Tales of 34 iPhone users: How they change and why they are different. Technical Report TR-2011- 0624, 2011.Google Scholar
- D. Seal. ARM Architecture Reference Manual. Addison-Wesley Longman Publishing Co., Inc., 2nd edition, 2000. ISBN 0201737191. Google Scholar
Digital Library
- C. Shepard, A. Rahmati, C. Tossell, L. Zhong, and P. Kortum. LiveLab: measuring wireless networks and smartphone users in the field. Performance Evaluation Review, 38(3):15–20, January 2011. Google Scholar
Digital Library
- D. Stefanovic, K. S. McKinley, and J. E. B. Moss. Agebased garbage collection. In Proceedings of the 1999 ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA ’99), 1999. Google Scholar
Digital Library
- The Linux Foundation. Tizen: An open source, standardsbased software platform for multiple device categories, January 2015. URL http://www.tizen.org.Google Scholar
- D. Ungar. Generation scavenging: A non-disruptive high performance storage reclamation algorithm. In Proceedings of the First ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments (SDE ’84), pages 157–167, 1984. Google Scholar
Digital Library
- T. Yan, D. Chu, D. Ganesan, A. Kansal, and J. Liu. 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), pages 113–126, 2012. Google Scholar
Digital Library
- B.-A. Yassour, M. Ben-Yehuda, and O. Wasserman. On the DMA mapping problem in direct device assignment. In Proceedings of the 3rd Annual Haifa Experimental Systems Conference (SYSTOR ’10), pages 18:1–18:12, 2010. Google Scholar
Digital Library
- C. Yeoh. Managing memory in variable sized chunks. In linux.conf.au, 2006.Google Scholar
- T. M. Zeng. The Android ION memory allocator, February 2012. URL http://lwn.net/Article/480055.Google Scholar
Index Terms
Controlling physical memory fragmentation in mobile systems
Recommendations
Controlling physical memory fragmentation in mobile systems
ISMM '15: Proceedings of the 2015 International Symposium on Memory ManagementSince the adoption of hardware-accelerated features (e.g., hardware codec) improves the performance and quality of mobile devices, it revives the need for contiguous memory allocation. However, physical memory in mobile systems is highly fragmented due ...
The intelligent memory allocator selector
Memory fragmentation is a serious obstacle preventing efficient memory usage. Garbage collectors may solve the problem; however, they cause serious performance impact, memory and energy consumption. Therefore, various memory allocators have been ...
Reducing memory fragmentation in network applications with dynamic memory allocators optimized for performance
The needs for run-time data storage in modern wired and wireless network applications are increasing. Additionally, the nature of these applications is very dynamic, resulting in heavy reliance on dynamic memory allocation. The most significant problem ...






Comments