It IT/Releases/12/Features/KVM Huge Page Backed Memory

From FedoraProject

< It IT | Releases(Difference between revisions)
Jump to: navigation, search
(Created page with '= KVM Huge Page Backed Memory = == Sommario == Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU ca...')
 
m (Obbiettivo->Obiettivo)
 
(8 intermediate revisions by one user not shown)
Line 1: Line 1:
= KVM Huge Page Backed Memory =
+
= Pagine di memoria di grandi dimensioni (4MB) per ospiti KVM =
  
 
== Sommario ==
 
== Sommario ==
 
+
Abilita gli ospiti KVM ad usare pagine di memoria di grandi dimensioni per ridurre il consumo di memoria e migliorare le prestazioni riducendo la pressione sulla cache da parte della CPU.  
Enable KVM guests to use huge page backed memory in order to reduce memory consumption and improve performance by reducing CPU cache pressure.
+
  
 
== Progettista ==
 
== Progettista ==
 
 
* [[User:Chrisw|Chris Wright]], [mailto:chrisw@redhat.com chrisw@redhat.com]
 
* [[User:Chrisw|Chris Wright]], [mailto:chrisw@redhat.com chrisw@redhat.com]
 
* [[User:JohnCooper|John Cooper]], [mailto:john.cooper@redhat.com john.cooper@redhat.com]
 
* [[User:JohnCooper|John Cooper]], [mailto:john.cooper@redhat.com john.cooper@redhat.com]
  
== Current status ==
+
== Stato corrente ==
 +
* Rilascio: [[Releases/12|  Fedora 12]]
 +
* Per informazioni aggiornate sullo stato di ''KVM Huge Page Backed Memory'' consultare la [[Features/KVM Huge Page Backed Memory#Current_status | pagina originale]].
  
* Targeted release: [[Releases/12|Fedora 12]]
+
Rimane tuttavia un [https://bugzilla.redhat.com/515741 problema di SELinux nel kernel (en)], che impedisce di applicare piena protezione di sVirt a memoria paginata di grandi dimensioni.
* Last updated: 2009-09-24
+
* Percentage of completion: 100%
+
  
An [https://bugzilla.redhat.com/515741 SELinux issue in the kernel] still remains, preventing full sVirt protection being applied to huge pages.
+
== Descrizione dettagliata ==
 +
Le CPU x86 solitamente accedono ad aree di memoria, cosiddetta paginata, di dimensione di 4KB, ma possono tranquillamente usare pagine anche più grandi (p.e. 4MB su x86_32, 2MB su x86_64 e x86_32 PAE).<BR>
 +
Usando pagine di memoria di grandi dimensioni per un ospite KVM, occorrerà meno memoria per le tabelle delle pagine e si ridurranno le eccezioni di TLB (Translation Lookaside Buffer) invocate dal S.O., e tutto ciò comporterà un incremento nelle prestazioni del S.O.  
 +
Tuttavia, ciò presenta comunque uno svantaggio - non si potrà più utilizzare il ''balloon driver'' o la tecnica dello ''swapping'' sulla memoria ospite.
  
=== Completed ===
+
Per usare pagine di memoria di grandi dimensioni con KVM, occorre effettuare i passi seguenti:
 +
# Montare hugetlbfs su <code>/dev/hugepages</code><pre>mount -t hugetlbfs /dev/hugepages</pre>
 +
# Riservare memoria per le pagine <pre>sysctl vm.nr_hugepages=516</pre>
 +
# Indicare il percorso di hugetlbfs a <code>qemu-kvm</code><pre>qemu-kvm -mem-path /dev/hugepages</pre>
  
# KVM support for huge pages
+
La caratteristica di questo progetto serve a incrementare la capacità di usare pagine di memoria di grandi dimensioni su ospiti gestiti da libvirt.
# libvirt [http://www.redhat.com/archives/libvir-list/2009-July/msg00699.html patch posted] for running guests with <code>-mem-path /dev/hugepages</code>
+
# libvirt [http://www.redhat.com/archives/libvir-list/2009-July/msg00753.html patch-v2 posted] which detects the host's hugetlbfs mount point automatically.
+
# Identify [https://bugzilla.redhat.com/515741 SELinux issue in the kernel]
+
# Get the libvirt patch committed to libvirt-0.7.1
+
  
== Detailed Description ==
+
== Vantaggi per Fedora ==
 +
Assicurare una migliore prestazione agli ospiti KVM di Fedora.
  
x86 CPUs usually address memory in 4kB pages, but they also have the ability to use huge pages (4MB on x86_32, 2MB on x86_64 and x86_32 PAE).
+
== Documentazione ==
 
+
* Un vecchio [http://www.linux-kvm.com/content/get-performance-boost-backing-your-kvm-guest-hugetlbfs tutorial] (in en ''sigh'')
By using huge pages for a KVM guest's memory, less memory is used for page tables and TLB misses are reduced, thereby increasing performance.
+
 
+
Using huge pages for guest memory does have a downside, however - you can no longer swap nor balloon guest memory.
+
 
+
In order to use huge pages with KVM, one must do the following:
+
 
+
# Mount hugetlbfs to <code>/dev/hugepages</code> - <code>mount -t hugetlbfs hugetlbfs /dev/hugepages</code>
+
# Reserve some memory for huge pages - <code>sysctl vm.nr_hugepages=516</code>
+
# Pass the hugetlbfs path to <code>qemu-kvm</code> - <code>qemu-kvm -mem-path /dev/hugepages</code>
+
 
+
This feature aims to improve allow huge pages to be used with libvirt managed guests.
+
 
+
== Benefit to Fedora ==
+
 
+
Enables Fedora KVM hosts to achieve better performance.
+
  
 
== Altre informazioni ==  
 
== Altre informazioni ==  
 
Per:
 
Per:
* Obbiettivi
+
* Obiettivi
 
* Test Plan
 
* Test Plan
 
* Esperienza Utente
 
* Esperienza Utente
 
* Dipendenze
 
* Dipendenze
 
* Progetto corrente
 
* Progetto corrente
* Documentazione
 
 
* Note di rilascio
 
* Note di rilascio
 
* Commenti e Discussioni  
 
* Commenti e Discussioni  
Line 59: Line 44:
 
consultare la [[Features/KVM Huge Page Backed Memory | pagina originale]] di questo documento.
 
consultare la [[Features/KVM Huge Page Backed Memory | pagina originale]] di questo documento.
  
 +
[[Category:Italiano]]
 +
[[Category:F-12 Features IT|{{SUBPAGENAME}}]]
 +
[[Category:Virtualization IT|{{SUBPAGENAME}}]]
  
[[Category:Virtualization|KVM Huge Page Backed Memory]]
 
  
 
[[Category:FeatureAcceptedF12]]
 
[[Category:FeatureAcceptedF12]]
 
+
[[Category:Virtualization|KVM Huge Page Backed Memory]]
 
[[Category:F12_Virt_Features|KVM Huge Page Backed Memory]]
 
[[Category:F12_Virt_Features|KVM Huge Page Backed Memory]]

Latest revision as of 22:57, 29 August 2010

Contents

[edit] Pagine di memoria di grandi dimensioni (4MB) per ospiti KVM

[edit] Sommario

Abilita gli ospiti KVM ad usare pagine di memoria di grandi dimensioni per ridurre il consumo di memoria e migliorare le prestazioni riducendo la pressione sulla cache da parte della CPU.

[edit] Progettista

[edit] Stato corrente

Rimane tuttavia un problema di SELinux nel kernel (en), che impedisce di applicare piena protezione di sVirt a memoria paginata di grandi dimensioni.

[edit] Descrizione dettagliata

Le CPU x86 solitamente accedono ad aree di memoria, cosiddetta paginata, di dimensione di 4KB, ma possono tranquillamente usare pagine anche più grandi (p.e. 4MB su x86_32, 2MB su x86_64 e x86_32 PAE).
Usando pagine di memoria di grandi dimensioni per un ospite KVM, occorrerà meno memoria per le tabelle delle pagine e si ridurranno le eccezioni di TLB (Translation Lookaside Buffer) invocate dal S.O., e tutto ciò comporterà un incremento nelle prestazioni del S.O. Tuttavia, ciò presenta comunque uno svantaggio - non si potrà più utilizzare il balloon driver o la tecnica dello swapping sulla memoria ospite.

Per usare pagine di memoria di grandi dimensioni con KVM, occorre effettuare i passi seguenti:

  1. Montare hugetlbfs su /dev/hugepages
    mount -t hugetlbfs /dev/hugepages
  2. Riservare memoria per le pagine
    sysctl vm.nr_hugepages=516
  3. Indicare il percorso di hugetlbfs a qemu-kvm
    qemu-kvm -mem-path /dev/hugepages

La caratteristica di questo progetto serve a incrementare la capacità di usare pagine di memoria di grandi dimensioni su ospiti gestiti da libvirt.

[edit] Vantaggi per Fedora

Assicurare una migliore prestazione agli ospiti KVM di Fedora.

[edit] Documentazione

[edit] Altre informazioni

Per:

  • Obiettivi
  • Test Plan
  • Esperienza Utente
  • Dipendenze
  • Progetto corrente
  • Note di rilascio
  • Commenti e Discussioni

consultare la pagina originale di questo documento.