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:
- 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:
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.
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.
Link to Project Webpage : Machine Leaned Machines