We considerhowtoimprovetheperformanceofle cachingbyallowinguser-levelcontroloverlecache replacementdecisions. Weusetwo-levelcachemanagement: the kernel allocates physical pages to individualapplications(allocation),andeachapplicationisresponsible fordecidinghowtouseitsphysicalpages(replacement). Previousworkontwo-level memory management has focused on replacement, largely ignoring allocation. The main contribution of this paper is our solution to the allocation problem. Our solution allows processes to manage their own cache blocks, while at the same time maintains the dynamic allocation of cache blocks among processes. Our solution makes sure that good user-level policies can improvethelecachehitratiosoftheentiresystem over the existing replacement approach. We evaluate our scheme by trace-based simulation, demonstratingthatitleadstosignicantimprovementsin hit ratios for a variety of applications.
Pei Cao, Edward W. Felten, Kai Li