TMT: A TLB Tag Management Framework for Virtualized Platforms

Virtualization is a convenient way to efficiently utilize the numerous on-chip resources in modern physical platforms. However, it is important to ensure a high performance for the workloads running on such virtualized platforms. One factor which reduces the performance of these virtualized workloads is the frequent flushing of hardware-managed Translation Lookaside Buffers (TLBs). To avoid these flushes and reduce the TLB miss rate, we propose the Tag Manager Table (TMT), a hardware architecture for generating and managing process-specific TLB tags. Since the TMT approach is software-transparent, it is equally applicable for virtualized and non-virtualized environments. Using a full-system simulation approach, we investigate the reduction in the TLB miss rate achieved by using the TMT. We also analyze the variation of this reduction with factors like the size of the TMT, the TLB architecture and the workload characteristics and estimate the relative importance of these factors in determining this reduction.

[1]  Corporate The SPARC architecture manual (version 9) , 1994 .

[2]  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..

[3]  Diego R. Llanos Ferraris,et al.  TPCC-UVa: an open-source TPC-C implementation for global performance measurement of computer systems , 2006, SGMD.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[23]  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.

[24]  Jochen Liedtke,et al.  Improved Address-Space Switching on Pentium Processors by Transparently Multiplexing User Address Sp , 1995 .

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