A Phase Behavior Aware Dynamic Cache Partitioning Scheme for CMPs
Authors: Xiaofei Liao, Rentong Guo, Danping Yu
Venue: International Journal of Parallel Programming 2016
The authors present a novel dynamic cache partitioning mechanism based on the phase behavior of program. They use a similar phase detection to Sembrant et al. to detect phases. To reduce the overhead further, they make an assumption that the current phase will continue, and trigger only a phase change when the IPC deviates more than a threshold. To partition the cache, they utilize their FractalMRC algorithm, which predicts the optimal cache partitioning via a miss-rate-curve. If the phase is already seen, then the MRC will be stored in the table. They show that overall their approach nets up to 21.4% performance improvement using Spec2006 benchmarks.
The authors cite low overhead ~1%-2% on average in various configurations. However, it is unclear if this also factors in the overhead of the FractalMRC algorithm, which they state has an overhead of "less than 1s to complete each MRC generation". The frequency of this would therefore significantly impact overall performance, though, re-partitioning is done at a 5s granularity.
Overall, this paper presents a good introduction (for myself) into dynamic cache partitioning utilizing program phases. The paper points to further reading including:
- Fractal MRC
- A Co-phase Matrix Guide to Simultaneous Multi-threading systems in Simulation
- Cooperative Partitioning: Energy Efficient Cache Partitioning for High Performing CMPs
Full Text
Venue: International Journal of Parallel Programming 2016
The authors present a novel dynamic cache partitioning mechanism based on the phase behavior of program. They use a similar phase detection to Sembrant et al. to detect phases. To reduce the overhead further, they make an assumption that the current phase will continue, and trigger only a phase change when the IPC deviates more than a threshold. To partition the cache, they utilize their FractalMRC algorithm, which predicts the optimal cache partitioning via a miss-rate-curve. If the phase is already seen, then the MRC will be stored in the table. They show that overall their approach nets up to 21.4% performance improvement using Spec2006 benchmarks.
The authors cite low overhead ~1%-2% on average in various configurations. However, it is unclear if this also factors in the overhead of the FractalMRC algorithm, which they state has an overhead of "less than 1s to complete each MRC generation". The frequency of this would therefore significantly impact overall performance, though, re-partitioning is done at a 5s granularity.
Overall, this paper presents a good introduction (for myself) into dynamic cache partitioning utilizing program phases. The paper points to further reading including:
- Fractal MRC
- A Co-phase Matrix Guide to Simultaneous Multi-threading systems in Simulation
- Cooperative Partitioning: Energy Efficient Cache Partitioning for High Performing CMPs
Full Text
Comments
Post a Comment