Early Eviction of Non-Reusable Journal Data in Smartphone Buffer Cache Management

In order to resist sudden power failures, smartphone systems usually manipulate file writes via SQLite journaling, which incurs writes to another file. Although this file will never be used unless system crash occurs, it resides in the buffer cache, thereby polluting the precious cache space. In this paper, we present a novel buffer cache management scheme for smartphone systems that aggressively evicts non-reusable journal data from the buffer cache. Specifically, our scheme classifies data not to be accessed again like SQLite journal data, and performs early eviction from the buffer cache to improve cache space utilization. Experimental results with various real smartphone applications show that the proposed buffer cache management scheme improves the cache miss ratio by 21% on average. We also show that this improvement can reduce the buffer cache size significantly without performance degradations, which would allow for the reduction of energy consumption in a smartphone memory system.