Due to the recent advances in mobile platform technologies, people are increasingly working with their smartphones. For example, digital healthcare, automotive navigation, and stock trading are also performed by a smartphone as well as phone calls. However, there are some technical hurdles for executing reliable software in a smartphone. Specifically, current smartphones kill applications without using swap when free memory space is exhausted. Although supporting swap in a smartphone is not impossible, our observation shows that swap in Android increases storage accesses significantly, leading to thrashing conditions. To resolve this, we further analyze Android swap I/O traces and make two prominent observations. The first is the existence of hot 15% data, which account for 80% of total swap I/O, and the second is the existence of cold 50% data that are never used again after entering the swap area. Based on these observations, we present a new architecture that adopts non-volatile memory at the Android swap layer. Specifically, as Android swap has bimodal data access characteristics, we identify and manage hot and cold data efficiently by making use of precise admission control and replacement algorithms. This is possible as our swap architecture can access the full information of request time and frequency, which is different from the main memory layer with restricted information. Experimental results show that our architecture supports Android swap without performance degradations.
- mobile platform
- non-volatile memory