TMT - A TLB Tag Management Framework for Virtualized Platforms

The rise in multi-core architectures has led to the abundance of computing resources on a chip. Virtualization has emerged as a way to efficiently partition and share these resources. Thus, the emphasis in micro-architecture design, especially in x86, has shifted towards providing hardware support for better performance of VMs on bare metal. One of the areas of focus for these efforts is the Translation Lookaside Buffer (TLB). Recent modifications in the TLB include the addition of tags as a part of the TLB entry and the incorporation of hardware primitives to perform tag comparison during TLB lookup. In this paper we present the Tag Manager Table (TMT), a low-latency management architecture for tagging the TLB entries using process-specific identifiers (based on the CR3 register in x86), and thereby reducing the number of flushes and the miss rate in the TLB. Using a full system simulation approach, we investigate the performance benefit of these tags and explore how it varies with the size of the TMT, the TLB architecture and the workload characteristics. We also perform a sensitivity analysis and quantify the relative importance of all these factors in determining the benefit from CR3 tagging. While our focus is on virtualized platforms, this approach is equally applicable for non virtualized environments.

[1]  Ray Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[2]  Raj Jain,et al.  The art of computer systems performance analysis - techniques for experimental design, measurement, simulation, and modeling , 1991, Wiley professional computing.

[3]  David L Weaver,et al.  The SPARC architecture manual : version 9 , 1994 .

[4]  Kunle Olukotun,et al.  The case for a single-chip multiprocessor , 1996, ASPLOS VII.

[5]  Mauricio J. Serrano,et al.  Characterizing the memory behavior of Java workloads: a structured view and opportunities for optimizations , 2001, SIGMETRICS '01.

[6]  Andreas Haeberlen,et al.  Performance of address-space multiplexing on the Pentium , 2002 .

[7]  Fredrik Larsson,et al.  Simics: A Full System Simulation Platform , 2002, Computer.

[8]  Andrew Warfield,et al.  Xen and the art of virtualization , 2003, SOSP '03.

[9]  Erik Hagersten,et al.  Memory system behavior of Java-based middleware , 2003, The Ninth International Symposium on High-Performance Computer Architecture, 2003. HPCA-9 2003. Proceedings..

[10]  Lieven Eeckhout,et al.  Comparing Low-Level Behavior of SPEC CPU and Java Workloads , 2005, Asia-Pacific Computer Systems Architecture Conference.

[11]  Gil Neiger,et al.  Intel virtualization technology , 2005, Computer.

[12]  Renato J. O. Figueiredo,et al.  Guest Editors' Introduction: Resource Virtualization Renaissance , 2005, Computer.

[13]  James E. Smith,et al.  Virtual machines - versatile platforms for systems and processes , 2005 .

[14]  Orran Krieger,et al.  Virtualization for high-performance computing , 2006, OPSR.

[15]  Diego R. Llanos TPCC-UVa: an open-source TPC-C implementation for global performance measurement of computer systems , 2006, SIGMOD 2006.

[16]  Gil Neiger,et al.  Intel ® Virtualization Technology for Directed I/O , 2006 .

[17]  Dhabaleswar K. Panda,et al.  A case for high performance computing with virtual machines , 2006, ICS '06.

[18]  Gil Neiger,et al.  IntelŴVirtualization Technology: Hardware Support for Efficient Processor Virtualization , 2006 .

[19]  Andrea C. Arpaci-Dusseau,et al.  Antfarm: Tracking Processes in a Virtual Machine Environment , 2006, USENIX Annual Technical Conference, General Track.

[20]  Mark D. Hill,et al.  Virtual hierarchies to support server consolidation , 2007, ISCA '07.

[21]  Amin Vahdat,et al.  Dynamic Scheduling of Virtual Machines Running HPC Workloads in Scientific Grids , 2007, 2009 3rd International Conference on New Technologies, Mobility and Security.

[22]  Omesh Tickoo,et al.  qTLB: Looking Inside the Look-Aside Buffer , 2007, HiPC.

[23]  Ulrich Drepper,et al.  The Cost of Virtualization , 2008, ACM Queue.

[24]  Jose Renato Santos,et al.  Bridging the Gap between Software and Hardware Techniques for I/O Virtualization , 2008, USENIX Annual Technical Conference.