
Revisiting Storage for Smartphones Hyojun Kim ,∗ Nitin Agrawal, Cristian Ungureanu NEC Laboratories America [email protected], [email protected], [email protected] Abstract Conventional wisdom holds that storage is not a big con- 4096 802.11ad tributor to application performance on mobile devices. 512 Flash storage (the type most commonly used today) draws 802.11ac little power, and its performance is thought to exceed that 64 802.11n 3.5-4G of the network subsystem. In this paper we present ev- 8 802.11a/g idence that storage performance does indeed affect the 802.11b performance of several common applications such as web 1 browsing, Maps, application install, email, and Facebook. Lucent 2.75-3G Peak throughput (MB/s) 0.125 WaveLan Local-Area For several Android smartphones, we find that just by Wide-Area 2.5G varying the underlying flash storage, performance over 2G WiFi can typically vary between 100% to 300% across ap- 1980 1990 2000 2010 2020 plications; in one extreme scenario the variation jumped Peak throughput of wireless networks. Trends to over 2000%. We identify the reasons for the strong cor- Figure 1: relation between storage and application performance to for local and wide-area wireless networks over past three be a combination of poor flash device performance, ran- decades; y-axis is log base 2. dom I/O from application databases, and heavy-handed use of synchronous writes; based on our findings we im- Storage has traditionally not been viewed as a criti- plement and evaluate a set of pilot solutions to address cal component of phones, tablets, and PDAs – at least the storage performance deficiencies in smartphones. in terms of the expected performance. Despite the impe- tus to provide faster mobile access to content locally [40] 1 Introduction and through cloud services [61], performance of the un- derlying storage subsystem on mobile devices is not well Mobile phones, tablets, and ultra-portable laptops are no understood. Our work started with a simple motivating longer viewed as the wimpy siblings of the personal com- question: does storage affect the performance of popular puter; for many users they have become the dominant mobile applications? Conventional wisdom suggests the computing device for a wide variety of applications. Ac- answer to be no, as long as storage performance exceeds cording to a recent Gartner report, within the next three that of the network subsystem. We find evidence to the years, mobile devices will surpass the PC as the most contrary – even interactive applications like web brows- common web access device worldwide [38]. By 2013, ing slow down with slower storage. over 40% of the enhanced phone installed-base will be Storage performance on mobile devices is important equipped with advanced browsers [57]. for end-user experience today, and its impact is expected Research pertaining to mobile devices can be broadly to grow due to several reasons. First, emerging wireless split into applications and services, device architecture, technologies such as 802.11n (600 Mbps peak through- and operating systems. From a systems perspective, re- put) [68] and 802.11ad (or “60 GHz”, 7 Gbps peak search has tackled many important aspects: understanding throughput)offer the potential for significantly higher net- and improving energy management [36, 59, 26], network work throughputto mobile devices [41]. Figure 1 presents middleware [53], application execution models [30, 29], the trends for network performance over the last sev- security and privacy [25, 32, 34, 39], and usability [27]. eral decades; local-area networks are not necessarily the Prior research has also addressed several important issues de-facto bottleneck on modern mobile devices. Second, centered around mobile functionality [55, 65], data man- while network throughput is increasing phenomenally, la- agement [66], and disconnected access [49, 37]. However, tency is not [62]. As a result, access to several cloud one important component is conspicuously missing from services benefits from a split of functionality between the the mobile research landscape – storage performance. cloud and the device [29], placing a greater burden on lo- ∗Work done as an intern, now at Georgia Institute of Technology cal resources including storage [51]. Third, mobile de- 1 vices are increasingly being used as the primary comput- performance of web browsing over WiFi varied by 187% ing device, running more performanceintensive tasks than and over a faster network (setup over USB) by 220%. In previously imagined. Smartphone usage is on the rise; the case of a particularly poor flash device, the variation smartphones and tablet computers are becoming a popular exceeded 2000% for WiFi and 2450% for USB. replacement for laptops [23]. In developing economies, a Speed class considered irrelevant: our benchmarking mobile/enhanced phone is often the only computing de- reveals that the “speed class” marking on SD cards is vice available to a user for a variety of needs. not necessarily indicative of application performance; In this paper, we present a detailed analysis of the I/O although the class rating is meant for sequential perfor- behavior of mobile applications on Android-based smart- mance, we find several cases in which higher-grade SD phones and flash storage drives. We particularly focus on cards performed worse than lower-grade ones overall. popular applications used by the majority of mobile users, Slower storage consumes more CPU: we observe such as, web browsing, app install, Google Maps, Face- higher total CPU consumption for the same application book, and email. Not only are these activities available when using slower cards; the reason can be attributed to on almost all smartphones, but they are done frequently deficiencies in either the network subsystem, the storage enough that performance problems with them negatively subsystem, or both. Unless resolved, lower performing impacts user experience. Further, we provide pilot solu- storage not only makes the application run slower, it also tions to overcome existing limitations. increases the energy consumption of the device. To perform our analysis, we build a measurement in- Application knowledge ensues efficient solutions: frastructure for Android consisting of generic firmware leveraging a small amount of domain or application changes and a custom Linux kernel modified to provide knowledge provides efficiency, such as in the case of our resource usage information. We also develop novel tech- pilot solutions; hardware and software solutions can both niques to enable detailed, automated, and repeatable mea- benefit from a better understanding of how applications surements on the internal and external smartphone flash are using the underlying storage. storage, and with different network configurations that are otherwise not possible with the stock setup; for automated The contributions of this paper are threefold. First, we testing with GUI-based applications, we develop a bench- describe our measurement infrastructure that enables cus- mark harness using MonkeyRunner [16]. tom setup of the firmware and software stack on Android- In our initial efforts, we proposeand developa set of pi- devices to perform in-depth I/O analysis; along with the lot solutions that improve the performance of the storage systems software, we contribute a set of benchmarks that subsystem and consequently mobile applications. Within automate several popular GUI-based applications. Sec- the context of our Android environment, we investigate ond, we present a detailed analysis of storage performance the benefits of employing a small amount of phase-change on real Android smartphones and flash devices; to the memory to store performance critical data, a RAID driver best of our knowledge, no such study currently exists in encompassing the internal flash and external SD card, us- the research literature. We find a strong correlation be- ing a log-structured file system for storing the SQLite tween storage and performance of common applications databases, and changes to the SQLite fsync codepath. and contribute all our research findings. Third, we pro- We find that changes to the storage subsystem can sig- pose and evaluate pilot solutions to address the perfor- nificantly improve user experience; our pilot solutions mance issues on mobile devices. demonstrate possible benefits and serve as references for deployable solutions in the future. Based on our experimental findings and observations As the popularity of Android-based devices surges, the we believe improvements in the mobile storage stack can setup we have examined reflects an increasingly relevant be made along multiple dimensions to keep up with the software and hardware stack used by hundreds of millions increasing demands placed on mobile devices. Storage of users worldwide; understanding and improving the device improvements alone can account for significant experience of mobile users is thus a relevant research improvements to application performance. Device man- thrust for the storage community. Through our analysis ufacturers are actively looking to bring faster devices to and design we make several observations: the mobile market; Samsung announced the launch of a PCM-based multi-chip package for mobile handsets [60]. Storage affects application performance: often in Mobile I/O and memory bus technology needs to evolve unanticipated ways, storage affects performance of as well to sustain higher throughput to the devices. Limi- applications that are traditionally thought
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages14 Page
-
File Size-