SlideShare a Scribd company logo
1 of 19
Download to read offline
WHITE PAPER                  AMD-V™ Nested Paging




    AMD-V™ Nested Paging




   Issue Date: July, 2008    Revision: 1.0




                            Advanced Micro Devices, Inc.
WHITE PAPER                                                AMD-V™ Nested Paging




           © 2008 Advanced Micro Devices, Inc. All rights reserved.

      The contents of this document are provided in connection with
      Advanced Micro Devices, Inc. (“AMD”) products. AMD makes no
      representations or warranties with respect to the accuracy or
      completeness of the contents of this publication and reserves the right
      to make changes to specifications and product descriptions at any time
      without notice. No license, whether express, implied, arising by
      estoppel or otherwise, to any intellectual property rights is granted by
      this publication. Except as set forth in AMD’s Standard Terms and
      Conditions of Sale, AMD assumes no liability whatsoever, and disclaims
      any express or implied warranty, relating to its products including, but
      not limited to, the implied warranty of merchantability, fitness for a
      particular purpose, or infringement of any intellectual property right.

      AMD’s products are not designed, intended, authorized or warranted
      for use as components in systems intended for surgical implant into
      the body, or in other applications intended to support or sustain life, or
      in any other application in which the failure of AMD’s product could
      create a situation where personal injury, death, or severe property or
      environmental damage may occur. AMD reserves the right to
      discontinue or make changes to its products at any time without
      notice.

Trademarks
AMD, the AMD arrow logo, AMD Opteron, AMD Virtualization, and combinations
thereof, and AMD-V are trademarks of Advanced Micro Devices, Inc. Other product
names are used in this publication for informational purposes only and may be
trademarks of their respective companies.




                                                         Advanced Micro Devices, Inc.
WHITE PAPER                                       AMD-V™ Nested Paging

Executive Summary
Operating systems use processor paging to isolate the address space
of its processes and to efficiently utilize physical memory. Paging is the
process of converting a process-specific linear address to a system
physical address. When a processor is in paged mode, which is the
case for modern operating systems, paging is involved in every data
and instruction access. x86 processors utilize various hardware
facilities to reduce overheads associated with paging. However, under
virtualization, where the guest’s view of physical memory is different
from system’s view of physical memory, a second level of address
translation is required to convert guest physical addresses to machine
addresses. To enable this additional level of translation, the hypervisor
must virtualize processor paging. Current software-based paging
virtualization techniques such as shadow-paging incur significant
overheads, which result in reduced virtualized performance, increased
CPU utilization and increased memory consumption.

Continuing the leadership in virtualization architecture and
performance, AMD64 Quad-Core processors are the first x86
processors to introduce hardware support for a second or nested level
of address translation. This feature is a component of AMD
Virtualization technology (AMD-V™) and        referred to as Rapid
Virtualization Indexing (RVI) or nested paging. Under nested paging,
the processor utilizes nested page tables, which are set up by the
hypervisor, to perform a second level address translation. Nested
Paging reduces the overheads found in equivalent shadow paging
implementations.

This whitepaper discusses the existing software-based paging
virtualization solutions and their associated performance overheads. It
then introduces AMD-V™ Rapid Virtualization Indexing technology –
referred to as nested paging within this publication - highlights its
advantages and demonstrates the performance uplift that may be seen
with nested paging.




                                                Advanced Micro Devices, Inc.
WHITE PAPER                                                AMD-V™ Nested Paging

 Table of Contents:

 1. Introduction ...................................................................... 5
 2. System Virtualization Basics ................................................ 5
 3. x86 Address Translation Basics ............................................ 6
 4. Virtualizing x86 paging ....................................................... 8
 4.1 Software techniques for virtualizing address translation ........ 9
 4.2 AMD-V™ Nested Page Tables (NPT) ................................... 11
 4.2.1 Details ........................................................................ 12
 4.2.2 Cost of a Page Walk under Nested Paging ........................ 13
 4.2.3 Using Nested Paging ..................................................... 14
 4.2.4 Memory savings with NPT .............................................. 14
 4.2.5 Impact of Page Size on Nested Paging Performance .......... 15
 4.2.6 Micro-architecture Support for Improving Nested Paging
 Performance......................................................................... 15
 4.2.7 Address Space IDs ........................................................ 16
 4.2.8 Nested Paging Benchmarks ............................................ 17
 5 Conclusion ........................................................................ 19




                                                         Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging


1. Introduction
System virtualization is the abstraction and pooling of resources on a
platform. This abstraction decouples software and hardware and
enables multiple operating system images to run concurrently on a
single physical platform without interfering with each other.

Virtualization can increase utilization of computing resources by
consolidating workloads running on many physical machines into
virtual machines running on a single physical machine. This
consolidation can dramatically reduce power consumption and floor
space requirements in the data center. Virtual machines can be
provisioned on-demand, replicated and migrated using a centralized
management interface.

Beginning with 64-bit AMD Opteron™ Rev-F processors, AMD has
provided processor extensions to facilitate development of more
efficient, secure and robust software for system virtualization. These
extensions, collectively called AMD Virtualization™ or AMD-V™
technology, remove the overheads associated with software-only
virtualization solutions and attempt to reduce the performance gap
between virtualized and non-virtualized systems.


2. System Virtualization Basics
To allow multiple operating systems to run on the        same physical
platform, a platform layer implemented in software       decouples the
operating system from the underlying hardware. This      layer is called
the hypervisor. In context of system virtualization,     the operating
system being virtualized is referred to as guest.

To properly virtualize and isolate a guest, the hypervisor must control
or mediate all privileged operations performed by the guest. The
hypervisor can accomplish this using various techniques. The first
technique is called para-virtualization, where the guest source code is
modified to cooperate with the hypervisor when performing privileged
operations. The second technique is called binary translation, where at
run time the hypervisor transparently replaces privileged operations in
the guest with operations that allow the hypervisor to control and
emulate those operations. The third method is hardware-assisted
virtualization, where the hypervisor uses processor extensions such
AMD-V to intercept and emulate privileged operations in the guest. In
certain cases AMD-V technology allows the hypervisor to specify how



                                              Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging

the processor should handle privileged operations in guest itself
without transferring control to the hypervisor.

A hypervisor using binary translation or hardware assisted
virtualization must provide the illusion to the guest that the guest is
running on physical hardware. For example, when the guest uses
processor’s paging support for address translation, the hypervisor
must ensure that the guest observes the equivalent behavior it would
observe on non-virtualized hardware.



3. x86 Address Translation Basics

A virtual address is the address a program uses to access data and
instructions. Virtual address is comprised of segment and offset fields.
The segment information is used to determine protection information
and starting address of segment. Segment translation cannot be
disabled, but operating systems generally use flat segmentation where
all segments are mapped to the entire physical address space. Under
flat segmentation the virtual address effectively becomes the linear
address. In this whitepaper we will use linear and virtual address
interchangeably.

If paging is enabled, the linear address is translated to a physical
address using processor paging hardware. To use paging, the
operating system creates and manages a set of page tables (See
figure 1). The page table walker or simply the page walker,
implemented in processor hardware, performs address translation
using these page tables and various bit fields in the linear address.
Figure 2 shows the high level algorithm used by the page walker for
address translation.




                                               Advanced Micro Devices, Inc.
WHITE PAPER                                        AMD-V™ Nested Paging


                         Linear/Virtual Address




             Figure 1: 4KB page tables in long mode




 Figure 2: Linear/Virtual to physical address translation algorithm




                                                  Advanced Micro Devices, Inc.
WHITE PAPER                                       AMD-V™ Nested Paging



During the page walk, the page walker encounters physical addresses
in CR3 register and in page table entries which point to the next level
of the walk. The page walk ends when the data or leaf page is
reached.

Address translation is a very memory intensive operation because the
page walker must access the memory hierarchy many times. To
reduce this overhead, AMD processors automatically store recent
translations in an internal translation look-aside buffer (TLB). At every
memory reference, the processor first checks the TLB to determine if
the required translation is already cached; if it is cached, the processor
uses that translation; otherwise page tables are walked, the resulting
translation is saved in the TLB and the instruction is executed.

Operating systems are required to cooperate with the processor to
keep the TLB consistent with page tables in memory. For example,
when removing an address translation, the operating system must
request the processor to invalidate the TLB entry associated with that
translation. On SMP systems where an operating system may share
page tables between processes running on multiple processors, the
operating system must ensure that TLB entries on all processors
remain consistent. When removing a shared translation, operating
system software should invalidate the corresponding TLB entry on all
the processors.

The operating system updates the page table’s base pointer (CR3)
during a context switch. A CR3 change establishes a new set of
translations and therefore the processor automatically invalidates TLB
entries associated with the previous context.

The processor sets accessed and dirty bits in the page tables during
memory accesses. The ‘accessed’ bit is set in all levels of the page
table when the processor uses that translation to read or write
memory. The ‘dirty’ bit is set in the PTE when the processor writes to
the memory page mapped by that PTE.


4. Virtualizing x86 paging

To provide protection and isolation between guests and hypervisor, the
hypervisor must control address translation on the processor by
essentially enforcing another level of address translation when guests


                                                Advanced Micro Devices, Inc.
WHITE PAPER                                      AMD-V™ Nested Paging

are active. This additional level of translation maps the guest’s view of
physical memory to the system’s view of physical memory.

With para-virtualized guests, the hypervisor and the guest can utilize
para-virtual interfaces to reduce hypervisor complexity and overhead
in virtualizing x86 paging. However for unmodified guests, the
hypervisor must completely virtualize x86 address translation. This
could incur significant overheads which we discuss in following
sections.

4.1   Software       techniques       for    virtualizing        address
translation

Software-based techniques maintain a shadow version of page table
derived from guest page table (gPT). When the guest is active, the
hypervisor forces the processor to use the shadow page table (sPT) to
perform address translation. The sPT is not visible to the guest.

To maintain a valid sPT the hypervisor must keep track of the state of
gPT. This include modifications by the guest to add or remove
translation in the gPT, guest versus hypervisor induced page faults
(defined below), accessed and dirty bits in sPT; and for SMP guests,
consistency of address translation on processors.

Software can use various techniques to keep the sPT and gPT
consistent. One of the techniques is write-protecting the gPT. In this
technique the hypervisor write-protects all physical pages that
constitute the gPT. Any modification by the guest to add a translation
results in a page fault exception. On a page fault exception, the
processor control is transferred to the hypervisor so it can emulate the
operation appropriately. Similarly, the hypervisor gets control when
the guest edits gPT to remove a translation; the hypervisor removes
the translation from the gPT and updates the sPT accordingly.

A different shadow paging technique does not write-protect gPT but
instead depends on processor’s page-fault behavior and on guest
adhering to TLB consistency rules. In this technique, sometimes
referred to as Virtual TLB, the hypervisor lets the guest add new
translations to gPT without intercepting those operations. Then later
when the guest accesses an instruction or data which results in the
processor referencing memory using that translation, the processor
page faults because that translation is not present in sPT just yet. The
page fault allows the hypervisor to intervene; it inspects the gPT to
add the missing translation in the sPT and executes the faulting


                                                Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging

instruction. Similarly when the guest removes a translation, it
executes INVLPG to invalidate that translation in the TLB. The
hypervisor intercepts this operation; it then removes the
corresponding translation in sPT and executes INVLPG for the removed
translation.

Both techniques result in large number of page fault exceptions. Many
page faults are caused due to normal guest behavior; such those as a
result of accessing pages that have been paged out to the storage
hierarchy by the guest operating system. We call such faults guest-
induced page faults and they must be intercepted by the hypervisor,
analyzed, and then reflected into the guest, which is a significant
overhead when compared to native paging. Page faults due to shadow
paging are called hypervisor-induced page faults. To distinguish
between these two faults, the hypervisor traverses the guest and
shadow page tables, which incurs significant software overheads.

When a guest is active, the page walker sets the accessed and dirty
bits in the sPT. But because the guest may depend on proper setting
of these bits in gPT, the hypervisor must reflect them back in the gPT.
For example, the guest may use these bits to determine which pages
can be moved to the hard disk to make room for new pages.

When the guest attempts to schedule a new process on the processor,
it updates processor’s CR3 register to establish the gPT corresponding
to the new process. The hypervisor must intercept this operation,
invalidate TLB entries associated with the previous CR3 value and set
the real CR3 value based on the corresponding sPT for the new
process. Frequent context switches within the guest could result in
significant hypervisor overheads.

Shadow paging can incur significant additional memory and
performance overheads with SMP guests. In an SMP guest, the same
gPT instance can be used for address translation on more than one
processor. In such a case the hypervisor must either maintain sPT
instances that can be used at each processor or share the sPT between
multiple virtual processors. The former results in high memory
overheads; the latter could result in high synchronization overheads.

It is estimated that for certain workloads shadow paging can account
for up to 75% of overall hypervisor overhead.




                                              Advanced Micro Devices, Inc.
WHITE PAPER                                  AMD-V™ Nested Paging




 Figure 3: Guest and shadow page tables (showing two-level paging)




4.2 AMD-V™ Nested Page Tables (NPT)
To avoid the software overheads under shadow paging, AMD64 Quad-
Core processors add Nested Paging to the hardware page walker.
Nested paging uses an additional or nested page table (NPT) to
translate guest physical addresses to system physical addresses and


                                            Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging

leaves the guest in complete control over its page tables. Unlike
shadow paging, once the nested pages are populated, the hypervisor
does not need to intercept and emulate guest’s modification of gPT.

Nested paging removes the overheads associated with shadow paging.
However because nested paging introduces an additional level of
translation, the TLB miss cost could be larger.


4.2.1 Details
Under nested paging both guest and the hypervisor have their own
copy of the processor state affecting paging such as the CR0, CR3,
CR4, EFER and PAT.

The gPT maps guest linear addresses to guest physical addresses.
Nested page tables (nPT) map guest physical addresses to system
physical addresses.

Guest and nested page tables are set up by the guest and hypervisor
respectively. When a guest attempts to reference memory using a
linear address and nested paging is enabled, the page walker performs
a 2-dimensional walk using the gPT and nPT to translate the guest
linear address to system physical address. See figure 4.

When the page walk is completed, a TLB entry containing the
translation from guest linear address to system physical address is
cached in the TLB and used on subsequent accesses to that linear
address.

AMD processors supporting nested paging use the same TLB facilities
to map from linear to system physical addresses, whether the
processor is in guest or in host (or hypervisor) mode. When the
processor is in guest mode, TLB maps guest linear addresses to
system physical addresses. When processor is in host mode, the TLB
maps host linear addresses to system physical addresses.

In addition, AMD processors supporting nested paging maintain a
Nested TLB which caches guest physical to system physical
translations to accelerate nested page table walks.         Nested TLB
exploits the high locality of guest page table structures and has a high
hit rate.




                                               Advanced Micro Devices, Inc.
WHITE PAPER                                                                                                                          AMD-V™ Nested Paging


                     63    48 47                     39 38                     30 29                    21 20                12 11                     0
 Guest Virtual                     PML4 Offset               PDP Offset                PD Offset                PT Offset       Physical Page Off.


                                      Page-Map                Page Directory           Page Directory              Page                 Guest 4KB
                                     Level-4 Table            Pointer Table               Table                    Table               memory page




                                                                gPDPE
                                                                                                                                         gData                   4KB pages
                                                                                                                                                               addressed by
                                                                                                                  gPTE                                     guest physical address

                                                                                          gPDE
 51            12                    gPML4E
      gCR3


                                     Nested                       Nested                     Nested                  Nested               Nested
                                      walk                         walk                       walk                    walk                 walk




                      63    48 47                      39 38                     30 29                    21 20               12 11                        0
                                    PML4 Offset                PDP Offset                PD Offset                PT Offset          Physical Page Off.


                                        Page-Map                Page Directory           Page Directory              Page                 Guest 4KB
                                       Level-4 Table            Pointer Table               Table                    Table               memory page

      Nested
       walk
                                                                  nPDPE
                                                                                                                                                                     4KB pages
                                                                                                                                                                    addressed by
                                                                                                                    nPTE                                       system physical address

                                                                                            nPDE
  51            12                     nPML4E                                                                                            gPML4E
        nCR3




Figure 4: Translating guest linear address to system physical address
                       using nested page tables




4.2.2 Cost of a Page Walk under Nested Paging

A TLB miss under nested paging could have a higher cost than a TLB
miss under non-nested paging. This is because under nested paging,
the page walker must not only walk gPT but also simultaneously walk
nPT to translate the guest physical addresses encountered during
guest page table walk (such as gCR3 and gPT entries) to system
physical addresses.

For example, a 4-level guest page table walk could invoke the nested
page walker 5 times, once for each guest physical address
encountered and once for the final translation of the GP of the datum
itself. Each nested page walk can require up to 4 cacheable memory
accesses to determine the guest physical to system physical mapping


                                                                                                                               Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging

and one more memory access to read the entry itself. In such a case
a TLB miss cost can increase from 4 memory references in non-nested
paging to 24 in nested paging unless caching is done. Figure 5 shows
the steps taken by the page walker with 4 levels in both guest and
nested page tables.




Figure 5: Address translation with nested paging. GPA is guest physical
   address; SPA is system physical address; nL is nested level; gL is
                              guest level



4.2.3 Using Nested Paging

Nested paging is a feature intended for hypervisor’s use. The guest
cannot observe any difference (except performance) while running
under a hypervisor using nested paging. Nested paging does not
require any changes in guest software.

Nesting paging is an optional feature and not available in all
implementations of processors supporting AMD-V technology. Software
can use the CPUID instruction to determine if nested paging is
supported on that processor implementation.


4.2.4 Memory savings with NPT




                                              Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging

Unlike shadow-paging, which requires the hypervisor to maintain an
sPT instance for each gPT, a hypervisor using nested paging can set up
a single instance of nPT to map the entire guest physical address
space. Since guest memory is compact, the nPT should typically
consume considerably less memory than an equivalent shadow-paging
implementation.

With nested paging, the hypervisor can maintain a single instance of
nPT which can be used simultaneously at one more processor in an
SMP guest. This is much more efficient than shadow paging
implementations where the hypervisor either incurs a memory
overhead to maintain per virtual processor sPT or incurs
synchronization overheads resulting from use of shared sPT.


4.2.5 Impact of Page Size on Nested Paging Performance

Besides other factors, address translation performance is reduced
when there is an increase in TLB miss cost. Other things being equal,
TLB miss cost (under nested and non-nested paging) decreases if
fewer pages need to be walked. Large page sizes reduce page levels
needed for address translation.

To improve nested paging performance, a hypervisor can chose to
populate nPT with large page sizes. Nested page table sizes can be
different for each page in each guest and can be changed during guest
execution. AMD64 Quad-Core processors support 4KB, 2MB, and 1GB
page sizes.

Like large nested page size, large guest page size also reduces TLB
miss cost. Many workloads such as database workloads typically use
large pages and should perform well under nested paging.

An indirect benefit of large pages is TLB efficiency. With larger pages,
each TLB entry covers a larger range of linear to physical address
translation; effectively increasing TLB capacity and reducing page walk
frequency.


4.2.6 Micro-architecture Support for Improving Nested
Paging Performance

To reduce page walk overheads, AMD64 processors maintain a fast
internal Page Walk Cache (PWC) for memory referenced by frequently


                                               Advanced Micro Devices, Inc.
WHITE PAPER                                     AMD-V™ Nested Paging

used page table entries. The PWC entries are tagged with physical
addresses and prevent a page entry reference from accessing the
memory hierarchy.

With nested paging, the significance of the PWC becomes even more
important. AMD processors supporting nested paging can cache guest
page table as well as nested page table entries. This would convert
the unconditional memory hierarchy access for data referenced by
both guest and nested page table entries to likely PWC hits. Reuse of
page table entries at the top most page level is the highest while that
at the lowest level is the least. PWC takes these characteristics into
consideration when caching entries.

As we discussed previously, the TLB plays a major role in reducing
address translation overheads. When TLB capacity increases, the
number of costly page walks needed decreases. The AMD “Barcelona”
family of processors are designed to cache up to 48 TLB entries in
their L1 Data TLB for any page size; 4KB, 2MB or 1GB pages. They
can also cache 512 4KB TLB entries or 128 2M entries in their L2 TLB.
A TLB with large capacity improves performance under nested as well
as shadow paging.

Similar to the regular TLB which caches linear address to system
address translations, AMD processors supporting nested paging
support a Nested TLB (NTLB) to cache guest physical to system
physical translations. The goal of NTLB is to reduce the average
number of page entry references during a nested walk.

The TLB, PWC and NTLB work together to improve nested paging
performance without requiring any software changes in guest or the
hypervisor.


4.2.7 Address Space IDs
Starting 64-bit AMD Opteron Rev-F processors support Address Space
IDs (ASIDs) to dynamically partition the TLB. The hypervisor assigns a
unique ASID value to each guest scheduled to run on the processor.
During a TLB lookup, the ASID value of the currently active guest is
matched against the ASID tag in the TLB entry and the linear page
frame numbers are matched for a potential TLB hit. Thus TLB entries
belonging to different guests and to the hypervisor can coexist without
causing incorrect address translations, and these TLB entries can
persist during context switches. Without ASIDs, all TLB entries must
be flushed before a context switch and refilled later.


                                              Advanced Micro Devices, Inc.
WHITE PAPER                                      AMD-V™ Nested Paging


Use of ASIDs allows the hypervisor to make efficient use of processor’s
TLB capacity to improve guest performance under nested paging.




                  Figure 6: Address Space ID (ASID)



4.2.8 Nested Paging Benchmarks

This whitepaper includes benchmark results collected from an early
revision of the AMD “Barcelona” family of processors and early
hypervisor implementations. It is possible that as hypervisors get
optimized for nesting paging, the overall performance will improve.
Furthermore, the performance may improve with enhancements to
micro architecture. As benchmark results from later revisions of
AMD64 Quad-Core processors and later hypervisor versions become
available, they will be added or linked to this document.

The benchmarks discussed here were collected on systems with the
following configuration:

Processors: 2-socket, 2.0GHz/1800MHz-NB Barcelona (Model 2350), 95W.
Memory: 32GB of 4GB DDR2-667MHz.
HBA: QLA2432 (dual-port PCIe 2Gb Fiber) HBA: 1 port used.
Disk Array: MSA1500, 1 controller, 1 fiber connection, 512MB cache. 15
drives 15K rpm SCSI 73GB disks.

Figure 7 shows benchmark data collected with and without nested
paging using an experimental build of VMware ESX. With nested
paging, the performance increased by approximately 14 and 58
percent for SQL DB Hammer and MS Terminal Services workloads
respectively.




                                               Advanced Micro Devices, Inc.
WHITE PAPER                                    AMD-V™ Nested Paging




   Figure 7: Performance with and without nested paging with an
 experimental build of VMware ESX hypervisor on AMD64 Quad-Core
                            Model 2350

Figure 8 shows Oracle 10G OLTP with and without nested paging with
RHEL 4.4 running under Xen 3.1. With nested paging, the performance
increased by approximately 94%. With para-virtualized (PV) drivers for
NIC and storage, the performance increased by 249%.




                                              Advanced Micro Devices, Inc.
WHITE PAPER                                  AMD-V™ Nested Paging

  Figure 8: Oracle 10G OLTP performance with and without nested
 paging with RHEL 5.5 under Xen on AMD64 Quad-Core Model 2350.


5 Conclusion
Nested Paging removes the virtualization overheads associated with
traditional software-based shadow paging algorithms. Together with
other architectural and micro-architectural enhancements in AMD64
Quad-core processors, Nested Paging helps deliver performance
improvements, specifically for memory intensive workloads with high
context-switch frequency. Servers based on these processors can
provide outstanding scalability, leading edge performance-per-watt,
high consolidation ratios and great headroom for server workloads.




                                            Advanced Micro Devices, Inc.

More Related Content

What's hot

Momentum Webcast HP Virtualization
Momentum Webcast HP VirtualizationMomentum Webcast HP Virtualization
Momentum Webcast HP Virtualizationaljimenez
 
IBM i Job wait accounting job watcher june 2012
IBM i Job wait accounting job watcher june 2012IBM i Job wait accounting job watcher june 2012
IBM i Job wait accounting job watcher june 2012COMMON Europe
 
Performance case studies Common Europe june 2012
Performance case studies Common Europe june 2012Performance case studies Common Europe june 2012
Performance case studies Common Europe june 2012COMMON Europe
 
IBMSystem x3620 M3 IBMSystems and Technology Data Sheet
IBMSystem x3620 M3 IBMSystems and Technology Data SheetIBMSystem x3620 M3 IBMSystems and Technology Data Sheet
IBMSystem x3620 M3 IBMSystems and Technology Data SheetIBM India Smarter Computing
 
Licensing Windows For Virtual Desktops Customer Ready V1 0
Licensing Windows For Virtual Desktops Customer Ready V1 0Licensing Windows For Virtual Desktops Customer Ready V1 0
Licensing Windows For Virtual Desktops Customer Ready V1 0guestd54e35
 
Red Hat Enterprise Virtualization sizing guide
Red Hat Enterprise Virtualization sizing guideRed Hat Enterprise Virtualization sizing guide
Red Hat Enterprise Virtualization sizing guidePrincipled Technologies
 
VDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server GenerationVDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server GenerationKingfin Enterprises Limited
 
Throughput comparison: Dell PowerEdge R720 drive options
Throughput comparison: Dell PowerEdge R720 drive optionsThroughput comparison: Dell PowerEdge R720 drive options
Throughput comparison: Dell PowerEdge R720 drive optionsPrincipled Technologies
 
All About Virtualization
All About VirtualizationAll About Virtualization
All About VirtualizationEMC
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroductionRohit Kelapure
 
I drac7 virtual_media_improved_networking_performance_6
I drac7 virtual_media_improved_networking_performance_6I drac7 virtual_media_improved_networking_performance_6
I drac7 virtual_media_improved_networking_performance_6olive4277
 
Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...
Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...
Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...Principled Technologies
 
Ibm smart cloud entry+ for system x administrator guide
Ibm smart cloud entry+ for system x administrator guideIbm smart cloud entry+ for system x administrator guide
Ibm smart cloud entry+ for system x administrator guideIBM India Smarter Computing
 
Dell high density GPU solution
Dell high density GPU solutionDell high density GPU solution
Dell high density GPU solutionClayton Li
 
The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...
The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...
The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...ReadWriteEnterprise
 
VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...
VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...
VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...Principled Technologies
 

What's hot (20)

Momentum Webcast HP Virtualization
Momentum Webcast HP VirtualizationMomentum Webcast HP Virtualization
Momentum Webcast HP Virtualization
 
IBM i Job wait accounting job watcher june 2012
IBM i Job wait accounting job watcher june 2012IBM i Job wait accounting job watcher june 2012
IBM i Job wait accounting job watcher june 2012
 
Performance case studies Common Europe june 2012
Performance case studies Common Europe june 2012Performance case studies Common Europe june 2012
Performance case studies Common Europe june 2012
 
IBMSystem x3620 M3 IBMSystems and Technology Data Sheet
IBMSystem x3620 M3 IBMSystems and Technology Data SheetIBMSystem x3620 M3 IBMSystems and Technology Data Sheet
IBMSystem x3620 M3 IBMSystems and Technology Data Sheet
 
Licensing Windows For Virtual Desktops Customer Ready V1 0
Licensing Windows For Virtual Desktops Customer Ready V1 0Licensing Windows For Virtual Desktops Customer Ready V1 0
Licensing Windows For Virtual Desktops Customer Ready V1 0
 
Mc 1000
Mc  1000Mc  1000
Mc 1000
 
Red Hat Enterprise Virtualization sizing guide
Red Hat Enterprise Virtualization sizing guideRed Hat Enterprise Virtualization sizing guide
Red Hat Enterprise Virtualization sizing guide
 
VDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server GenerationVDI Performance of PRIMERGY S7 Server Generation
VDI Performance of PRIMERGY S7 Server Generation
 
Throughput comparison: Dell PowerEdge R720 drive options
Throughput comparison: Dell PowerEdge R720 drive optionsThroughput comparison: Dell PowerEdge R720 drive options
Throughput comparison: Dell PowerEdge R720 drive options
 
All About Virtualization
All About VirtualizationAll About Virtualization
All About Virtualization
 
Performance tuningtoolkitintroduction
Performance tuningtoolkitintroductionPerformance tuningtoolkitintroduction
Performance tuningtoolkitintroduction
 
I drac7 virtual_media_improved_networking_performance_6
I drac7 virtual_media_improved_networking_performance_6I drac7 virtual_media_improved_networking_performance_6
I drac7 virtual_media_improved_networking_performance_6
 
Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...
Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...
Nimboxx HCI AU-110x: A scalable, easy-to-use solution for hyperconverged infr...
 
J2 Me
J2 MeJ2 Me
J2 Me
 
Ibm smart cloud entry+ for system x administrator guide
Ibm smart cloud entry+ for system x administrator guideIbm smart cloud entry+ for system x administrator guide
Ibm smart cloud entry+ for system x administrator guide
 
WINDOWS-CE
WINDOWS-CEWINDOWS-CE
WINDOWS-CE
 
Dell high density GPU solution
Dell high density GPU solutionDell high density GPU solution
Dell high density GPU solution
 
The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...
The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...
The All New 2010 Intel Core vPro Processor Family and Windows 7: Your Best Ch...
 
VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...
VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...
VDI performance comparison: Dell PowerEdge FX2 and FC430 servers with VMware ...
 
Paravirtualization
ParavirtualizationParavirtualization
Paravirtualization
 

Viewers also liked

ITP Instance Management Process V2
ITP Instance Management Process V2ITP Instance Management Process V2
ITP Instance Management Process V2Mahesh Vallampati
 
300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud PlatformMobileMonday Tel-Aviv
 
Intel® Xeon® Processor 5500 Series
Intel® Xeon® Processor 5500 SeriesIntel® Xeon® Processor 5500 Series
Intel® Xeon® Processor 5500 SeriesJames Price
 
Time and Attention in Digital Advertising
Time and Attention in Digital AdvertisingTime and Attention in Digital Advertising
Time and Attention in Digital AdvertisingEyeblaster Spain
 
The Great Murder
The Great MurderThe Great Murder
The Great Murdergranilla
 
Where to focus event innovation? - An audience led approach
Where to focus event innovation? - An audience led approachWhere to focus event innovation? - An audience led approach
Where to focus event innovation? - An audience led approachLive Union
 
2013 ucdavis-smbe-eukaryotes
2013 ucdavis-smbe-eukaryotes2013 ucdavis-smbe-eukaryotes
2013 ucdavis-smbe-eukaryotesc.titus.brown
 
Orange Israel iPhone startAPP contest winners at MoMoTLV
Orange Israel iPhone startAPP contest winners at MoMoTLVOrange Israel iPhone startAPP contest winners at MoMoTLV
Orange Israel iPhone startAPP contest winners at MoMoTLVMobileMonday Tel-Aviv
 
Analizador sintáctico de Pascal escrito en Bison
Analizador sintáctico de Pascal escrito en BisonAnalizador sintáctico de Pascal escrito en Bison
Analizador sintáctico de Pascal escrito en BisonEgdares Futch H.
 
Section 1031 for Real Estate Professionals
Section 1031 for Real Estate ProfessionalsSection 1031 for Real Estate Professionals
Section 1031 for Real Estate ProfessionalsEdmund_Wheeler
 
Marketing Your Message Literacy Program Sustainability
Marketing Your Message   Literacy Program SustainabilityMarketing Your Message   Literacy Program Sustainability
Marketing Your Message Literacy Program SustainabilitySarah Halstead
 
Пропозиція PR-агенції "Автограф"
Пропозиція PR-агенції "Автограф"Пропозиція PR-агенції "Автограф"
Пропозиція PR-агенції "Автограф"autograf_comm
 
Great Photography
Great  PhotographyGreat  Photography
Great Photographylewisj2111
 
Your Guide to Business + Legal Success in Latin America
Your Guide to Business + Legal Success in Latin AmericaYour Guide to Business + Legal Success in Latin America
Your Guide to Business + Legal Success in Latin AmericaKegler Brown Hill + Ritter
 
وظائف القيادة
وظائف القيادةوظائف القيادة
وظائف القيادةAhmad Darwish
 

Viewers also liked (20)

ITP Instance Management Process V2
ITP Instance Management Process V2ITP Instance Management Process V2
ITP Instance Management Process V2
 
300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform300 - Multiplatform Apps on Google Cloud Platform
300 - Multiplatform Apps on Google Cloud Platform
 
Sabela
SabelaSabela
Sabela
 
Intel® Xeon® Processor 5500 Series
Intel® Xeon® Processor 5500 SeriesIntel® Xeon® Processor 5500 Series
Intel® Xeon® Processor 5500 Series
 
Time and Attention in Digital Advertising
Time and Attention in Digital AdvertisingTime and Attention in Digital Advertising
Time and Attention in Digital Advertising
 
The Great Murder
The Great MurderThe Great Murder
The Great Murder
 
Where to focus event innovation? - An audience led approach
Where to focus event innovation? - An audience led approachWhere to focus event innovation? - An audience led approach
Where to focus event innovation? - An audience led approach
 
2013 ucdavis-smbe-eukaryotes
2013 ucdavis-smbe-eukaryotes2013 ucdavis-smbe-eukaryotes
2013 ucdavis-smbe-eukaryotes
 
Orange Israel iPhone startAPP contest winners at MoMoTLV
Orange Israel iPhone startAPP contest winners at MoMoTLVOrange Israel iPhone startAPP contest winners at MoMoTLV
Orange Israel iPhone startAPP contest winners at MoMoTLV
 
CG borodino
CG borodinoCG borodino
CG borodino
 
Thara
TharaThara
Thara
 
St James Slides
St James SlidesSt James Slides
St James Slides
 
Theguesswho
TheguesswhoTheguesswho
Theguesswho
 
Analizador sintáctico de Pascal escrito en Bison
Analizador sintáctico de Pascal escrito en BisonAnalizador sintáctico de Pascal escrito en Bison
Analizador sintáctico de Pascal escrito en Bison
 
Section 1031 for Real Estate Professionals
Section 1031 for Real Estate ProfessionalsSection 1031 for Real Estate Professionals
Section 1031 for Real Estate Professionals
 
Marketing Your Message Literacy Program Sustainability
Marketing Your Message   Literacy Program SustainabilityMarketing Your Message   Literacy Program Sustainability
Marketing Your Message Literacy Program Sustainability
 
Пропозиція PR-агенції "Автограф"
Пропозиція PR-агенції "Автограф"Пропозиція PR-агенції "Автограф"
Пропозиція PR-агенції "Автограф"
 
Great Photography
Great  PhotographyGreat  Photography
Great Photography
 
Your Guide to Business + Legal Success in Latin America
Your Guide to Business + Legal Success in Latin AmericaYour Guide to Business + Legal Success in Latin America
Your Guide to Business + Legal Success in Latin America
 
وظائف القيادة
وظائف القيادةوظائف القيادة
وظائف القيادة
 

Similar to AMD-V™ Nested Paging

Amd V Nested Paging
Amd V Nested PagingAmd V Nested Paging
Amd V Nested Pagingjworth
 
Live Migration with AMD-V™ Extended Migration Technology
Live Migration with AMD-V™ Extended Migration TechnologyLive Migration with AMD-V™ Extended Migration Technology
Live Migration with AMD-V™ Extended Migration TechnologyJames Price
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Louis Göhl
 
Hardware Support for Efficient VirtualizationJohn Fisher-O
Hardware Support for Efficient VirtualizationJohn Fisher-OHardware Support for Efficient VirtualizationJohn Fisher-O
Hardware Support for Efficient VirtualizationJohn Fisher-Osimisterchristen
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server VirtualisationAlan McSweeney
 
Virtualization and Open Virtualization Format (OVF)
Virtualization and Open Virtualization Format (OVF)Virtualization and Open Virtualization Format (OVF)
Virtualization and Open Virtualization Format (OVF)rajsandhu1989
 
Mid term report
Mid term reportMid term report
Mid term reportlokesh039
 
APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...
APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...
APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...Neha417639
 
Vmware paravirtualization
Vmware paravirtualizationVmware paravirtualization
Vmware paravirtualizationKien Le Duc
 
VMware_paravirtualization-2.pdf
VMware_paravirtualization-2.pdfVMware_paravirtualization-2.pdf
VMware_paravirtualization-2.pdfnyazirecarlington
 
VMware Paravirtualization
VMware ParavirtualizationVMware Paravirtualization
VMware ParavirtualizationiTawy Community
 
Technology
TechnologyTechnology
Technologysam ran
 
Virtualization
VirtualizationVirtualization
Virtualizationjworth
 
IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)
IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)
IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)IRJET Journal
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructureKavaskar Ganesan
 
IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...
IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...
IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...IRJET Journal
 
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」PC Cluster Consortium
 
Data Redundancy on Diskless Client using Linux Platform
Data Redundancy on Diskless Client using Linux PlatformData Redundancy on Diskless Client using Linux Platform
Data Redundancy on Diskless Client using Linux PlatformIJCSIS Research Publications
 
App note running-amd_app_apps_remotely
App note running-amd_app_apps_remotelyApp note running-amd_app_apps_remotely
App note running-amd_app_apps_remotelyRuby Tsai
 

Similar to AMD-V™ Nested Paging (20)

Amd V Nested Paging
Amd V Nested PagingAmd V Nested Paging
Amd V Nested Paging
 
Live Migration with AMD-V™ Extended Migration Technology
Live Migration with AMD-V™ Extended Migration TechnologyLive Migration with AMD-V™ Extended Migration Technology
Live Migration with AMD-V™ Extended Migration Technology
 
Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]Security best practices for hyper v and server virtualisation [svr307]
Security best practices for hyper v and server virtualisation [svr307]
 
Hardware Support for Efficient VirtualizationJohn Fisher-O
Hardware Support for Efficient VirtualizationJohn Fisher-OHardware Support for Efficient VirtualizationJohn Fisher-O
Hardware Support for Efficient VirtualizationJohn Fisher-O
 
An Introduction To Server Virtualisation
An Introduction To Server VirtualisationAn Introduction To Server Virtualisation
An Introduction To Server Virtualisation
 
Virtualization and Open Virtualization Format (OVF)
Virtualization and Open Virtualization Format (OVF)Virtualization and Open Virtualization Format (OVF)
Virtualization and Open Virtualization Format (OVF)
 
Mid term report
Mid term reportMid term report
Mid term report
 
APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...
APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...
APznzaamT18LaGRvfDd3vc6XGHHoq2hlFqHYsO9vYeEQXTa-sAm9oMvLFaeBQkqdEEa1z4UJVAboW...
 
Vmware paravirtualization
Vmware paravirtualizationVmware paravirtualization
Vmware paravirtualization
 
VMware_paravirtualization-2.pdf
VMware_paravirtualization-2.pdfVMware_paravirtualization-2.pdf
VMware_paravirtualization-2.pdf
 
VMware Paravirtualization
VMware ParavirtualizationVMware Paravirtualization
VMware Paravirtualization
 
Virtualization
VirtualizationVirtualization
Virtualization
 
Technology
TechnologyTechnology
Technology
 
Virtualization
VirtualizationVirtualization
Virtualization
 
IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)
IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)
IRJET- A Survey on Virtualization and Attacks on Virtual Machine Monitor (VMM)
 
Virtual desktop infrastructure
Virtual desktop infrastructureVirtual desktop infrastructure
Virtual desktop infrastructure
 
IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...
IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...
IRJET-Virtualization Technique for Effective Resource Utilization and Dedicat...
 
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
PCCC23:日本AMD株式会社 テーマ2「AMD EPYC™ プロセッサーを用いたAIソリューション」
 
Data Redundancy on Diskless Client using Linux Platform
Data Redundancy on Diskless Client using Linux PlatformData Redundancy on Diskless Client using Linux Platform
Data Redundancy on Diskless Client using Linux Platform
 
App note running-amd_app_apps_remotely
App note running-amd_app_apps_remotelyApp note running-amd_app_apps_remotely
App note running-amd_app_apps_remotely
 

More from James Price

The Next Generation of Intel: The Dawn of Nehalem
The Next Generation of Intel: The Dawn of NehalemThe Next Generation of Intel: The Dawn of Nehalem
The Next Generation of Intel: The Dawn of NehalemJames Price
 
Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...
Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...
Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...James Price
 
IDC Tech Spotlight: From Silicon To Cloud
IDC Tech Spotlight: From Silicon To CloudIDC Tech Spotlight: From Silicon To Cloud
IDC Tech Spotlight: From Silicon To CloudJames Price
 
Virtualizing the Next Generation of Server Workloads with AMD™
Virtualizing the Next Generation of Server Workloads with AMD™Virtualizing the Next Generation of Server Workloads with AMD™
Virtualizing the Next Generation of Server Workloads with AMD™James Price
 
AMD Putting Server Virtualization to Work
AMD Putting Server Virtualization to WorkAMD Putting Server Virtualization to Work
AMD Putting Server Virtualization to WorkJames Price
 
DataCore Solutions Overview
DataCore Solutions OverviewDataCore Solutions Overview
DataCore Solutions OverviewJames Price
 
AMD Virtualization -- Take Charge
AMD Virtualization -- Take ChargeAMD Virtualization -- Take Charge
AMD Virtualization -- Take ChargeJames Price
 
DataCore Corporate Introduction
DataCore Corporate IntroductionDataCore Corporate Introduction
DataCore Corporate IntroductionJames Price
 
Advanced Site Recovery -- Technical Briefing
Advanced Site Recovery -- Technical BriefingAdvanced Site Recovery -- Technical Briefing
Advanced Site Recovery -- Technical BriefingJames Price
 
Windows Server 2008 Hyper-V
Windows Server 2008 Hyper-VWindows Server 2008 Hyper-V
Windows Server 2008 Hyper-VJames Price
 

More from James Price (10)

The Next Generation of Intel: The Dawn of Nehalem
The Next Generation of Intel: The Dawn of NehalemThe Next Generation of Intel: The Dawn of Nehalem
The Next Generation of Intel: The Dawn of Nehalem
 
Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...
Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...
Intel® Virtualization Technology & Parallels Bring Native Graphics Innovation...
 
IDC Tech Spotlight: From Silicon To Cloud
IDC Tech Spotlight: From Silicon To CloudIDC Tech Spotlight: From Silicon To Cloud
IDC Tech Spotlight: From Silicon To Cloud
 
Virtualizing the Next Generation of Server Workloads with AMD™
Virtualizing the Next Generation of Server Workloads with AMD™Virtualizing the Next Generation of Server Workloads with AMD™
Virtualizing the Next Generation of Server Workloads with AMD™
 
AMD Putting Server Virtualization to Work
AMD Putting Server Virtualization to WorkAMD Putting Server Virtualization to Work
AMD Putting Server Virtualization to Work
 
DataCore Solutions Overview
DataCore Solutions OverviewDataCore Solutions Overview
DataCore Solutions Overview
 
AMD Virtualization -- Take Charge
AMD Virtualization -- Take ChargeAMD Virtualization -- Take Charge
AMD Virtualization -- Take Charge
 
DataCore Corporate Introduction
DataCore Corporate IntroductionDataCore Corporate Introduction
DataCore Corporate Introduction
 
Advanced Site Recovery -- Technical Briefing
Advanced Site Recovery -- Technical BriefingAdvanced Site Recovery -- Technical Briefing
Advanced Site Recovery -- Technical Briefing
 
Windows Server 2008 Hyper-V
Windows Server 2008 Hyper-VWindows Server 2008 Hyper-V
Windows Server 2008 Hyper-V
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

AMD-V™ Nested Paging

  • 1. WHITE PAPER AMD-V™ Nested Paging AMD-V™ Nested Paging Issue Date: July, 2008 Revision: 1.0 Advanced Micro Devices, Inc.
  • 2. WHITE PAPER AMD-V™ Nested Paging © 2008 Advanced Micro Devices, Inc. All rights reserved. The contents of this document are provided in connection with Advanced Micro Devices, Inc. (“AMD”) products. AMD makes no representations or warranties with respect to the accuracy or completeness of the contents of this publication and reserves the right to make changes to specifications and product descriptions at any time without notice. No license, whether express, implied, arising by estoppel or otherwise, to any intellectual property rights is granted by this publication. Except as set forth in AMD’s Standard Terms and Conditions of Sale, AMD assumes no liability whatsoever, and disclaims any express or implied warranty, relating to its products including, but not limited to, the implied warranty of merchantability, fitness for a particular purpose, or infringement of any intellectual property right. AMD’s products are not designed, intended, authorized or warranted for use as components in systems intended for surgical implant into the body, or in other applications intended to support or sustain life, or in any other application in which the failure of AMD’s product could create a situation where personal injury, death, or severe property or environmental damage may occur. AMD reserves the right to discontinue or make changes to its products at any time without notice. Trademarks AMD, the AMD arrow logo, AMD Opteron, AMD Virtualization, and combinations thereof, and AMD-V are trademarks of Advanced Micro Devices, Inc. Other product names are used in this publication for informational purposes only and may be trademarks of their respective companies. Advanced Micro Devices, Inc.
  • 3. WHITE PAPER AMD-V™ Nested Paging Executive Summary Operating systems use processor paging to isolate the address space of its processes and to efficiently utilize physical memory. Paging is the process of converting a process-specific linear address to a system physical address. When a processor is in paged mode, which is the case for modern operating systems, paging is involved in every data and instruction access. x86 processors utilize various hardware facilities to reduce overheads associated with paging. However, under virtualization, where the guest’s view of physical memory is different from system’s view of physical memory, a second level of address translation is required to convert guest physical addresses to machine addresses. To enable this additional level of translation, the hypervisor must virtualize processor paging. Current software-based paging virtualization techniques such as shadow-paging incur significant overheads, which result in reduced virtualized performance, increased CPU utilization and increased memory consumption. Continuing the leadership in virtualization architecture and performance, AMD64 Quad-Core processors are the first x86 processors to introduce hardware support for a second or nested level of address translation. This feature is a component of AMD Virtualization technology (AMD-V™) and referred to as Rapid Virtualization Indexing (RVI) or nested paging. Under nested paging, the processor utilizes nested page tables, which are set up by the hypervisor, to perform a second level address translation. Nested Paging reduces the overheads found in equivalent shadow paging implementations. This whitepaper discusses the existing software-based paging virtualization solutions and their associated performance overheads. It then introduces AMD-V™ Rapid Virtualization Indexing technology – referred to as nested paging within this publication - highlights its advantages and demonstrates the performance uplift that may be seen with nested paging. Advanced Micro Devices, Inc.
  • 4. WHITE PAPER AMD-V™ Nested Paging Table of Contents: 1. Introduction ...................................................................... 5 2. System Virtualization Basics ................................................ 5 3. x86 Address Translation Basics ............................................ 6 4. Virtualizing x86 paging ....................................................... 8 4.1 Software techniques for virtualizing address translation ........ 9 4.2 AMD-V™ Nested Page Tables (NPT) ................................... 11 4.2.1 Details ........................................................................ 12 4.2.2 Cost of a Page Walk under Nested Paging ........................ 13 4.2.3 Using Nested Paging ..................................................... 14 4.2.4 Memory savings with NPT .............................................. 14 4.2.5 Impact of Page Size on Nested Paging Performance .......... 15 4.2.6 Micro-architecture Support for Improving Nested Paging Performance......................................................................... 15 4.2.7 Address Space IDs ........................................................ 16 4.2.8 Nested Paging Benchmarks ............................................ 17 5 Conclusion ........................................................................ 19 Advanced Micro Devices, Inc.
  • 5. WHITE PAPER AMD-V™ Nested Paging 1. Introduction System virtualization is the abstraction and pooling of resources on a platform. This abstraction decouples software and hardware and enables multiple operating system images to run concurrently on a single physical platform without interfering with each other. Virtualization can increase utilization of computing resources by consolidating workloads running on many physical machines into virtual machines running on a single physical machine. This consolidation can dramatically reduce power consumption and floor space requirements in the data center. Virtual machines can be provisioned on-demand, replicated and migrated using a centralized management interface. Beginning with 64-bit AMD Opteron™ Rev-F processors, AMD has provided processor extensions to facilitate development of more efficient, secure and robust software for system virtualization. These extensions, collectively called AMD Virtualization™ or AMD-V™ technology, remove the overheads associated with software-only virtualization solutions and attempt to reduce the performance gap between virtualized and non-virtualized systems. 2. System Virtualization Basics To allow multiple operating systems to run on the same physical platform, a platform layer implemented in software decouples the operating system from the underlying hardware. This layer is called the hypervisor. In context of system virtualization, the operating system being virtualized is referred to as guest. To properly virtualize and isolate a guest, the hypervisor must control or mediate all privileged operations performed by the guest. The hypervisor can accomplish this using various techniques. The first technique is called para-virtualization, where the guest source code is modified to cooperate with the hypervisor when performing privileged operations. The second technique is called binary translation, where at run time the hypervisor transparently replaces privileged operations in the guest with operations that allow the hypervisor to control and emulate those operations. The third method is hardware-assisted virtualization, where the hypervisor uses processor extensions such AMD-V to intercept and emulate privileged operations in the guest. In certain cases AMD-V technology allows the hypervisor to specify how Advanced Micro Devices, Inc.
  • 6. WHITE PAPER AMD-V™ Nested Paging the processor should handle privileged operations in guest itself without transferring control to the hypervisor. A hypervisor using binary translation or hardware assisted virtualization must provide the illusion to the guest that the guest is running on physical hardware. For example, when the guest uses processor’s paging support for address translation, the hypervisor must ensure that the guest observes the equivalent behavior it would observe on non-virtualized hardware. 3. x86 Address Translation Basics A virtual address is the address a program uses to access data and instructions. Virtual address is comprised of segment and offset fields. The segment information is used to determine protection information and starting address of segment. Segment translation cannot be disabled, but operating systems generally use flat segmentation where all segments are mapped to the entire physical address space. Under flat segmentation the virtual address effectively becomes the linear address. In this whitepaper we will use linear and virtual address interchangeably. If paging is enabled, the linear address is translated to a physical address using processor paging hardware. To use paging, the operating system creates and manages a set of page tables (See figure 1). The page table walker or simply the page walker, implemented in processor hardware, performs address translation using these page tables and various bit fields in the linear address. Figure 2 shows the high level algorithm used by the page walker for address translation. Advanced Micro Devices, Inc.
  • 7. WHITE PAPER AMD-V™ Nested Paging Linear/Virtual Address Figure 1: 4KB page tables in long mode Figure 2: Linear/Virtual to physical address translation algorithm Advanced Micro Devices, Inc.
  • 8. WHITE PAPER AMD-V™ Nested Paging During the page walk, the page walker encounters physical addresses in CR3 register and in page table entries which point to the next level of the walk. The page walk ends when the data or leaf page is reached. Address translation is a very memory intensive operation because the page walker must access the memory hierarchy many times. To reduce this overhead, AMD processors automatically store recent translations in an internal translation look-aside buffer (TLB). At every memory reference, the processor first checks the TLB to determine if the required translation is already cached; if it is cached, the processor uses that translation; otherwise page tables are walked, the resulting translation is saved in the TLB and the instruction is executed. Operating systems are required to cooperate with the processor to keep the TLB consistent with page tables in memory. For example, when removing an address translation, the operating system must request the processor to invalidate the TLB entry associated with that translation. On SMP systems where an operating system may share page tables between processes running on multiple processors, the operating system must ensure that TLB entries on all processors remain consistent. When removing a shared translation, operating system software should invalidate the corresponding TLB entry on all the processors. The operating system updates the page table’s base pointer (CR3) during a context switch. A CR3 change establishes a new set of translations and therefore the processor automatically invalidates TLB entries associated with the previous context. The processor sets accessed and dirty bits in the page tables during memory accesses. The ‘accessed’ bit is set in all levels of the page table when the processor uses that translation to read or write memory. The ‘dirty’ bit is set in the PTE when the processor writes to the memory page mapped by that PTE. 4. Virtualizing x86 paging To provide protection and isolation between guests and hypervisor, the hypervisor must control address translation on the processor by essentially enforcing another level of address translation when guests Advanced Micro Devices, Inc.
  • 9. WHITE PAPER AMD-V™ Nested Paging are active. This additional level of translation maps the guest’s view of physical memory to the system’s view of physical memory. With para-virtualized guests, the hypervisor and the guest can utilize para-virtual interfaces to reduce hypervisor complexity and overhead in virtualizing x86 paging. However for unmodified guests, the hypervisor must completely virtualize x86 address translation. This could incur significant overheads which we discuss in following sections. 4.1 Software techniques for virtualizing address translation Software-based techniques maintain a shadow version of page table derived from guest page table (gPT). When the guest is active, the hypervisor forces the processor to use the shadow page table (sPT) to perform address translation. The sPT is not visible to the guest. To maintain a valid sPT the hypervisor must keep track of the state of gPT. This include modifications by the guest to add or remove translation in the gPT, guest versus hypervisor induced page faults (defined below), accessed and dirty bits in sPT; and for SMP guests, consistency of address translation on processors. Software can use various techniques to keep the sPT and gPT consistent. One of the techniques is write-protecting the gPT. In this technique the hypervisor write-protects all physical pages that constitute the gPT. Any modification by the guest to add a translation results in a page fault exception. On a page fault exception, the processor control is transferred to the hypervisor so it can emulate the operation appropriately. Similarly, the hypervisor gets control when the guest edits gPT to remove a translation; the hypervisor removes the translation from the gPT and updates the sPT accordingly. A different shadow paging technique does not write-protect gPT but instead depends on processor’s page-fault behavior and on guest adhering to TLB consistency rules. In this technique, sometimes referred to as Virtual TLB, the hypervisor lets the guest add new translations to gPT without intercepting those operations. Then later when the guest accesses an instruction or data which results in the processor referencing memory using that translation, the processor page faults because that translation is not present in sPT just yet. The page fault allows the hypervisor to intervene; it inspects the gPT to add the missing translation in the sPT and executes the faulting Advanced Micro Devices, Inc.
  • 10. WHITE PAPER AMD-V™ Nested Paging instruction. Similarly when the guest removes a translation, it executes INVLPG to invalidate that translation in the TLB. The hypervisor intercepts this operation; it then removes the corresponding translation in sPT and executes INVLPG for the removed translation. Both techniques result in large number of page fault exceptions. Many page faults are caused due to normal guest behavior; such those as a result of accessing pages that have been paged out to the storage hierarchy by the guest operating system. We call such faults guest- induced page faults and they must be intercepted by the hypervisor, analyzed, and then reflected into the guest, which is a significant overhead when compared to native paging. Page faults due to shadow paging are called hypervisor-induced page faults. To distinguish between these two faults, the hypervisor traverses the guest and shadow page tables, which incurs significant software overheads. When a guest is active, the page walker sets the accessed and dirty bits in the sPT. But because the guest may depend on proper setting of these bits in gPT, the hypervisor must reflect them back in the gPT. For example, the guest may use these bits to determine which pages can be moved to the hard disk to make room for new pages. When the guest attempts to schedule a new process on the processor, it updates processor’s CR3 register to establish the gPT corresponding to the new process. The hypervisor must intercept this operation, invalidate TLB entries associated with the previous CR3 value and set the real CR3 value based on the corresponding sPT for the new process. Frequent context switches within the guest could result in significant hypervisor overheads. Shadow paging can incur significant additional memory and performance overheads with SMP guests. In an SMP guest, the same gPT instance can be used for address translation on more than one processor. In such a case the hypervisor must either maintain sPT instances that can be used at each processor or share the sPT between multiple virtual processors. The former results in high memory overheads; the latter could result in high synchronization overheads. It is estimated that for certain workloads shadow paging can account for up to 75% of overall hypervisor overhead. Advanced Micro Devices, Inc.
  • 11. WHITE PAPER AMD-V™ Nested Paging Figure 3: Guest and shadow page tables (showing two-level paging) 4.2 AMD-V™ Nested Page Tables (NPT) To avoid the software overheads under shadow paging, AMD64 Quad- Core processors add Nested Paging to the hardware page walker. Nested paging uses an additional or nested page table (NPT) to translate guest physical addresses to system physical addresses and Advanced Micro Devices, Inc.
  • 12. WHITE PAPER AMD-V™ Nested Paging leaves the guest in complete control over its page tables. Unlike shadow paging, once the nested pages are populated, the hypervisor does not need to intercept and emulate guest’s modification of gPT. Nested paging removes the overheads associated with shadow paging. However because nested paging introduces an additional level of translation, the TLB miss cost could be larger. 4.2.1 Details Under nested paging both guest and the hypervisor have their own copy of the processor state affecting paging such as the CR0, CR3, CR4, EFER and PAT. The gPT maps guest linear addresses to guest physical addresses. Nested page tables (nPT) map guest physical addresses to system physical addresses. Guest and nested page tables are set up by the guest and hypervisor respectively. When a guest attempts to reference memory using a linear address and nested paging is enabled, the page walker performs a 2-dimensional walk using the gPT and nPT to translate the guest linear address to system physical address. See figure 4. When the page walk is completed, a TLB entry containing the translation from guest linear address to system physical address is cached in the TLB and used on subsequent accesses to that linear address. AMD processors supporting nested paging use the same TLB facilities to map from linear to system physical addresses, whether the processor is in guest or in host (or hypervisor) mode. When the processor is in guest mode, TLB maps guest linear addresses to system physical addresses. When processor is in host mode, the TLB maps host linear addresses to system physical addresses. In addition, AMD processors supporting nested paging maintain a Nested TLB which caches guest physical to system physical translations to accelerate nested page table walks. Nested TLB exploits the high locality of guest page table structures and has a high hit rate. Advanced Micro Devices, Inc.
  • 13. WHITE PAPER AMD-V™ Nested Paging 63 48 47 39 38 30 29 21 20 12 11 0 Guest Virtual PML4 Offset PDP Offset PD Offset PT Offset Physical Page Off. Page-Map Page Directory Page Directory Page Guest 4KB Level-4 Table Pointer Table Table Table memory page gPDPE gData 4KB pages addressed by gPTE guest physical address gPDE 51 12 gPML4E gCR3 Nested Nested Nested Nested Nested walk walk walk walk walk 63 48 47 39 38 30 29 21 20 12 11 0 PML4 Offset PDP Offset PD Offset PT Offset Physical Page Off. Page-Map Page Directory Page Directory Page Guest 4KB Level-4 Table Pointer Table Table Table memory page Nested walk nPDPE 4KB pages addressed by nPTE system physical address nPDE 51 12 nPML4E gPML4E nCR3 Figure 4: Translating guest linear address to system physical address using nested page tables 4.2.2 Cost of a Page Walk under Nested Paging A TLB miss under nested paging could have a higher cost than a TLB miss under non-nested paging. This is because under nested paging, the page walker must not only walk gPT but also simultaneously walk nPT to translate the guest physical addresses encountered during guest page table walk (such as gCR3 and gPT entries) to system physical addresses. For example, a 4-level guest page table walk could invoke the nested page walker 5 times, once for each guest physical address encountered and once for the final translation of the GP of the datum itself. Each nested page walk can require up to 4 cacheable memory accesses to determine the guest physical to system physical mapping Advanced Micro Devices, Inc.
  • 14. WHITE PAPER AMD-V™ Nested Paging and one more memory access to read the entry itself. In such a case a TLB miss cost can increase from 4 memory references in non-nested paging to 24 in nested paging unless caching is done. Figure 5 shows the steps taken by the page walker with 4 levels in both guest and nested page tables. Figure 5: Address translation with nested paging. GPA is guest physical address; SPA is system physical address; nL is nested level; gL is guest level 4.2.3 Using Nested Paging Nested paging is a feature intended for hypervisor’s use. The guest cannot observe any difference (except performance) while running under a hypervisor using nested paging. Nested paging does not require any changes in guest software. Nesting paging is an optional feature and not available in all implementations of processors supporting AMD-V technology. Software can use the CPUID instruction to determine if nested paging is supported on that processor implementation. 4.2.4 Memory savings with NPT Advanced Micro Devices, Inc.
  • 15. WHITE PAPER AMD-V™ Nested Paging Unlike shadow-paging, which requires the hypervisor to maintain an sPT instance for each gPT, a hypervisor using nested paging can set up a single instance of nPT to map the entire guest physical address space. Since guest memory is compact, the nPT should typically consume considerably less memory than an equivalent shadow-paging implementation. With nested paging, the hypervisor can maintain a single instance of nPT which can be used simultaneously at one more processor in an SMP guest. This is much more efficient than shadow paging implementations where the hypervisor either incurs a memory overhead to maintain per virtual processor sPT or incurs synchronization overheads resulting from use of shared sPT. 4.2.5 Impact of Page Size on Nested Paging Performance Besides other factors, address translation performance is reduced when there is an increase in TLB miss cost. Other things being equal, TLB miss cost (under nested and non-nested paging) decreases if fewer pages need to be walked. Large page sizes reduce page levels needed for address translation. To improve nested paging performance, a hypervisor can chose to populate nPT with large page sizes. Nested page table sizes can be different for each page in each guest and can be changed during guest execution. AMD64 Quad-Core processors support 4KB, 2MB, and 1GB page sizes. Like large nested page size, large guest page size also reduces TLB miss cost. Many workloads such as database workloads typically use large pages and should perform well under nested paging. An indirect benefit of large pages is TLB efficiency. With larger pages, each TLB entry covers a larger range of linear to physical address translation; effectively increasing TLB capacity and reducing page walk frequency. 4.2.6 Micro-architecture Support for Improving Nested Paging Performance To reduce page walk overheads, AMD64 processors maintain a fast internal Page Walk Cache (PWC) for memory referenced by frequently Advanced Micro Devices, Inc.
  • 16. WHITE PAPER AMD-V™ Nested Paging used page table entries. The PWC entries are tagged with physical addresses and prevent a page entry reference from accessing the memory hierarchy. With nested paging, the significance of the PWC becomes even more important. AMD processors supporting nested paging can cache guest page table as well as nested page table entries. This would convert the unconditional memory hierarchy access for data referenced by both guest and nested page table entries to likely PWC hits. Reuse of page table entries at the top most page level is the highest while that at the lowest level is the least. PWC takes these characteristics into consideration when caching entries. As we discussed previously, the TLB plays a major role in reducing address translation overheads. When TLB capacity increases, the number of costly page walks needed decreases. The AMD “Barcelona” family of processors are designed to cache up to 48 TLB entries in their L1 Data TLB for any page size; 4KB, 2MB or 1GB pages. They can also cache 512 4KB TLB entries or 128 2M entries in their L2 TLB. A TLB with large capacity improves performance under nested as well as shadow paging. Similar to the regular TLB which caches linear address to system address translations, AMD processors supporting nested paging support a Nested TLB (NTLB) to cache guest physical to system physical translations. The goal of NTLB is to reduce the average number of page entry references during a nested walk. The TLB, PWC and NTLB work together to improve nested paging performance without requiring any software changes in guest or the hypervisor. 4.2.7 Address Space IDs Starting 64-bit AMD Opteron Rev-F processors support Address Space IDs (ASIDs) to dynamically partition the TLB. The hypervisor assigns a unique ASID value to each guest scheduled to run on the processor. During a TLB lookup, the ASID value of the currently active guest is matched against the ASID tag in the TLB entry and the linear page frame numbers are matched for a potential TLB hit. Thus TLB entries belonging to different guests and to the hypervisor can coexist without causing incorrect address translations, and these TLB entries can persist during context switches. Without ASIDs, all TLB entries must be flushed before a context switch and refilled later. Advanced Micro Devices, Inc.
  • 17. WHITE PAPER AMD-V™ Nested Paging Use of ASIDs allows the hypervisor to make efficient use of processor’s TLB capacity to improve guest performance under nested paging. Figure 6: Address Space ID (ASID) 4.2.8 Nested Paging Benchmarks This whitepaper includes benchmark results collected from an early revision of the AMD “Barcelona” family of processors and early hypervisor implementations. It is possible that as hypervisors get optimized for nesting paging, the overall performance will improve. Furthermore, the performance may improve with enhancements to micro architecture. As benchmark results from later revisions of AMD64 Quad-Core processors and later hypervisor versions become available, they will be added or linked to this document. The benchmarks discussed here were collected on systems with the following configuration: Processors: 2-socket, 2.0GHz/1800MHz-NB Barcelona (Model 2350), 95W. Memory: 32GB of 4GB DDR2-667MHz. HBA: QLA2432 (dual-port PCIe 2Gb Fiber) HBA: 1 port used. Disk Array: MSA1500, 1 controller, 1 fiber connection, 512MB cache. 15 drives 15K rpm SCSI 73GB disks. Figure 7 shows benchmark data collected with and without nested paging using an experimental build of VMware ESX. With nested paging, the performance increased by approximately 14 and 58 percent for SQL DB Hammer and MS Terminal Services workloads respectively. Advanced Micro Devices, Inc.
  • 18. WHITE PAPER AMD-V™ Nested Paging Figure 7: Performance with and without nested paging with an experimental build of VMware ESX hypervisor on AMD64 Quad-Core Model 2350 Figure 8 shows Oracle 10G OLTP with and without nested paging with RHEL 4.4 running under Xen 3.1. With nested paging, the performance increased by approximately 94%. With para-virtualized (PV) drivers for NIC and storage, the performance increased by 249%. Advanced Micro Devices, Inc.
  • 19. WHITE PAPER AMD-V™ Nested Paging Figure 8: Oracle 10G OLTP performance with and without nested paging with RHEL 5.5 under Xen on AMD64 Quad-Core Model 2350. 5 Conclusion Nested Paging removes the virtualization overheads associated with traditional software-based shadow paging algorithms. Together with other architectural and micro-architectural enhancements in AMD64 Quad-core processors, Nested Paging helps deliver performance improvements, specifically for memory intensive workloads with high context-switch frequency. Servers based on these processors can provide outstanding scalability, leading edge performance-per-watt, high consolidation ratios and great headroom for server workloads. Advanced Micro Devices, Inc.