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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.