Abstract
Memory reservation in embedded systems is a prevalent approach to provide a physically contiguous memory region to its integrated devices, such as a camera device and a video decoder. Inefficiency of the memory reservation becomes a more significant problem in emerging embedded systems, such as smartphones and smart TVs. Many ways of using these systems increase the idle time of their integrated devices, and eventually decrease the utilization of their reserved memory.
In this article, we propose a scheme to minimize the memory inefficiency caused by the memory reservation. The memory space reserved for a device can be rented for other purposes when the device is not active. For this scheme to be viable, latencies associated with reallocating the memory space should be minimal. Volatile pages are good candidates for such page reallocation since they can be reclaimed immediately as they are needed by the original device. We also provide two optimization techniques, lazy-migration and adaptive-activation. The former increases the lowered utilization of the rental memory by our volatile page allocations, and the latter saves active pages in the rental memory during the reallocation.
We implemented our scheme on a smartphone development board with the Android Linux kernel. Our prototype has shown that the time for the return operation is less than 0.77 seconds in the tested cases. We believe that this time is acceptable to end-users in terms of transparency since the time can be hidden in application initialization time. The rental memory also brings throughput increases ranging from 2% to 200% based on the available memory and the applications' memory intensiveness.
- Abramson, D., Jackson, J., Muthrasanallur, S., Neiger, G., Regnier, G., Sankaran, R., Schoinas, I., Uhlig, R., Vembu, B., and J. W. 2006. Intel virtualization technology for directed I/O. Intel Technol. J. 10, 3.Google Scholar
Cross Ref
- AMD. 2011. IOMMU architectural specification. http://support.amd.com/us/Processor_TechDocs/48882. pdf.Google Scholar
- Ben-Yehuda, M., Xenidis, J., Ostrowski, M., Rister, K., Bruemmer, A., and Van Doorn, L. 2007. The price of safety: Evaluating IOMMU performance. In Proceedings of OLS'07. 71--86.Google Scholar
- Chen, Z., Zhang, Y., Zhou, Y., Scott, H., and Schiefer, B. 2005. Empirical evaluation of multi-level buffer cache collaboration for storage systems. In Proceedings of SIGMETRICS'05. 145--156. Google Scholar
Digital Library
- Chiodo, M., Giusto, P., Jurecska, A., Hsieh, H., Sangiovanni-Vincentelli, A., and Lavagno, L. 1994. Hardware-software codesign of embedded systems. IEEE Micro 14, 4, 26--36. Google Scholar
Digital Library
- Corbet, J. 2010. Contiguous memory allocation for drivers. http://lwn.net/Articles/396702/.Google Scholar
- Corbet, J. 2011. A reworked contiguous memory allocator. http://lwn.net/Articles/446836/.Google Scholar
- Ding, X., Wang, K., and Zhang, X. 2011. SRM-buffer: an os buffer management technique to prevent last level cache from thrashing in multicores. In Proceedings of EuroSys'11. 243--256. Google Scholar
Digital Library
- Dong, Y., Yu, Z., and Rose, G. 2008. SR-IOV networking in Xen: architecture, design and implementation. In Proceedings of WIOV'08. USENIX Association, Berkeley, CA, 10--10. Google Scholar
Digital Library
- Falaki, H., Mahajan, R., Kandula, S., Lymberopoulos, D., Govindan, R., and Estrin, D. 2010. Diversity in smartphone usage. In Proceedings of MobiSys'10. 179--194. Google Scholar
Digital Library
- Guthaus, M., Ringenberg, J., Ernst, D., Austin, T., Mudge, T., and Brown, R. 2001. Mibench: A free, commercially representative embedded benchmark suite. In Proceedings of WWC'01. 3--14. Google Scholar
Digital Library
- Hansen, D., Kravetz, M., and Christiansen, B. 2004. Hotplug memory and the Linux VM. In Proceedings of OLS'04.Google Scholar
- Hu, Y., Simpson, A., McAdoo, K., and Cush, J. 2004. A high definition H.264/AVC hardware video decoder core for multimedia soc's. In Proceedings of ISCE'04. 385--389. Google Scholar
Cross Ref
- Intel. 2005. Intel dynamic video memory technology (DVMT) 3.0. http://download.intel.com/design/chipsets/applnots/30262305.pdf.Google Scholar
- Kopytov, A. 2004. Sysbench: A system performance benchmark. http://sysbench.sourceforge.net/.Google Scholar
- Koukoumidis, E., Lymberopoulos, D., Strauss, K., Liu, J., and Burger, D. 2011. Pocket cloudlets. In Proceedings of ASPLOS'11. 171--184. Google Scholar
Digital Library
- Lee, M., Seo, E., Lee, J., and soo Kim, J. 2007. PABC: Power-aware buffer cache management for low power consumption. IEEE Trans. Comput. 56, 488--501. Google Scholar
Digital Library
- Love, R. 2010. Linux Kernel Development 3rd Ed. Addison Wesley. Google Scholar
Digital Library
- Morrill, D. 2008. Inside the Android application framework. Google I/O.Google Scholar
- Nazarewicz, M. 2010. Contiguous memory allocator version 6. http://lwn.net/Articles/419639/.Google Scholar
- Schopp, J. H., Hansen, D., Kravetz, M., Takahashi, H., Toshihiro, I., Goto, Y., Hiroyuki, K., Tolentino, M., and Picco, B. 2005. Hotplug memory redux. In Proceedings of OLS'05.Google Scholar
- Tseng, P., Chang, Y., Huang, Y., Fang, H., Huang, C., and Chen, L. 2005. Advances in hardware architectures for image and video coding - a survey. Proc. IEEE 93, 1, 184--197. Google Scholar
Cross Ref
- Willmann, P., Rixner, S., and Cox, A. L. 2008. Protection strategies for direct access to virtualized I/O devices. In Proceedings of USENIX ATC'08. 15--28. Google Scholar
Digital Library
- Yassour, B.-A., Ben-Yehuda, M., and Wasserman, O. 2010. On the DMA mapping problem in direct device assignment. In Proceedings of SYSTOR'10. 18:1--18:12. Google Scholar
Digital Library
Index Terms
Rigorous rental memory management for embedded systems
Recommendations
Enabling Hybrid PCM Memory System with Inherent Memory Management
RACS '16: Proceedings of the International Conference on Research in Adaptive and Convergent SystemsReplacing the traditional volatile main memory, e.g., DRAM, with a non-volatile phase change memory (PCM) has become a possible solution to reduce the energy consumption of computing systems. To further reduce the bit cost of PCM, the development trend ...
Write-aware memory management for hybrid SLC-MLC PCM memory systems
In recent years, phase-change memory (PCM) has generated a great deal of interest because of its byte addressability and non-volatility properties. It is regarded as a good alternative storage medium that can reduce the performance gap between the main ...
DaaC: device-reserved memory as an eviction-based file cache
CASES '12: Proceedings of the 2012 international conference on Compilers, architectures and synthesis for embedded systemsMost embedded systems require contiguous memory space to be reserved for each device, which may lead to memory under-utilization. Although several approaches have been proposed to address this issue, they have limitations of either inefficient memory ...






Comments