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