Rigorous rental memory management for embedded systems

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.

[1]  MaengSeungryoul,et al.  Rigorous rental memory management for embedded systems , 2013 .

[2]  A. O. Fernandes,et al.  Hardware-software codesign of embedded systems , 1998, Proceedings. XI Brazilian Symposium on Integrated Circuit Design (Cat. No.98EX216).

[3]  Muli Ben-Yehuda,et al.  On the DMA mapping problem in direct device assignment , 2010, SYSTOR '10.

[4]  Yan Zhang,et al.  Empirical evaluation of multi-level buffer cache collaboration for storage systems , 2005, SIGMETRICS '05.

[5]  Deborah Estrin,et al.  Diversity in smartphone usage , 2010, MobiSys '10.

[6]  Luciano Lavagno,et al.  Hardware-software codesign of embedded systems , 1994, IEEE Micro.

[7]  Jie Liu,et al.  Pocket cloudlets , 2011, ASPLOS XVI.

[8]  A. Simpson,et al.  A high definition H.264/AVC hardware video decoder core for multimedia SoC's , 2004, IEEE International Symposium on Consumer Electronics, 2004.

[9]  Robert Love,et al.  Linux Kernel Development , 2003 .

[10]  Chanik Park,et al.  Energy-aware demand paging on NAND flash-based embedded storages , 2004, Proceedings of the 2004 International Symposium on Low Power Electronics and Design (IEEE Cat. No.04TH8758).

[11]  Zhao Yu,et al.  SR-IOV Networking in Xen: Architecture, Design and Implementation , 2008, Workshop on I/O Virtualization.

[12]  Joonwon Lee,et al.  PABC: Power-Aware Buffer Cache Management for Low Power Consumption , 2007, IEEE Transactions on Computers.

[13]  Gil Neiger,et al.  Intel ® Virtualization Technology for Directed I/O , 2006 .

[14]  Dave Hansen,et al.  Hotplug Memory and the Linux VM , 2004 .

[15]  Trevor Mudge,et al.  MiBench: A free, commercially representative embedded benchmark suite , 2001 .

[16]  Alan L. Cox,et al.  Protection Strategies for Direct Access to Virtualized I/O Devices , 2008, USENIX Annual Technical Conference.

[17]  Michael M. Swift,et al.  FlashVM: Virtual Memory Management on Flash , 2010, USENIX Annual Technical Conference.

[18]  Xiaoning Ding,et al.  SRM-buffer: an OS buffer management technique to prevent last level cache from thrashing in multicores , 2011, EuroSys '11.

[19]  Seon-Yeong Park,et al.  FASS : A Flash-Aware Swap System , 2005 .

[20]  Liang-Gee Chen,et al.  Advances in Hardware Architectures for Image and Video Coding - A Survey , 2005, Proc. IEEE.

[21]  Hiroyuki Kamezawa,et al.  Hotplug Memory Redux , 2005 .