skip to main content
research-article

Memory Management Scheme to Improve Utilization Efficiency and Provide Fast Contiguous Allocation without a Statically Reserved Area

Authors Info & Claims
Published:02 December 2015Publication History
Skip Abstract Section

Abstract

Fast allocation of large blocks of physically contiguous memory plays a crucial role to boost the performance of multimedia applications in modern memory-constrained portable devices, such as smartphones, tablets, etc. Existing systems have addressed this issue by provisioning a large statically reserved memory area (SRA) in which only dedicated applications can allocate pages. However, this in turn degrades the performance of applications that are prohibited to utilize the SRA due to the reduced available memory pool. To overcome this drawback while maintaining the benefits of the SRA, we propose a new memory management scheme that uses a special memory region, called page-cache-preferred area (PCPA), in concert with a quick memory reclaiming algorithm. The key of the proposed scheme is to enhance the memory utilization efficiency by enabling to allocate page-cached pages of all applications in the PCPA until predetermined applications require to allocate big chunks of contiguous memory. At this point, clean page-cached pages in the PCPA are rapidly evicted without write-back to a secondary storage. Compared to the SRA scheme, experimental results show that the average launch time of real-world applications and the execution time of I/O-intensive benchmarks are reduced by 9.2% and 24.7%, respectively.

References

  1. Nadav Amit, Muli Ben-Yehuda, Dan Tsafrir, and Assaf Schuster. 2011. vIOMMU: Efficient IOMMU emulation. In Proceedings of the Annual USENIX Technical Conference (USENIXATC'11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Nadav Amit, Muli Ben-Yehuda, and Ben-Ami Yassour. 2010. IOMMU: Strategies for mitigating the IOTLB bottleneck. In Proceedings of the International Conference on Computer Architecture (ISCA'10). 256--274. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Roberto Ammendola, Andrea Biagioni, Ottorino Frezza, Francesca Lo Cicero, Alessandro Lonardo, Pier Stanislao Paolucci, Davide Rossetti, Francesco Simula, Laura Tosoratto, and Piero Vicini. 2013. Virtual-to-physical address translation for an FPGA-based interconnect with host and GPU remote DMA capabilities. In Proceedings of the International Conference on Field-Programmable Technology (FPT'13). 58--65.Google ScholarGoogle ScholarCross RefCross Ref
  4. ARM Architecture. 2014. Cortex-A9 technical reference manual. http://infocenter.arm.com/help/topic/com.arm.doc.ddi0388i/DDI0388I_cortexa9_r4p1_trm.pdf.Google ScholarGoogle Scholar
  5. Emery D. Berger, Kathryn S. Mckinley, Robert D. Blumofe, and Paul R. Wilson. 2000. Hoard: A scalable memory allocator for multithreaded applications. In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'00). ACM Press, New York, 117--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. CMA. 2012. A deep dive into CMA. http://lwn.net/Articles/486301/.Google ScholarGoogle Scholar
  7. Jonathan Corbet. 2010. Memory compaction (2010). http://lwn.net/Articles/368869/.Google ScholarGoogle Scholar
  8. Google. 2014a. ActivityManager. http://developer.android.com/reference/android/app/ActivityManager.html.Google ScholarGoogle Scholar
  9. Google. 2014b. Android.os.Binder. http://developer.android.com/reference/android/os/Binder.html.Google ScholarGoogle Scholar
  10. Google. 2014c. Camera HAL overview. https://source.android.com/devices/camera/camera.html.Google ScholarGoogle Scholar
  11. Google. 2014d. Graphics. https://source.android.com/devices/graphics.html.Google ScholarGoogle Scholar
  12. Google. 2014e. Monkeyrunner. http://developer.android.com/tools/help/monkeyrunner concepts.html.Google ScholarGoogle Scholar
  13. Jean-Pierre Henot, M. Ropert, Julien Le Tanou, Jean K, and Thomas Guionnet. 2013. High efficiency video coding (HEVC): Replacing or complementing existing compression standards. In Proceedings of the IEEE International Symposium on Broadband Multimedia Systems and Broadcasting (BMSB'13).Google ScholarGoogle ScholarCross RefCross Ref
  14. Hiroshi Inoue, Hideaki Komatsu, and Toshio Nakatani. 2009. A study of memory management for Web-based applications on multicore processors. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'09). ACM Press, New York, 386--396. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. IOzone. 2006. IOzone filesystem benchmark. http://www.iozone.org/.Google ScholarGoogle Scholar
  16. Jinkyu Jeong, Hwanju Kim, Jaeho Hwang, Joonwon Lee, and Seungryoul Maeng. 2012. DaaC: Device-reserved memory as an eviction-based file cache. In Proceedings of the International Conference on Compilers, Architectures and Synthesis for Embedded Systems (CASES'12), Ahmed Jerraya, Luca P. Carloni, Vincent John Mooney III, and Rodric M. Rabbah, Eds. ACM Press, New York, 191--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jinkyu Jeong, Hwanju Kim, Jeaho Hwang, Joonwon Lee, and Seungryoul Maeng. 2013. Rigorous rental memory management for embedded systems. ACM Trans. Embedd. Comput. Syst. 12, 1. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mark S. Johnstone and Paul R. Wilson. 1998. The memory fragmentation problem: Solved? In Proceedings of the 1st International Symposium on Memory Management (ISMM'98). ACM Press, New York, 26--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Igor Kalkov, Dominik Franke, John F. Schommer, and Stefan Kowalewski. 2012. A real-time extension to the Android platform. In Proceedings of the 10th International Workshop on Java Technologies for Real-Time and Embedded Systems (JTRES'12). ACM Press, New York, 105--114. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Myung-Jin Lee, Joo-Yong Oh, and Soon-Ju Kang. 2011. Design of multimedia stream channel arbiter in home network gateway. IEEE Trans. Consumer Electron. 57, 4, 1661--1669.Google ScholarGoogle ScholarCross RefCross Ref
  21. Linaro. 2013. ION interface and memory allocator. https://wiki.linaro.org/BenjaminGaignard/ion.Google ScholarGoogle Scholar
  22. Robert Love. 2004. I/O scheduler. http://www.linuxjournal.com/article/6931.Google ScholarGoogle Scholar
  23. Robert Love. 2010. Linux Kernel Development, 3rd ed. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Lwnnet. 2012. The Android ION memory allocator. http://lwn.net/Articles/480055/.Google ScholarGoogle Scholar
  25. Miguel Masmano, Ismael Ripoll, Alfons Crespo, and Jorge Real. 2004. TLSF: A new dynamic memory allocator for real-time systems. In Proceedings of the 16th Euromicro Conference on Real-Time Systems (ECRTS'04). 79--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Rivalino Matias, Tais Ferreira, and Autran Macedo. 2011. An experimental study on user-level memory allocators in middleware applications. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics (SMC'11). 2431--2436.Google ScholarGoogle ScholarCross RefCross Ref
  27. M. Ramakrishna, Jisung Kim, Woohyong Lee, and Youngki Chung. 2008. Smart dynamic memory allocator for embedded systems. In Proceedings of the 23rd International Symposium on Computer and Information Sciences (ISCIS'08). 1--6.Google ScholarGoogle ScholarCross RefCross Ref
  28. SPEC CPU2006. 2014. SPEC's benchmarks and published results. http://www.spec.org/benchmarks/html.Google ScholarGoogle Scholar
  29. Sysbench. 2014. SysBench: A system performance benchmark. https://launchpad.net/sysbench.Google ScholarGoogle Scholar
  30. Sumesh Udayakumaran, Angel Dominguez, and Rajeev Barua. 2006. Dynamic allocation for scratch-pad memory using compile-time decisions. ACM Trans. Embedd. Comput. Syst. 5, 2, 472--511. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Guibin Wang and Wei Song. 2011. Communication-aware task partition and voltage scaling for energy minimization on heterogeneous parallel systems. In Proceedings of the 12th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT'11). 327--333. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Fengguang Wu, Hongsheng Xi, and Chenfeng Xu. 2008. On the design of a new Linux readahead frame-work. SIGOPS Oper. Syst. Rev. 42, 5, 75--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Chia-Hao Yu, Chung-Kai Liu, Chih-Heng Kang, Tsun-Hsien Wang, Chih-Chien Shen, and Shau-Yin Tseng. 2007. An efficient DMA controller for multimedia application in MPU based SOC. In Proceedings of the International Conference on Multimedia and Expo (ICME'07). 80--83.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Memory Management Scheme to Improve Utilization Efficiency and Provide Fast Contiguous Allocation without a Statically Reserved Area

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

  • Published in

    cover image ACM Transactions on Design Automation of Electronic Systems
    ACM Transactions on Design Automation of Electronic Systems  Volume 21, Issue 1
    November 2015
    464 pages
    ISSN:1084-4309
    EISSN:1557-7309
    DOI:10.1145/2852253
    • Editor:
    • Naehyuck Chang
    Issue’s Table of Contents

    Copyright © 2015 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 2 December 2015
    • Accepted: 1 May 2015
    • Revised: 1 April 2015
    • Received: 1 January 2015
    Published in todaes Volume 21, Issue 1

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader