Cache Management

Collaborators : Intel, NXP Semiconductors, and Semiconductor Research Corporation (SRC)

Shared cache levels of the memory hierarchy present many opportunities in modern Multiprocessor Systems-on-Chip (MPSoCs) for intelligent control and management. We have employed machine learning techniques to perform intelligent runtime adaptation of CPU system resources through a fine-grained orchestration of cache space and bandwidth partitioning and frequency control of the CPU and on-chip network.

1. Cache Bandwidth Management:
Recent increases in the processor core count in multiprocessor systems-on-chip have lead to an increase in the usage of shared resources such as Last Level Cache (LLC), Network-on-Chip (NoC), Dynamic Random Access Memory (DRAM) etc. If these shared resources are not managed intelligently, system performance and energy can be affected negatively. One such important system resource is on-chip LLC bandwidth. Although cache management is a classical topic, the issue of bandwidth has not been seriously studied earlier. Because of the significant contention for LLC, it is important to manage the LLC bandwidth efficiently. In this project we are investigating this and associated research problems.
Publications:

  1. Sakshi Tiwari, Shreshth Tuli, Isaar Ahmad, Ayushi Agarwal, and Preeti Ranjan Panda, REAL: REquest Arbitration in Last Level Caches, ACM Transactions on Embedded Computing Systems (TECS), 18(6): 115:1-115:24 (2020)


2. Machine Learned Machines:
To achieve the best possible performance within limited power budget various system resources such as cache space and network-on-chip need to be allocated effectively. Any mismatch between runtime resource requirement and allocation results in a sub-optimal performance. Different optimization techniques exist for addressing the problem of mismatch between the dynamic requirement and runtime allocation of the system resources. Choosing between multiple optimizations at runtime is complex due to the non-additive effects, making the scenario suitable for the application of machine learning techniques. We have proposed and evaluated different reinforcement learning (RL) based techniques targeting multiple resource allocation at runtime.

Multiple Resource Management Problems:

  • CO-OPTIMIZATION OF CORES, UNCORE AND CACHES:
  • System Energy-Delay-Product (EDP) Optimization
    The first co-optimization problem is targeted towards optimization of the system energy-delay-product (EDP). We present a novel method, Machine Learned Machines (MLM), by using Online Reinforcement Learning (RL) to perform dynamic partitioning of the last level cache (LLC), along with dynamic voltage and frequency scaling (DVFS) of the cores and uncore (interconnection network and LLC). The DVFS+DCP co-optimization problem is modeled using independent, cooperative and coordinated multi-agent learners and compared on different system metrics.

  • MULTI-LEVEL CACHE PARTITIONING
  • System Throughput (STP) Optimization
    The second co-optimization problem is targeted towards optimization of the system throughput (STP). We propose a novel problem of dynamic cache co-partitioning (DCCP) of the multiple cache levels and present a coordinated multi-agent RL technique, Machine Learned Caches (MLC). MLC results in better system metrics compared to the independent application of the dynamic cache partitioning (DCP) techniques at multiple cache levels.

    We integrated pybrain with Sniper Architecture Simulator for our experiments. More Details about the tool and our source code can be found on the page Research/Tools

    Link to Project Webpage : Machine Leaned Machines