skip to main content
10.1145/2830772.2830825acmconferencesArticle/Chapter ViewAbstractPublication PagesmicroConference Proceedingsconference-collections
research-article
Public Access

vCache: architectural support for transparent and isolated virtual LLCs in virtualized environments

Published: 05 December 2015 Publication History

Abstract

A key role of virtualization is to give an illusion that a consolidated workload runs on a dedicated machine although the underlying resources are actively shared by multiple workloads. Technical advances have enabled a virtual machine (VM) to exercise many shared resources of a machine in a transparent and isolated manner. However, such an illusion of resource dedication has not been supported for the last-level cache (LLC), although the LLC is the largest on-chip shared resource with a significant performance impact. In this paper, we propose vCache--architectural support to provide a transparent and isolated virtual LLC (vLLC) for each VM and interfaces to manage the vLLC. More specifically, this study first proposes architectural support for the guest OS of a VM to index the LLC with its guest physical address instead of a host physical address. This in turn allows that the guest OS transparently view its vLLC and preserve the effectiveness of its page placement policy. Second, this study extends the architectural support for each VM to keep its vLLC strongly isolated from other VMs. Such resource dedication is critical to offer performance isolation and preserve vLLC transparency for each VM in a highly consolidated machine. With little hardware overhead, vCache can facilitate various unchartered vLLC capacity-based services for the public clouds while providing up to 17% higher performance than a traditional virtualized system.

References

[1]
R. P. Goldberg, "Survey of virtual machine research," IEEE Computer, 1974.
[2]
D. Gupta, L. Cherkasova, R. Gardner, and A. Vahdat, "Enforcing performance isolation across virtual machines in Xen," in Proceedings of the 2006 International Conference on Middleware, 2006.
[3]
E. Keller, J. Szefer, J. Rexford, and R. B. Lee, "Nohype: Virtualized cloud infrastructure without the virtualization," in Proceedings of the 34th International Symposium on Computer Architecture, 2010.
[4]
R. Nathuji, A. Kansal, and A. Ghaffarkhah, "Q-clouds: Managing performance interference effects for QoS-aware clouds," in Proceedings of the 5th European Conference on Computer Systems, 2010.
[5]
G. Somani and S. Chaudhary, "Application performance isolation in virtualization," in Proceedings of the 2nd IEEE International Conference on Cloud Computing, 2009.
[6]
T. Cucinotta, D. Giani, D. Faggioli, and F. Checconi, "Providing performance guarantees to virtual machines using real-time scheduling," in Proceedings of the 8th Workshop on Virtualization in High-Performance Cloud Computing, 2010.
[7]
V. Gupta, K. Schwan, N. Tolia, V. Talwar, and P. Ranganathan, "Pegasus: Coordinated scheduling for virtualized accelerator-based systems," in Proceedings of the 2011 USENIX Annual Technical Conference, 2011.
[8]
A. Gulati, A. Merchant, and P. J. Varman, "mclock: Handling throughput variability for hypervisor io scheduling," in Proceedings of the 9th Symposium on Operating Systems Design and Implementation, 2010.
[9]
"Intel®Xeon®Processor E3-1220." {Online}. Available: http://ark.intel.com/products/52269.
[10]
"Intel®Xeon®Processor E5-2699 v3." {Online}. Available: http://ark.intel.com/products/81061.
[11]
G. Taylor, P. Davies, and M. Farmwald, "The TLB slice-a low-cost high-speed address translation mechanism," in Proceedings of the 17th International Symposium on Computer Architecture, 1990.
[12]
R. Kessler and M. Hill, "Page placement algorithms for large real-indexed caches," ACM Transactions on Computer Systems, 1992.
[13]
E. Bugnion, J. Anderson, T. Mowry, M. Rosenblum, and M. Lam, "Compiler-directed page coloring for multiprocessors," in Proceedings of the 7th Internatinoal Conference on Architectural Support for Programming Languages and Operating Systems, 1996.
[14]
T. Romer, D. Lee, B. N. Bershad, and J. B. Chen, "Dynamic page mapping policies for cache conflict resolution on standard hardware," in Proceedings of the 1st Symposium Operating Systems Design and Implementation, 1994.
[15]
T. Sherwood, B. Calder, and J. Emer, "Reducing cache misses using hardware and software page placement," in Proceedings of the 13th International Conference on Supercomputing, 1999.
[16]
D. Tam, R. Azimi, L. Soares, and M. Stumm, "Managing shared L2 caches on multicore systems in software," in Proceedings of Workshop on the Interaction between Operating Systems and Computer Architecture, 2007.
[17]
L. Soares, D. Tam, and M. Stumm, "Reducing the harmful effects of last-level cache polluters with an OS-level, software-only pollute buffer," in Proceedings of the 41st International Symposium on Microarchitecture, 2008.
[18]
J. Lin, Q. Lu, X. Ding, Z. Zhang, X. Zhang, and P. Sadayappan, "Gaining insights into multicore cache partitioning: Bridging the gap between simulation and real systems," in Proceedings of 14th International Symposium on High Performance Computer Architecture, 2008.
[19]
X. Zhang, S. Dwarkadas, and K. Shen, "Towards practical page coloring-based multicore cache management," in Proceedings of the 4th European Conference on Computer Systems, 2009.
[20]
M. Awasthi, K. Sudan, R. Balasubramonian, and J. Carter, "Dynamic hardware-assisted software-controlled page placement to manage capacity allocation and sharing within large caches," in Proceedings of the 15th International Symposium on High Performance Computer Architecture, 2009.
[21]
X. Ding, K. Wang, and X. Zhang, "ULCC: a user-level facility for optimizing shared cache performance on multicores," in Proceedings of the 16th Symposium on Principles and Practice of Parallel Programming, 2011.
[22]
E. Bugnion, S. Devine, and M. Rosenblum, "Disco: Running commodity operating systems on scalable multiprocessors," in Proceedings of the 16th Symposium on Operating Systems Principles, 1997.
[23]
C. A. Waldspurger, "Memory resource management in VMware ESX server," in Proceedings of the 5th Symposium on Operating Systems Design and Implementation, 2002.
[24]
S. Govindan, J. Liu, A. Kansal, and A. Sivasubramaniam, "Cuanta: Quantifying effects of shared on-chip resource interference for consolidated virtual machines," in Proceedings of the 2nd Symposium on Cloud Computing, 2011.
[25]
M. K. Qureshi and Y. N. Patt, "Utility-based cache partitioning: A low-overhead, high-performance, runtime mechanism to partition shared caches," in Proceedings of the 39th International Symposium on Microarchitecture, 2006.
[26]
"vSphere." {Online}. Available: http://www.vmware.com/products/vsphere.
[27]
C. Clark, K. Fraser, S. Hand, J. Hansen, E. Jul, C. Limpach, I. Pratt, and A. Warfield, "Live migration of virtual machines," in Proceedings of the 2nd Symposium on Networked Systems Design and Implementation, 2005.
[28]
P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield, "Xen and the art of virtualization," in Proceedings of the 19th Symposium on Operating Systems Principles, 2003.
[29]
P. S. Magnusson, M. Christensson, J. Eskilson, D. Forsgren, G. Hallberg, J. Hogberg, F. Larsson, A. Moestedt, and B. Werner, "Simics: A full system simulation platform," IEEE Computer, 2002.
[30]
M. Huang, M. Mehalel, R. Arvapalli, and S. He, "An Energy Efficient 32-nm 20-MB Shared On-Die L3 Cache for Intel® Xeon® Processor E5 Family," IEEE Journal of Solid-State Circuits, 2013.
[31]
G. E. Suh, S. Devadas, and L. Rudolph, "A new memory monitoring scheme for memory-aware scheduling and partitioning," in Proceedings of the 8th International Symposium on High Performance Computer Architecture, p. 0117, IEEE Computer Society, 2002.
[32]
S. Kim, D. Chandra, and Y. Solihin, "Fair cache sharing and partitioning in a chip multiprocessor architecture," in Proceedings of the 13th International Conference on Parallel Architectures and Compilation Techniques, 2004.
[33]
K. J. Nesbit, J. Laudon, and J. E. Smith, "Virtual private caches," in Proceedings of the 34th International Symposium on Computer Architecture, 2007.
[34]
S. Li, J. H. Ahn, R. D. Strong, J. B. Brockman, D. M. Tullsen, and N. P. Jouppi, "McPAT: an integrated power, area, and timing modeling framework for multicore and manycore architectures," in Proceedings of the 42nd International Symposium on Microarchitecture, 2009.
[35]
S. J. Wilton and N. P. Jouppi, "CACTI: An enhanced cache access and cycle time model," IEEE Journal of Solid-State Circuits, 1996.
[36]
U. Bondhugula, A. Hartono, J. Ramanujam, and P. Sadayappan, "A practical automatic polyhedral program optimization system," in Proceedings of the 29th Conference on Programming Language Design and Implementation, 2008.
[37]
H. Cook, M. Moreto, S. Bird, K. Dao, D. A. Patterson, and K. Asanovic, "A hardware evaluation of cache partitioning to improve utilization and energy-efficiency while preserving responsiveness," in Proceedings of the 40th International Symposium on Computer Architecture, 2013.

Cited By

View all

Index Terms

  1. vCache: architectural support for transparent and isolated virtual LLCs in virtualized environments

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      MICRO-48: Proceedings of the 48th International Symposium on Microarchitecture
      December 2015
      787 pages
      ISBN:9781450340342
      DOI:10.1145/2830772
      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 05 December 2015

      Permissions

      Request permissions for this article.

      Check for updates

      Author Tags

      1. page coloring
      2. performance isolation
      3. virtual LLC
      4. virtualization

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      MICRO-48
      Sponsor:

      Acceptance Rates

      MICRO-48 Paper Acceptance Rate 61 of 283 submissions, 22%;
      Overall Acceptance Rate 484 of 2,242 submissions, 22%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)62
      • Downloads (Last 6 weeks)20
      Reflects downloads up to 29 Jan 2025

      Other Metrics

      Citations

      Cited By

      View all

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media