Skip to main content
Log in

Priority Based Yield of Shared Cache to Provide Cache QoS in Multicore Systems

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

Abstract

In multicore systems with shared cache, multiple tasks run on multiple cores simultaneously and compete for the shared cache. Cache interference occurs when a task running on one core replaces cache data belonging to other tasks running on other cores. With today’s multicore systems running tasks with different priorities, the need for providing QoS guarantees on cache usage is gaining importance. Solutions to reduce cache interference and provide cache QoS mainly used a cache partitioning approach to split the cache among different cores. The solutions were implemented and validated only on simulators and not on real systems. This paper discusses new techniques that are used on real systems to (1) experimentally measure the amount of interference caused by multiple coscheduled programs, (2) reduce interference miss rate of some programs at the expense of others and (3) provide cache QoS guarantees to programs and ensure their miss rates remain below a ceiling.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3

Similar content being viewed by others

References

  1. Chang, J., Sohi, G.S.: Cooperative cache partitioning for chip multiprocessors. In: 25th Anniversary International Conference on Supercomputing Anniversary Volume, pp. 402–412. ACM (2014)

  2. Daly, D., Cain, H.W.: Cache restoration for highly partitioned virtualized systems. In: 2012 IEEE 18th International Symposium on High Performance Computer Architecture (HPCA), pp. 1–10. IEEE (2012)

  3. Henning, J.L.: SPEC CPU2006 benchmark descriptions. ACM SIGARCH Comput Arch News 34(4), 1–17 (2006)

    Article  Google Scholar 

  4. Herdrich, A., Illikkal, R., Iyer, R., Newell, D., Chadha, V., Moses, J.: Rate-based QoS techniques for cache/memory in CMP platforms. In: Proceedings of the 23rd International Conference on Supercomputing, pp. 479–488. ACM (2009)

  5. Iyer, R.: CQoS: a framework for enabling QoS in shared caches of CMP platforms. In: Proceedings of the 18th Annual International Conference on Supercomputing, pp. 257–266. ACM (2004)

  6. Iyer, R., Zhao, L., Guo, F., Illikkal, R., Makineni, S., Newell, D., Solihin, Y., Hsu, L., Reinhardt, S.: QoS policies and architecture for cache/memory in CMP platforms. ACM SIGMETRICS Perform Eval Rev 35(1), 25–36 (2007)

    Article  Google Scholar 

  7. Kim, S., Chandra, D., Solihin, Y.: Fair cache sharing and partitioning in a chip multiprocessor architecture. In: Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, PACT ’04, pp. 111–122. IEEE Computer Society (2004)

  8. Lin, J., Lu, Q., Ding, X., Zhang, Z., Zhang, X., Sadayappan, P.: Gaining insights into multicore cache partitioning: bridging the gap between simulation and real systems. In: IEEE 14th International Symposium on High Performance Computer Architecture, 2008. HPCA 2008, pp. 367–378. IEEE (2008)

  9. Mars, J., Vachharajani, N., Hundt, R., Soffa, M.L.: Contention aware execution: online contention detection and response. In: Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization, pp. 257–265. ACM (2010)

  10. Muralidhara, S.P., Subramanian, L., Mutlu, O., Kandemir, M., Moscibroda, T.: Reducing memory interference in multicore systems via application-aware memory channel partitioning. In: Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 374–385. ACM (2011)

  11. Qureshi, M.K., Patt, Y.N.: Utility-based cache partitioning: a low-overhead, high-performance, runtime mechanism to partition shared caches. In: Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture, pp. 423–432. IEEE Computer Society (2006)

  12. Rafique, N., Lim, W.T., Thottethodi, M.: Architectural support for operating system-driven CMP cache management. In: Proceedings of the 15th International Conference on Parallel Architectures and Compilation Techniques, pp. 2–12. ACM (2006)

  13. Srikantaiah, S., Kandemir, M., Irwin, M.J.: Adaptive set pinning: managing shared caches in chip multiprocessors. ACM SIGARCH Comput Arch News 36(1), 135–144 (2008)

    Article  Google Scholar 

  14. Suh, G.E., Rudolph, L., Devadas, S.: Dynamic partitioning of shared cache memory. J Supercomput 28(1), 7–26 (2004)

    Article  MATH  Google Scholar 

  15. Suo, G., Yang, X.: Balancing parallel applications on multi-core processors based on cache partitioning. In: 2009 IEEE International Symposium on Parallel and Distributed Processing with Applications, pp. 190–195. IEEE (2009)

  16. Zebchuk, J., Cain, H.W., Tong, X., Srinivasan, V., Moshovos, A.: RECAP: a region-based cure for the common cold (cache). In: 2013 IEEE 19th International Symposium on High Performance Computer Architecture (HPCA2013), pp. 83–94. IEEE (2013)

  17. Zhuravlev, S., Blagodurov, S., Fedorova, A.: Addressing shared resource contention in multicore processors via scheduling. In: ACM SIGARCH Computer Architecture News, vol. 38, pp. 129–142. ACM (2010)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Krupa Sivakumaran.

Additional information

This work has been supported by DST-PURSE Phase 2 program with Grant No. 9500/PD2/2014.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Sivakumaran, K., Siromoney, A. Priority Based Yield of Shared Cache to Provide Cache QoS in Multicore Systems. Int J Parallel Prog 45, 634–656 (2017). https://doi.org/10.1007/s10766-016-0443-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-016-0443-4

Keywords

Navigation