skip to main content
research-article

Revisiting storage for smartphones

Published:06 December 2012Publication History
Skip Abstract Section

Abstract

Conventional wisdom holds that storage is not a big contributor to application performance on mobile devices. Flash storage (the type most commonly used today) draws little power, and its performance is thought to exceed that of the network subsystem. In this article, we present evidence that storage performance does indeed affect the performance of several common applications such as Web browsing, maps, application install, email, and Facebook. For several Android smartphones, we find that just by varying the underlying flash storage, performance over WiFi can typically vary between 100% and 300% across applications; in one extreme scenario, the variation jumped to over 2000%. With a faster network (set up over USB), the performance variation rose even further. We identify the reasons for the strong correlation between storage and application performance to be a combination of poor flash device performance, random I/O from application databases, and heavy-handed use of synchronous writes. Based on our findings, we implement and evaluate a set of pilot solutions to address the storage performance deficiencies in smartphones.

References

  1. Alphonso Labs. Pulse News Reader. https://market.android.com/details?id=com.alphonso.pulse&hl=en.Google ScholarGoogle Scholar
  2. Android Debug Bridge (ADB). 2011. Homepage. http://developer.android.com/guide/developing/tools/adb.html.Google ScholarGoogle Scholar
  3. Android Developer. 2011. Android Developers Website. http://developer.android.com/index.html.Google ScholarGoogle Scholar
  4. Android Open Source Project. 2011. HomePage http://source.android.com/index.html.Google ScholarGoogle Scholar
  5. Bickford, J., Lagar-Cavilla, H. A., Varshavsky, A., Ganapathy, V., and Iftode, L. 2011. Security versus energy tradeoffs in host-based mobile malware detection. In Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services (MobiSys'11). ACM, New Yorm. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Blktrace. 2006. Block I/O Layer Tracing: blktrace. http://linux.die.net/man/8/blktrace.Google ScholarGoogle Scholar
  7. Busybox. 2008. Busybox Unix utilities. http://www.busybox.net/about.html.Google ScholarGoogle Scholar
  8. Carbou, M. 2010. USB reverse tethering setup for Android 2.2. http://blog.mycila.com/2010/06/reverse-usb-tethering-with-android-22.html.Google ScholarGoogle Scholar
  9. Carroll, A. and Heiser, G. 2010. An analysis of power consumption in a smartphone. In Proceedings of the USENIX conference on USENIX Annual Technical Conference (USENIX ATC'10). Berkeley, CA, 21. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Castellucci, S. J. and MacKenzie, I. S. 2011. Gathering text entry metrics on android devices. In Proceedings of the Conference on Human Factors in Computing Systems (CHI'11). ACM, New York, 1507--1512. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chen, S., Gibbons, P. B., and Nath, S. 2011. Rethinking database algorithms for phase change memory. In Proceedings of the 5th Biennial Conference on Innovative Data Sysytems Research (CIDR'11), 21--31.Google ScholarGoogle Scholar
  12. Chun, B.-G., Ihm, S., Maniatis, P., Naik, M., and Patti, A. 2011. Clonecloud: elastic execution between mobile device and cloud. In Proceedings of the 6th Conference on Computer Systems (EuroSys '11). ACM, New York, 301--314. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Compete. 2011. Compete ranking of top 50 Web sites for february 2011 reveals familiar dip. http://tinyurl. com/3ubxzbl.Google ScholarGoogle Scholar
  14. Crystalmark. 2012. CrystalDiskMark Benchmark V3.0.1. http://crystalmark.info/software/CrystalDiskMark/index-e.html.Google ScholarGoogle Scholar
  15. Cuervo, E., Balasubramanian, A., Cho, D.-k., Wolman, A., Saroiu, S., Chandra, R., and Bahl, P. 2010. Maui: making smartphones last longer with code offload. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys '10). ACM, New York, 49--62. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. CyanogenMod. 2012. Homepage. http://wiki.cyanogenmod.com/index.php?title=What_is_CyanogenMod.Google ScholarGoogle Scholar
  17. Datalight. 2011. Datalight: software for risk-free mobile data. http://www.datalight.com/solutions/linux-flash-file-system/performance-hardware-managed-media.Google ScholarGoogle Scholar
  18. Datta, K. 2010. Clockworkmod rom manager and recovery image. http://www.koushikdutta.com/2010/02/clockwork-recovery-image.html.Google ScholarGoogle Scholar
  19. Dietz, M., Shekhar, S., Pisetsky, Y., Shu, A., and Wallach, D. S. 2011. Quire: lightweight provenance for smart phone operating systems. In Proceedings of the 20th USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Douglis, F., Cáceres, R., Kaashoek, M. F., Li, K., Marsh, B., and Tauber, J. A. 1994. Storage alternatives for mobile computers. In Proceedings of the 1st USENIX Conference on Operating Systems Design and Implementation (OSDI '94). 25--37. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Enck, W., Gilbert, P., Chun, B.-G., Cox, L. P., Jung, J., McDaniel, P., and Sheth, A. N. 2010. Taintdroid: an information-flow tracking system for realtime privacy monitoring on smartphones. In Proceedings of the 9th USENIX Conference on Operating Systems Design and Implementation (OSDI'10). USENIX, Berkeley, CA, 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Falaki, H., Mahajan, R., Kandula, S., Lymberopoulos, D., Govindan, R., and Estrin, D. 2010. Diversity in smartphone usage. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys '10). ACM, New York, 179--194. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Flinn, J. and Satyanarayanan, M. 1999. Energy-aware adaptation for mobile applications. In Proceedings of the 17th ACM Symposium on Operating Systems Principles (SOSP '99). ACM, New York, 48--63. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Flinn, J., Sinnamohideen, S., Tolia, N., and Satyanarayanan, M. 2003. Data staging on untrusted surrogates. In Proceedings of the 2nd USENIX Symposium on File and Storage Technologies (FAST '03). Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gartner. 2011. Gartner highlights key predictions for it organizations and users in 2010 and beyond. http://www.gartner.com/it/page.jsp?id=1278413.Google ScholarGoogle Scholar
  26. Geambasu, R., John, J. P., Gribble, S. D., Kohno, T., and Levy, H. M. 2011. Keypad: an auditing file system for theft-prone devices. In Proceedings of the 6th Conference on Computer Systems (EuroSys '11). ACM, New York, 1--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Gundotra, V. and Barra, H. 2011. Android: momentum, mobile and more at Google I/O. http://googleblog. blogspot.com/2011/05/android-momentum-mobile-and-more-at.html.Google ScholarGoogle Scholar
  28. Hackborn, D. 2010. Multitasking the Android way. http://android-developers.blogspot.com/2010/04/multitasking-android-way.html.Google ScholarGoogle Scholar
  29. Halperin, D., Kandula, S., Padhye, J., Bahl, P., and Wetherall, D. 2011. Augmenting data center networks with multi-gigabit wireless links. In Proceedings of the ACM SIGCOMM 2011 Conference (SIGCOMM '11). ACM, New York, 38--49. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Harter, T., Dragga, C., Vaughn, M., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2011. A file is not a file: understanding the I/O behavior of Apple desktop applications. In Proceedings of the 23rd ACM Symposium on Operating Systems Principles (SOSP'11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. HTC. 2011a. HTC Desire. http://www.htc.com/www/product/desire/specification.html.Google ScholarGoogle Scholar
  32. HTC. 2011b. HTC EVO 4G. http://www.htc.com/us/products/evo-sprint#tech-specs.Google ScholarGoogle Scholar
  33. Huai, Y. 2008. Spin-transfer torque MRAM (STT-MRAM): challenges and prospects. AAPPS Bull. 18, 6 (Dec.), 33--40.Google ScholarGoogle Scholar
  34. Huang, J., Xu, Q., Tiwana, B., Mao, Z. M., Zhang, M., and Bahl, P. 2010. Anatomizing application performance differences on smartphones. In Proceedings of the 8th International Conference on Mobile Systems, Applications, and Services (MobiSys'10). ACM, New York, 165--178. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. IEEE WG802.11. IEEE STANDARD 802.11n-2009 Wireless LAN Working Group. http://standards.ieee.org/findstds/standard/802.11n-2009.html.Google ScholarGoogle Scholar
  36. ITRS. 2009. ITRS 2009 Edition. Tech. rep., International Technology Roadmap for Semiconductors.Google ScholarGoogle Scholar
  37. Joo, Y., Ryu, J., Park, S., and Shin, K. G. 2011. Fast: quick application launch on solid-state drives. In Proceedings of the 9th USENIX Conference on File and Storage Technologies (FAST'11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Kim, H., Agrawal, N., and Ungureanu, C. 2012. Revisiting storage for smartphones. In Proceedings of the 10th USENIX Conference on File and Storage Technologies (FAST'12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Kim, J., Kim, J. M., Noh, S., Min, S. L., and Cho, Y. 2002. A space-efficient flash translation layer for CompactFlash systems. IEEE Trans. Consum. Electron. 48, 2, 366--375. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Kistler, J. and Satyanarayanan, M. 1992. Disconnected operation in the Coda file system. ACM Trans. Comput. Syst. 10, 1, 3--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Konishi, R., Amagai, Y., Sato, K., Hifumi, H., Kihara, S., and Moriai, S. 2006. The Linux implementation of a log-structured file system. SIGOPS Oper. Syst. Rev. 40, 3, 102--107. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. Koukoumidis, E., Lymberopoulos, D., Strauss, K., Liu, J., and Burger, D. 2011. Pocket cloudlets. In Proceedings of the 16th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS'11). ACM, New York, 171--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. LG. 2011. LG G2X datasheet. http://www.lg.com/us/products/documents/LG-G2x-Datasheet.pdf.Google ScholarGoogle Scholar
  44. Manning, C. 2004. YAFFS: Yet another flash file system. http://www.aleph1.co.uk/yaffs.Google ScholarGoogle Scholar
  45. Meroni, P., Pagani, E., Rossi, G. P., and Valerio, L. 2010. An opportunistic platform for android-based mobile devices. In Proceedings of the 2nd International Workshop on Mobile Opportunistic Networking (MobiOpp'10). ACM, New York, 191--193. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. MonkeyRunner. 2012. MonkeyRunner for Android developers. http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html.Google ScholarGoogle Scholar
  47. Motorola. 2011. Motorola Webtop: release your smartphone's true potential. http://www.motorola. com/Consumers/US-EN/Consumer-Product-and-Services/WEBTOP/Meet-WEBTOP.Google ScholarGoogle Scholar
  48. Nexus One. 2011. Google Nexus One. http://en.wikipedia.org/wiki/Nexus_One.Google ScholarGoogle Scholar
  49. Noble, B. D., Satyanarayanan, M., Narayanan, D., Tilton, J. E., Flinn, J., and Walker, K. R. 1997. Agile application-aware adaptation for mobility. In Proceedings of the 16th ACM Symposium on Operating Systems Principles (SOSP'97). ACM, New York, 276--287. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Pentin. 2010. Gartner's mobile predictions. http://ifonlyblog.wordpress.com/2010/01/14/gartners-mobile-predictions/.Google ScholarGoogle Scholar
  51. RedLicense Labs. 2012. RL benchmark: SQLite. https://market.android.com/details?id=com.redlicense. benchmark.sqlite.Google ScholarGoogle Scholar
  52. Rosenblum, M. and Ousterhout, J. 1992. The design and implementation of a log-structured file system. ACM Trans. Comput. Syst. 10, 1 (Feb.), 26--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Roy, A., Rumble, S. M., Stutsman, R., Levis, P., Mazières, D., and Zeldovich, N. 2011. Energy management in mobile devices with the cinder operating system. In Proceedings of the 6th Conference on Computer Systems (EuroSys '11). ACM, New York, 139--152. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. Samsung Corp. 2011. Samsung ships industrys first multi-chip package with a PRAM chip for handsets. http://tinyurl.com/4y9bsds.Google ScholarGoogle Scholar
  55. Satyanarayanan, M. 2010. Mobile computing: the next decade. In Proceedings of the 1st ACM Workshop on Mobile Cloud Computing and Services: Social Networks and Beyond (MCS '10). ACM, New York, 5:1--5:6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Satyanarayanan, M., Bahl, P., Caceres, R., and Davies, N. 2009. The case for VM based cloudlets in mobile computing. IEEE Pervasive Comput. 8, 14--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Schlosser, S. W. and Ganger, G. R. 2004. MEMS-based storage devices and standard disk interfaces: a square peg in a round hole? In Proceedings of the 3rd USENIX Symposium on File and Storage Technologies (FAST '04). 87--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. SD Association. 2012. SD speed class/UHS speed class. https://www.sdcard.org/consumers/speed_class/.Google ScholarGoogle Scholar
  59. Sivathanu, M., Prabhakaran, V., Popovici, F. I., Denehy, T. E., Arpaci-Dusseau, A. C., and Arpaci-Dusseau, R. H. 2003. Semantically-smart disk systems. In Proceedings of the 2nd USENIX Symposium on File and Storage Technologies (FAST '03). 73--88. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. SourceForge. 2012. Iperf. iperf network performance tool. http://sourceforge.net/projects/iperf.Google ScholarGoogle Scholar
  61. SQLite. 2012. Using databases. http://developer.android.com/guide/topics/data/data-storage.html#db.Google ScholarGoogle Scholar
  62. SQLite. 2011. SQLite backend with write-ahead logging. http://www.sqlite.org/draft/releaselog/3_7_0.html.Google ScholarGoogle Scholar
  63. Starburst. 2012. Starburst data2sd. http://starburst.droidzone.in/.Google ScholarGoogle Scholar
  64. Tolia, N., Harkes, J., Kozuch, M., and Satyanarayanan, M. 2004. Integrating portable and distributed storage. In Proceedings of the 3rd USENIX Symposium on File and Storage Technologies (FAST '04). 227--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Tso, T. 2010. Android will be using ext4 starting with Gingerbread. http://www.linuxfoundation.org/news-media/blogs/browse/2010/12/android-will-be-using-ext4-starting-gingerbread.Google ScholarGoogle Scholar
  66. Unrevoked. 2012. Unrevoked 3: Set your phone free. http://unrevoked.com/recovery/.Google ScholarGoogle Scholar
  67. Veeraraghavan, K., Flinn, J., Nightingale, E. B., and Noble, B. 2010. quFiles the right file at the right time. In Proceedings of the 8th USENIX Conference on File and Storage Technologies (FAST'10). USENIX Association, Berkeley, CA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  68. Wang, Z., Lin, F. X., and Zhong, L. 2011. Why are Web browsers slow on smartphones? In Proceedings of the ACM International Workshop on Mobile Computing Systems and Applications (HotMobile '11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. WebKit. 2012. Android WebKit package. http://developer.android.com/reference/android/webkit/package-summary.html.Google ScholarGoogle Scholar

Index Terms

  1. Revisiting storage for smartphones

            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 Storage
              ACM Transactions on Storage  Volume 8, Issue 4
              November 2012
              82 pages
              ISSN:1553-3077
              EISSN:1553-3093
              DOI:10.1145/2385603
              Issue’s Table of Contents

              Copyright © 2012 ACM

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 6 December 2012
              • Received: 1 April 2012
              • Accepted: 1 April 2012
              Published in tos Volume 8, Issue 4

              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!