Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

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

Published: 02 December 2015 Publication History

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).
[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.
[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.
[4]
ARM Architecture. 2014. Cortex-A9 technical reference manual. http://infocenter.arm.com/help/topic/com.arm.doc.ddi0388i/DDI0388I_cortexa9_r4p1_trm.pdf.
[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.
[6]
CMA. 2012. A deep dive into CMA. http://lwn.net/Articles/486301/.
[7]
Jonathan Corbet. 2010. Memory compaction (2010). http://lwn.net/Articles/368869/.
[8]
Google. 2014a. ActivityManager. http://developer.android.com/reference/android/app/ActivityManager.html.
[9]
Google. 2014b. Android.os.Binder. http://developer.android.com/reference/android/os/Binder.html.
[10]
Google. 2014c. Camera HAL overview. https://source.android.com/devices/camera/camera.html.
[11]
Google. 2014d. Graphics. https://source.android.com/devices/graphics.html.
[12]
Google. 2014e. Monkeyrunner. http://developer.android.com/tools/help/monkeyrunner concepts.html.
[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).
[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.
[15]
IOzone. 2006. IOzone filesystem benchmark. http://www.iozone.org/.
[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.
[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.
[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.
[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.
[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.
[21]
Linaro. 2013. ION interface and memory allocator. https://wiki.linaro.org/BenjaminGaignard/ion.
[22]
Robert Love. 2004. I/O scheduler. http://www.linuxjournal.com/article/6931.
[23]
Robert Love. 2010. Linux Kernel Development, 3rd ed. Addison Wesley.
[24]
Lwnnet. 2012. The Android ION memory allocator. http://lwn.net/Articles/480055/.
[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.
[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.
[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.
[28]
SPEC CPU2006. 2014. SPEC's benchmarks and published results. http://www.spec.org/benchmarks/html.
[29]
Sysbench. 2014. SysBench: A system performance benchmark. https://launchpad.net/sysbench.
[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.
[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.
[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.
[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.

Cited By

View all
  • (2016)Improving Dynamic Memory Allocation on Many-Core Embedded Systems With Distributed Shared MemoryIEEE Embedded Systems Letters10.1109/LES.2016.25963188:3(57-60)Online publication date: 26-Aug-2016

Index Terms

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

Recommendations

Comments

Information & Contributors

Information

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
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

Journal Family

Publication History

Published: 02 December 2015
Accepted: 01 May 2015
Revised: 01 April 2015
Received: 01 January 2015
Published in TODAES Volume 21, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Memory fragmentation
  2. memory management
  3. page cache

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)4
Reflects downloads up to 24 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Improving Dynamic Memory Allocation on Many-Core Embedded Systems With Distributed Shared MemoryIEEE Embedded Systems Letters10.1109/LES.2016.25963188:3(57-60)Online publication date: 26-Aug-2016

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media