Optimisation mémoire dans une architecture NUMA: comparaison des gains entre natif et virtualisé

Abstract

L’exécution d’applications dans une architecture NUMA nécessite la mise en œuvre de politiques adaptées pour pouvoir utiliser efficacement les ressources matérielles disponibles. Différentes techniques qui permettent à un système d’exploitation d’assurer une bonne latence mémoire sur de telles machines ont déjà été étudiées. Cependant, dans le cloud, ces systèmes d’exploitation s’exécutent dans des machines virtuelles sous la responsabilité d’un hyperviseur, qui est soumis à des contraintes qui lui sont propres. Dans cet article, nous nous intéressons à ces contraintes et à la manière dont elles affectent les politiques NUMA déjà existantes. Nous étudions pour cela les effets d’une technique d’optimisation mémoire connue dans un système virtualisé et les comparons avec ceux obtenus dans un système d’exploitation.