Transparently Exploiting Device-Reserved Memory for Application Performance in Mobile Systems

Most embedded systems require contiguous memory space to be reserved for devices, which may lead to memory under-utilization. Although several approaches have been proposed to address this issue, they have limitations of either inefficient memory usage or long latency for switching the reserved memory space between a device and general-purpose uses. Our scheme, on the other hand, utilizes reserved memory as an eviction-based file cache. It guarantees contiguous memory allocation to devices while providing idle device memory as an additional file cache called eCache for general-purpose usage. Because eCache stores only evicted data from the in-kernel page cache, the memory efficiency is preserved and the allocation time for devices is minimized. Cost-based region selection also minimizes additional read I/O operations by carefully discarding cached data from eCache. The additional indexing cost incurred by adding eCache is minimized by integrating its index structure with the kernel page cache. The prototype is implemented on the Nexus S smartphone and is evaluated using popular Android applications. The evaluation results show that our scheme outperforms previous approaches in terms of the application launch performance. The device memory reallocation time is also limited to a few milliseconds, which is sufficiently small to make our scheme transparent.

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

[2]  Byung-Gon Chun,et al.  TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones , 2010, OSDI.

[3]  Ronald G. Dreslinski,et al.  Full-system analysis and characterization of interactive smartphone applications , 2011, 2011 IEEE International Symposium on Workload Characterization (IISWC).

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

[5]  Yuanyuan Zhou,et al.  Eviction-based Cache Placement for Storage Caches , 2003, USENIX Annual Technical Conference, General Track.

[6]  David A. Padua,et al.  Calculating stack distances efficiently , 2002, MSP/ISMM.

[7]  Ahmad Rahmati,et al.  Studying Smartphone Usage: Lessons from a Four-Month Field Study , 2013, IEEE Transactions on Mobile Computing.

[8]  Irving L. Traiger,et al.  Evaluation Techniques for Storage Hierarchies , 1970, IBM Syst. J..

[9]  Chris Mason,et al.  Transcendent Memory and Linux , 2006 .

[10]  Hwanju Kim,et al.  DaaC: device-reserved memory as an eviction-based file cache , 2012, CASES '12.

[11]  C. Cascaval,et al.  Calculating stack distances efficiently , 2003, MSP '02.

[12]  Mahadev Satyanarayanan,et al.  Quantifying interactive user experience on thin clients , 2006, Computer.

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

[14]  Hwanju Kim,et al.  Rigorous rental memory management for embedded systems , 2013, TECS.

[15]  Muli Ben-Yehuda,et al.  IOMMU: strategies for mitigating the IOTLB bottleneck , 2010, ISCA'10.

[16]  Clayton Shepard,et al.  LiveLab: measuring wireless networks and smartphone users in the field , 2011, SIGMETRICS Perform. Evaluation Rev..