skip to main content
research-article

Rigorous rental memory management for embedded systems

Published:21 March 2013Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. AMD. 2011. IOMMU architectural specification. http://support.amd.com/us/Processor_TechDocs/48882. pdf.Google ScholarGoogle Scholar
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. Corbet, J. 2010. Contiguous memory allocation for drivers. http://lwn.net/Articles/396702/.Google ScholarGoogle Scholar
  7. Corbet, J. 2011. A reworked contiguous memory allocator. http://lwn.net/Articles/446836/.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hansen, D., Kravetz, M., and Christiansen, B. 2004. Hotplug memory and the Linux VM. In Proceedings of OLS'04.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarCross RefCross Ref
  14. Intel. 2005. Intel dynamic video memory technology (DVMT) 3.0. http://download.intel.com/design/chipsets/applnots/30262305.pdf.Google ScholarGoogle Scholar
  15. Kopytov, A. 2004. Sysbench: A system performance benchmark. http://sysbench.sourceforge.net/.Google ScholarGoogle Scholar
  16. Koukoumidis, E., Lymberopoulos, D., Strauss, K., Liu, J., and Burger, D. 2011. Pocket cloudlets. In Proceedings of ASPLOS'11. 171--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Love, R. 2010. Linux Kernel Development 3rd Ed. Addison Wesley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Morrill, D. 2008. Inside the Android application framework. Google I/O.Google ScholarGoogle Scholar
  20. Nazarewicz, M. 2010. Contiguous memory allocator version 6. http://lwn.net/Articles/419639/.Google ScholarGoogle Scholar
  21. 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 ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarCross RefCross Ref
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Rigorous rental memory management for embedded systems

        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 Embedded Computing Systems
          ACM Transactions on Embedded Computing Systems  Volume 12, Issue 1s
          Special section on ESTIMedia'12, LCTES'11, rigorous embedded systems design, and multiprocessor system-on-chip for cyber-physical systems
          March 2013
          701 pages
          ISSN:1539-9087
          EISSN:1558-3465
          DOI:10.1145/2435227
          Issue’s Table of Contents

          Copyright © 2013 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 21 March 2013
          • Accepted: 1 March 2012
          • Revised: 1 January 2012
          • Received: 1 June 2011
          Published in tecs Volume 12, Issue 1s

          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
        About Cookies On This Site

        We use cookies to ensure that we give you the best experience on our website.

        Learn more

        Got it!