Abstract
Smartphones are getting increasingly high-performance with advances in mobile processors and larger main memories to support feature-rich applications. However, the storage subsystem has always been a prohibitive factor that slows down the pace of reaching even higher performance while maintaining good user experience. Despite today's smart-phones are equipped with larger-than-ever main memories, they consume more energy and still run out of memory. But the slow NAND flash based storage vetoes the possibility of swapping - an important technique to extend main memory - and leaves a system that constantly terminates user applications under memory pressure. In this paper, we revisit swapping for smartphones with fast, byte-addressable, non-volatile memory (NVM) technologies. Instead of using flash, we build the swap area with NVM, to allow high performance without sacrificing user experience. Based on NVM's high performance and byte-addressability, we show that a copy-on-write swap-in scheme can achieve even better performance by avoiding unnecessary memory copy operations. To avoid fast worn-out of certain NVMs, we also propose Heap-Wear, a wear leveling algorithm that more evenly distributes writes in NVM. Evaluation results based on the Google Nexus 5 smartphone show that our solution can effectively enhance smartphone performance and give better wear-leveling of NVM.
Original language | English |
---|---|
Title of host publication | 2014 Proceedings of the International Conference on Embedded Software, EMSOFT 2014 |
Publisher | Association for Computing Machinery, Inc |
ISBN (Electronic) | 9781450330527 |
DOIs | |
Publication status | Published - 1 Jan 2014 |
Event | 14th International Conference on Embedded Software, EMSOFT 2014 - Jaypee Greens Golf and Spa Resort, New Delhi, India Duration: 12 Oct 2014 → 17 Oct 2014 |
Conference
Conference | 14th International Conference on Embedded Software, EMSOFT 2014 |
---|---|
Country/Territory | India |
City | New Delhi |
Period | 12/10/14 → 17/10/14 |
ASJC Scopus subject areas
- Software