Abstract

In a multicore environment, the operating system often coschedules programs on different cores simultaneously to improve utilization of system resources. As a result, the programs compete with each other for the shared last level cache, resulting in cache interference and reduced performance. Providing Quality of Service or QoS guarantees for performance of applications running in such environments has been an important area of research in the past decade. We propose a system to provide such guarantees using hardware support provided in modern processors. Our system supports specifying performance targets for high-priority programs and performance constraints for low-priority programs. The system strives to meet the given performance targets while ensuring that the performance constraints are always met. While previous works have explored cache partitioning and rate-based techniques to provide QoS, we have used direct cache control support provided in modern processors. We have explored two cache control techniques—core level control and application page level control. We have carefully selected a wide variety of workloads and performed extensive experiments on real systems. We have obtained on average 95.2% accuracy, with as high as 99.4% in some cases.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call