[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3079856.3080210acmconferencesArticle/Chapter ViewAbstractPublication PagesiscaConference Proceedingsconference-collections
research-article

Rethinking TLB Designs in Virtualized Environments: A Very Large Part-of-Memory TLB

Published: 24 June 2017 Publication History

Abstract

With increasing deployment of virtual machines for cloud services and server applications, memory address translation overheads in virtualized environments have received great attention. In the radix-4 type of page tables used in x86 architectures, a TLB-miss necessitates up to 24 memory references for one guest to host translation. While dedicated page walk caches and such recent enhancements eliminate many of these memory references, our measurements on the Intel Skylake processors indicate that many programs in virtualized mode of execution still spend hundreds of cycles for translations that do not hit in the TLBs.
This paper presents an innovative scheme to reduce the cost of address translations by using a very large Translation Lookaside Buffer that is part of memory, the POM-TLB. In the POM-TLB, only one access is required instead of up to 24 accesses required in commonly used 2D walks with radix-4 type of page tables. Even if many of the 24 accesses may hit in the page walk caches, the aggregated cost of the many hits plus the overhead of occasional misses from page walk caches still exceeds the cost of one access to the POM-TLB. Since the POM-TLB is part of the memory space, TLB entries (as opposed to multiple page table entries) can be cached in large L2 and L3 data caches, yielding significant benefits. Through detailed evaluation running SPEC, PARSEC and graph workloads, we demonstrate that the proposed POM-TLB improves performance by approximately 10% on average. The improvement is more than 16% for 5 of the benchmarks. It is further seen that a POM-TLB of 16MB size can eliminate nearly all TLB misses in 8-core systems.

References

[1]
Amazon. 2006. Amazon EC2 - Virtual Server Hosting. (2006). https://aws.amazon.com/ec2/.
[2]
Andrea Arcangeli. 2008. Linux KVM Forum. (2008). http://www.linux-kvm.org/page/KVM_Forum_2008.
[3]
Andrea Arcangeli. 2010. Transparent hugepage support. In KVM Forum, Vol. 9. http://www.linux-kvm.org/page/KVM_Forum_2010.
[4]
Thomas W. Barr, Alan L. Cox, and Scott Rixner. 2010. Translation Caching: Skip, Don't Walk (the Page Table). In Proceedings of the 37th Annual International Symposium on Computer Architecture (ISCA '10). ACM, New York, NY, USA, 48--59.
[5]
Thomas W. Barr, Alan L. Cox, and Scott Rixner. 2011. SpecTLB: A Mechanism for Speculative Address Translation. In Proceedings of the 38th Annual International Symposium on Computer Architecture (ISCA '11). ACM, New York, NY, USA, 307--318.
[6]
Arkaprava Basu, Jayneel Gandhi, Jichuan Chang, Mark D. Hill, and Michael M. Swift. 2013. Efficient Virtual Memory for Big Memory Servers. In Proceedings of the 40th Annual International Symposium on Computer Architecture (ISCA '13). ACM, New York, NY, USA, 237--248.
[7]
Ravi Bhargava, Benjamin Serebrin, Francesco Spadini, and Srilatha Manne. 2008. Accelerating Two-dimensional Page Walks for Virtualized Systems. In Proceedings of the 13th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS XIII). ACM, New York, NY, USA, 26--35.
[8]
Abhishek Bhattacharjee. 2013. Large-reach memory management unit caches: Coalesced and shared memory management unit caches to accelerate TLB miss handling. In 2013 46th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO). 383--394.
[9]
Abhishek Bhattacharjee, Daniel Lustig, and Margaret Martonosi. 2011. Shared last-level TLBs for chip multiprocessors. In 2011 IEEE 17th International Symposium on High Performance Computer Architecture. 62--63.
[10]
Abhishek Bhattacharjee and Margaret Martonosi. 2010. Inter-core Cooperative TLB for Chip Multiprocessors. In Proceedings of the Fifteenth Edition of ASPLOS on Architectural Support for Programming Languages and Operating Systems (ASPLOS XV). ACM, New York, NY, USA, 359--370.
[11]
Bryan Black, Murali Annavaram, Ned Brekelbaum, John DeVale, Lei Jiang, Gabriel H. Loh, Don McCaule, Pat Morrow, Donald W. Nelson, Daniel Pantuso, Paul Reed, Jeff Rupley, Sadasivan Shankar, John Shen, and Clair Webb. 2006. Die Stacking (3D) Microarchitecture. In Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO 39). IEEE Computer Society, Washington, DC, USA, 469--479.
[12]
Jeffrey Buell, Daniel Hecht, Jin Heo, Kalyan Saladi, and RH Taheri. 2013. Methodology for performance analysis of VMware vSphere under Tier-1 applications. VMware Technical Journal 2, 1 (2013).
[13]
Chiachen Chou, Aamer Jaleel, and Moinuddin K. Qureshi. 2014. CAMEO: A Two-Level Memory Organization with Capacity of Main Memory and Flexibility of Hardware-Managed Cache. In 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture. 1--12.
[14]
Chiachen Chou, Aamer Jaleel, and Moinuddin K. Qureshi. 2015. BEAR: Techniques for mitigating bandwidth bloat in gigascale DRAM caches. In 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA). 198--210.
[15]
Xiangyu Dong, Yuan Xie, Naveen Muralimanohar, and Norman P. Jouppi. 2010. Simple but Effective Heterogeneous Main Memory with On-Chip Memory Controller Support. In 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis. 1--11.
[16]
Jayneel Gandhi, Arkaprava Basu, Mark D. Hill, and Michael M. Swift. 2014. Efficient Memory Virtualization: Reducing Dimensionality of Nested Page Walks. In Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-47). IEEE Computer Society, Washington, DC, USA, 178--189.
[17]
Jayneel Gandhi, Mark D. Hill, and Michael M. Swift. 2016. Agile Paging: Exceeding the Best of Nested and Shadow Paging. In 2016 ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA). 707--718.
[18]
Nagendra Dwarakanath Gulur, Mahesh Mehendale, R. Manikantan, and R. Govindarajan. 2014. Bi-Modal DRAM Cache: Improving Hit Rate, Hit Latency and Bandwidth. In Proceedings of the 47th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-47). IEEE, 38--50. http://dblp.uni-trier.de/db/conf/micro/micro2014.html#GulurMMG14
[19]
Nikos Hardavellas, Michael Ferdman, Babak Falsafi, and Anastasia Ailamaki. 2011. Toward Dark Silicon in Servers. IEEE Micro 31, 4 (July 2011), 6--15.
[20]
Glenn Hinton, Dave Sager, Mike Upton, Darrell Boggs, and others. 2001. The microarchitecture of the Pentium® 4 processor. In Intel Technology Journal. Citeseer.
[21]
Cheng-Chieh Huang and Vijay Nagarajan. 2014. ATCache: Reducing DRAM Cache Latency via a Small SRAM Tag Cache. In Proceedings of the 23rd International Conference on Parallel Architectures and Compilation (PACT '14). ACM, New York, NY, USA, 51--60.
[22]
Intel. 2006. Intel(R) Virtualization Technology. (2006). http://www.intel.com/content/www/us/en/virtualization/virtualization-technology/intel-virtualization-technology.html.
[23]
Intel. 2015. 6th Generation Intel Core i7-6700K and i5-6600K Processors. (2015). http://www.intel.com/content/www/us/en/processors/core/6th-gen-core-family-desktop-brief.html.
[24]
JEDEC. 2016. High Bandwidth Memory (HBM) DRAM Gen 2 (JESD235A). https://www.jedec.org
[25]
Djordje Jevdjic, Gabriel H. Loh, Cansu Kaynak, and Babak Falsafi. 2014. Unison Cache: A Scalable and Effective Die-Stacked DRAM Cache. In 47th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2014, Cambridge, United Kingdom, December 13-17, 2014. 25--37.
[26]
Djordje Jevdjic, Stavros Volos, and Babak Falsafi. 2013. Die-stacked DRAM Caches for Servers: Hit Ratio, Latency, or Bandwidth? Have It All with Footprint Cache. In Proceedings of the 40th Annual International Symposium on Computer Architecture (ISCA '13). ACM, New York, NY, USA, 404--415.
[27]
Xiaowei Jiang, Niti Madan, Li Zhao, Mike Upton, Ravi Iyer, Srihari Makineni, Don Newell, Yan Solihin, and Rajeev Balasubramonian. 2011. CHOP: Integrating DRAM Caches for CMP Server Platforms. IEEE Micro 31, 1 (Jan 2011), 99--108.
[28]
Gokul B. Kandiraju and Anand Sivasubramaniam. 2002. Going the distance for TLB prefetching: an application-driven study. In Proceedings 29th Annual International Symposium on Computer Architecture. 195--206.
[29]
Vasileios Karakostas, Jayneel Gandhi, Adrian Cristal, Mark D. Hill, Kathryn S. McKinley, Mario Nemirovsky, Michael M. Swift, and Osman S. Unsal. 2016. Energy-efficient address translation. In 2016 IEEE International Symposium on High Performance Computer Architecture (HPCA). 631--643.
[30]
Yoongu Kim, Weikun Yang, and Onur Mutlu. 2016. Ramulator: A Fast and Extensible DRAM Simulator. IEEE Comput. Archit. Lett. 15, 1 (Jan. 2016), 45--49.
[31]
Gabriel H. Loh and Mark D. Hill. 2011. Efficiently Enabling Conventional Block Sizes for Very Large Die-stacked DRAM Caches. In Proceedings of the 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-44). ACM, New York, NY, USA, 454--464.
[32]
Gabriel H. Loh, Nuwan Jayasena, Kevin Mcgrath, Mike O'Connor, Steve Reinhardt, and Jaewoong Chung. 2012. Challenges in Heterogeneous Die-Stacked and Off-Chip Memory Systems. In the 3rd Workshop on SoCs, Heterogeneous Architectures and Workloads (SHAW).
[33]
Mitesh R. Meswani, Serigey Blagodurov, David Roberts, John Slice, Mike Ignatowski, and Gabriel H. Loh. 2015. Heterogeneous memory architectures: A HW/SW approach for mixing die-stacked and off-package memories. In 2015 IEEE 21st International Symposium on High Performance Computer Architecture (HPCA). 126--136.
[34]
Micron. 2013. Micron's Hybrid Memory Cube Earns High Praise in Next-Generation Supercomputer. (2013). http://investors.micron.com/releasedetail.cfm?ReleaseID=805283.
[35]
Mark Oskin and Gabriel H. Loh. 2015. A Software-Managed Approach to Die-Stacked DRAM. In 2015 International Conference on Parallel Architecture and Compilation, PACT 2015, San Francisco, CA, USA, October 18-21, 2015. 188--200.
[36]
Celal Ozturk. 2013. Analyzing and Quantifying Dynamc Program Behavior in Terms of Regularities and Patterns. In Open Access Dissertations. 63. http://digitalcommons.uri.edu/oa_diss/63
[37]
Binh Pham, Abhishek Bhattacharjee, Yasuko Eckert, and Gabriel H. Loh. 2014. Increasing TLB reach by exploiting clustering in page translations. In 2014 IEEE 20th International Symposium on High Performance Computer Architecture (HPCA). 558--567.
[38]
Binh Pham, Ján Veselý, Gabriel H. Loh, and Abhishek Bhattacharjee. 2015. Large Pages and Lightweight Memory Management in Virtualized Environments: Can You Have It Both Ways?. In Proceedings of the 48th International Symposium on Microarchitecture (MICRO-48). ACM, New York, NY, USA, 1--12.
[39]
Moinuddin K. Qureshi and Gabriel H. Loh. 2012. Fundamental Latency Trade-off in Architecting DRAM Caches: Outperforming Impractical SRAM-Tags with a Simple and Practical Design. In MICRO. IEEE Computer Society, 235--246. http://dblp.uni-trier.de/db/conf/micro/micro2012.html#QureshiL12
[40]
Rackspace. 2012. OPENSTACK - The Open Alternative To Cloud Lock-In. (2012). https://www.rackspace.com/en-us/cloud/openstack.
[41]
Ashley Saulsbury, Fredrik Dahlgren, and Per Stenström. 2000. Recency-based TLB Preloading. In Proceedings of the 27th Annual International Symposium on Computer Architecture (ISCA '00). ACM, New York, NY, USA, 117--127.
[42]
André Seznec. 2004. Concurrent Support of Multiple Page Sizes on a Skewed Associative TLB. IEEE Trans. Computers 53, 7 (2004), 924--927.
[43]
Jaewoong Sim, Alaa R. Alameldeen, Zeshan Chishti, Chris Wilkerson, and Hyesoon Kim. 2014. Transparent Hardware Management of Stacked DRAM as Part of Memory. In 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture. 13--24.
[44]
Jaewoong Sim, Gabriel H. Loh, Hyesoon Kim, Mike OConnor, and Mithuna Thottethodi. 2012. A Mostly-Clean DRAM Cache for Effective Hit Speculation and Self-Balancing Dispatch. In 2012 45th Annual IEEE/ACM International Symposium on Microarchitecture. 247--257.
[45]
Shekhar Srikantaiah and Mahmut Kandemir. 2010. Synergistic TLBs for High Performance Address Translation in Chip Multiprocessors. In 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture. 313--324.
[46]
Madhusudhan Talluri, Shing Kong, Mark D. Hill, and David A. Patterson. 1992. Tradeoffs in Supporting Two Page Sizes. In {1992} Proceedings the 19th Annual International Symposium on Computer Architecture. 415--424.
[47]
Steven J. E. Wilton and Norman P. Jouppi. 1996. CACTI: an enhanced cache access and cycle time model. IEEE Journal of Solid-State Circuits 31, 5 (May 1996), 677--688.
[48]
Idan Yaniv and Dan Tsafrir. 2016. Hash, Don'T Cache (the Page Table). In Proceedings of the 2016 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Science. ACM, New York, NY, USA, 337--350.
[49]
Lixin Zhang, Evan Speight, Ram Rajamony, and Jiang Lin. 2010. Enigma: Architectural and Operating System Support for Reducing the Impact of Address Translation. In Proceedings of the 24th ACM International Conference on Supercomputing (ICS '10). ACM, New York, NY, USA, 159--168.
[50]
Li Zhao, Ravi Iyer, Ramesh Illikkal, and Don Newell. 2007. Exploring DRAM cache architectures for CMP server platforms. In 2007 25th International Conference on Computer Design. 55--62.

Cited By

View all
  • (2024)Scalable and effective page-table and TLB management on NUMA systemsProceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference10.5555/3691992.3692020(445-461)Online publication date: 10-Jul-2024
  • (2024)Direct Memory Translation for Virtualized CloudsProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640358(287-304)Online publication date: 27-Apr-2024
  • (2024)Low-Overhead General-Purpose Near-Data Processing in CXL Memory Expanders2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)10.1109/MICRO61859.2024.00051(594-611)Online publication date: 2-Nov-2024
  • Show More Cited By

Index Terms

  1. Rethinking TLB Designs in Virtualized Environments: A Very Large Part-of-Memory TLB

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ISCA '17: Proceedings of the 44th Annual International Symposium on Computer Architecture
    June 2017
    736 pages
    ISBN:9781450348928
    DOI:10.1145/3079856
    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: 24 June 2017

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Address Translation
    2. Die-Stacked DRAM
    3. Very Large TLB
    4. Virtualization

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    ISCA '17
    Sponsor:

    Acceptance Rates

    ISCA '17 Paper Acceptance Rate 54 of 322 submissions, 17%;
    Overall Acceptance Rate 543 of 3,203 submissions, 17%

    Upcoming Conference

    ISCA '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)119
    • Downloads (Last 6 weeks)13
    Reflects downloads up to 14 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Scalable and effective page-table and TLB management on NUMA systemsProceedings of the 2024 USENIX Conference on Usenix Annual Technical Conference10.5555/3691992.3692020(445-461)Online publication date: 10-Jul-2024
    • (2024)Direct Memory Translation for Virtualized CloudsProceedings of the 29th ACM International Conference on Architectural Support for Programming Languages and Operating Systems, Volume 210.1145/3620665.3640358(287-304)Online publication date: 27-Apr-2024
    • (2024)Low-Overhead General-Purpose Near-Data Processing in CXL Memory Expanders2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)10.1109/MICRO61859.2024.00051(594-611)Online publication date: 2-Nov-2024
    • (2024)Elastic Translations: Fast Virtual Memory with Multiple Translation Sizes2024 57th IEEE/ACM International Symposium on Microarchitecture (MICRO)10.1109/MICRO61859.2024.00012(17-35)Online publication date: 2-Nov-2024
    • (2023)FlexPointer: Fast Address Translation Based on Range TLB and Tagged PointersACM Transactions on Architecture and Code Optimization10.1145/357985420:2(1-24)Online publication date: 1-Mar-2023
    • (2023)CVA6 RISC-V Virtualization: Architecture, Microarchitecture, and Design Space ExplorationIEEE Transactions on Very Large Scale Integration (VLSI) Systems10.1109/TVLSI.2023.330283731:11(1713-1726)Online publication date: Nov-2023
    • (2023)Memory-Efficient Hashed Page Tables2023 IEEE International Symposium on High-Performance Computer Architecture (HPCA)10.1109/HPCA56546.2023.10071061(1221-1235)Online publication date: Feb-2023
    • (2023)vPIM: Efficient Virtual Address Translation for Scalable Processing-in-Memory Architectures2023 60th ACM/IEEE Design Automation Conference (DAC)10.1109/DAC56929.2023.10247745(1-6)Online publication date: 9-Jul-2023
    • (2022)Comparison of Value- and Reference-Based Memory Page Compaction in Virtualized SystemsIEICE Transactions on Information and Systems10.1587/transinf.2022EDP7027E105.D:12(2075-2084)Online publication date: 1-Dec-2022
    • (2022)Every walk’s a hit: making page walks single-access cache hitsProceedings of the 27th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3503222.3507718(128-141)Online publication date: 28-Feb-2022
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media