@inproceedings{koukoumidis2011pocket, author = {Koukoumidis, Emmanouil and Lymberopoulos, Dimitrios and Strauss, Karin and Liu, Jie and Burger, Doug}, title = {Pocket Cloudlets}, booktitle = {ASPLOS 2011 (International Conference on Architectural Support for Programming Languages and Operating Systems}, year = {2011}, month = {March}, abstract = {Cloud services accessed through mobile devices suffer from high network access latencies and are constrained by energy budgets dictated by the devices’ batteries. Radio and battery technologies will improve over time, but are still expected to be the bottlenecks in future systems. Non-volatile memories (NVM), however, may continue experiencing significant and steady improvements in density for at least ten more years. In this paper, we propose to leverage the abundance in memory capacity of mobile devices to mitigate l;'atency and energy issues when accessing cloud services. We first analyze NVM technology scaling trends, and then propose a cloud service cache architecture that resides on the mobile device’s NVM (pocket cloudlet). This architecture utilizes both individual user and community access models to maximize its hit rate, and subsequently reduce overall service latency and energy consumption. As a showcase we present the design, implementation and evaluation of PocketSearch, a search and advertisement pocket cloudlet. We perform mobile search characterization to guide the design of PocketSearch and evaluate it with 200 million mobile queries from the search logs of m.bing.com. We show that PocketSearch can serve, on average, 66% of the web search queries submitted by an individual user without having to use the slow 3G link, leading to 16x service access speedup. Finally, based on experience with PocketSearch we provide additional insight and guidelines on how future pocket cloudlets should be organized, from both an architectural and an operating system perspective.}, publisher = {ACM}, url = {http://approjects.co.za/?big=en-us/research/publication/pocket-cloudlets/}, edition = {ASPLOS 2011 (International Conference on Architectural Support for Programming Languages and Operating Systems}, }