RGCache: Caching with Deep Reinforcement Learning
摘要
The growth of data traffic in computer networks is posing new scalability challenges to network architectures. Data caching has been used as a solution to reduce data traffic and improve application response time. Typically, caching systems admit any new item that is accessed by the user, perhaps evicting another item from the cache. Most systems use eviction policies such as least recently used (LRU), and least frequently used (LFU). These policies are susceptible to short-term variations, and do not track the importance of an item in the long run. In this paper we study several methods based on deep reinforcement learning (DRL) to improve cache performance. In our approach, an agent learns a policy for both cache admission and replacement. This policy is implemented with a deep neural network. The learning process is guided with a reward function that helps the agent identify the benefits of caching an item, as well as the benefit/risk of making an eviction. We present policies based on fully connected, and recurrent networks. In addition, we present several rewards functions that show the trade-offs between complexity and cache performance. Our initial performance study shows that we can outperform LRU and other AI-based caching methods found in the literature.