Optimisation mémoire pour architectures NUMA virtualisées

Transcription

Optimisation mémoire pour architectures NUMA virtualisées
Optimisation mémoire pour architectures NUMA virtualisées
Gauthier Voron
Gaël Thomas
Pierre Sens
Vivien Quéma
LIP6, INRIA
Telecom SudParis
LIP6, INRIA
Grenoble INP
Le multicœur moderne : ccNUMA
RAM
Cœurs
Cœurs
RAM
RAM
Cœurs
Cœurs
RAM
E/S
E/S
• Cohérence mémoire (ccNUMA)
G. Voron
NUMA virtualisé
2 / 7
Natif vs. virtualisé
machine virtuelle
allocation mémoire
threads
vcpus
mémoire application
Système
Hyperviseur
• Machine virtuelle = boîte noire
• Système invité → point de vue local
G. Voron
NUMA virtualisé
3 / 7
Solution existante : Carrefour
Profiling
G. Voron
quel thread accède à
quelle page physique
NUMA virtualisé
4 / 7
Solution existante : Carrefour
Profiling
quel thread accède à
quelle page physique
pour chaque page chaude
Lecture
seule
OUI
Dupliquer
G. Voron
NUMA virtualisé
4 / 7
Solution existante : Carrefour
Profiling
quel thread accède à
quelle page physique
pour chaque page chaude
Lecture
seule
OUI
Dupliquer
G. Voron
NON
Accesseur
unique
OUI
Déplacer
NUMA virtualisé
4 / 7
Solution existante : Carrefour
Profiling
quel thread accède à
quelle page physique
pour chaque page chaude
Lecture
seule
OUI
Dupliquer
G. Voron
NON
Accesseur
unique
NON
Répartir
OUI
Déplacer
NUMA virtualisé
4 / 7
Solution existante : Carrefour
Profiling
quel vcpu accède à
quelle page machine
pour chaque page chaude
Lecture
seule
OUI
Dupliquer
G. Voron
NON
Accesseur
unique
NON
Répartir
OUI
Déplacer
NUMA virtualisé
4 / 7
Résultats
180
Accélération (%)
160
140
linux
xen
120
100
80
60
40
20
0
-20
ua
.C
us
e
te
at
ns
cl
k
im
t io
D
.C
g.
sp
.D
.C
m
lu
.C
ep
64
ap
.C
cg
bt
x2
an
am
id
re
sw
st
ac
m
tr
si
dy
ce
flu
fa
bo
r
• Accélération / neutre
• Comportement Linux = Xen
G. Voron
NUMA virtualisé
5 / 7
Conclusion
• On peut faire de l’optimisation NUMA avec des machines virtuelles
• Mêmes gains de performance que pour des systèmes natifs
• Overhead raisonable lié à la virtualisation (∼ 20 %)
• Doit se faire dans l’hyperviseur ⇒ système invité inaccessible
• Basée sur du profiling online
• Peut être coûteux
• Peut nécessiter du matériel particulier
• Merci pour votre attention
G. Voron
NUMA virtualisé
6 / 7
Conclusion
• On peut faire de l’optimisation NUMA avec des machines virtuelles
• Mêmes gains de performance que pour des systèmes natifs
• Overhead raisonable lié à la virtualisation (∼ 20 %)
• Doit se faire dans l’hyperviseur ⇒ système invité inaccessible
• Basée sur du profiling online
• Peut être coûteux
• Peut nécessiter du matériel particulier
• Merci pour votre attention
G. Voron
NUMA virtualisé
6 / 7
Résultats : plusieurs machines virtuelles
Accélération (%)
250
200
150
100
50
0
-50
mg.D
facesim
sp.C
bodytrack
facesim
cg.C
sp.C
lu.C
fluidanimate
bodytrack
lu.C
cg.C
• Accélération / faible dégradation (∼ 20%)
G. Voron
NUMA virtualisé
7 / 7

Documents pareils