2025-11-15T01:49:17.958429

Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems

Lakew, Svärd, Elmroth et al.
Disaggregated systems have a novel architecture motivated by the requirements of resource intensive applications such as social networking, search, and in-memory databases. The total amount of resources such as memory and CPU cores is very large in such systems. However, the distributed topology of disaggregated server systems result in non-uniform access latency and performance, with both NUMA aspects inside each box, as well as additional access latency for remote resources. In this work, we study the effects complex NUMA topologies on application performance and propose a method for improved, NUMA-aware, mapping for virtualized environments running on disaggregated systems. Our mapping algorithm is based on pinning of virtual cores and/or migration of memory across a disaggregated system and takes into account application performance, resource contention, and utilization. The proposed method is evaluated on a 288 cores and around 1TB memory system, composed of six disaggregated commodity servers, through a combination of benchmarks and real applications such as memory intensive graph databases. Our evaluation demonstrates significant improvement over the vanilla resource mapping methods. Overall, the mapping algorithm is able to improve performance by significant magnitude compared the default Linux scheduler used in system.
academic

Optimisation de la Cartographie des Ressources Virtuelles dans les Systèmes Désagrégés Multi-Niveaux NUMA

Informations Fondamentales

  • ID de l'article : 2501.01356
  • Titre : Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • Auteurs : Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (Université d'Umeå, Suède)
  • Classification : cs.DC (Informatique distribuée, parallèle et en grappe)
  • Date de publication : 2 janvier 2025 (prépublication arXiv)
  • Lien de l'article : https://arxiv.org/abs/2501.01356

Résumé

Cet article étudie l'impact des topologies NUMA complexes sur les performances des applications dans les systèmes désagrégés et propose une méthode améliorée de cartographie sensible aux NUMA. Cette méthode repose sur l'épinglage des cœurs virtuels et la migration de mémoire, en tenant compte de manière intégrée des performances des applications, de la contention des ressources et de l'utilisation. L'évaluation effectuée sur un système désagrégé composé de 6 serveurs commerciaux, disposant de 288 cœurs et d'environ 1 To de mémoire, montre des améliorations de performance significatives par rapport à l'ordonnanceur Linux par défaut.

Contexte et Motivation de la Recherche

Définition du Problème

  1. Défis de l'architecture des systèmes désagrégés : Les systèmes désagrégés agrègent les ressources de plusieurs serveurs physiques pour soutenir les applications gourmandes en ressources (telles que les réseaux sociaux, les moteurs de recherche, les bases de données en mémoire), mais la topologie distribuée entraîne des latences d'accès non uniformes et des problèmes de performance
  2. Complexité NUMA multi-niveaux : Le système présente simultanément des caractéristiques NUMA internes à la machine et des latences d'accès aux ressources distantes inter-machines, formant une topologie NUMA multi-niveaux complexe
  3. Optimisation en environnement virtualisé : Les ordonnanceurs Linux existants ne peuvent pas traiter efficacement ce scénario complexe de cartographie des ressources

Importance de la Recherche

  • Les applications modernes dépassent les capacités de ressources d'une seule machine, les systèmes désagrégés devenant une direction de développement importante
  • La stratégie de cartographie des ressources affecte directement les performances des applications, une cartographie inappropriée pouvant entraîner une dégradation sévère des performances
  • Une optimisation intégrée tenant compte de la contention des ressources, de la localité et du degré d'interférence est nécessaire

Limitations des Méthodes Existantes

  • Les travaux traditionnels d'optimisation NUMA se concentrent principalement sur les petits systèmes ou utilisent des évaluations par simulation
  • Absence de recherches basées sur des mesures matérielles réelles pour les grands systèmes désagrégés
  • Considération insuffisante de l'impact intégré de la contention des ressources, de la localité et du degré d'interférence

Contributions Principales

  1. Première étude expérimentale approfondie des systèmes désagrégés : Mesures approfondies sur du matériel désagrégé réel, tenant compte de la contention des ressources, de la localité et du degré d'interférence
  2. Classification des applications et système de métriques de performance : Utilisation de la méthode de classification Animal Classes pour classer les applications, avec l'IPC et le MPI comme métriques de performance
  3. Algorithme de cartographie sensible aux NUMA : Proposition d'un algorithme de cartographie en ligne tenant compte de la classification des applications, de la proximité des ressources et des compteurs de performance matérielle à l'exécution
  4. Amélioration significative des performances : Réalisation d'une amélioration moyenne de 50 fois sur le système réel

Détails de la Méthode

Définition de la Tâche

Entrées : Demandes de machines virtuelles (nombre de cœurs CPU, besoins en mémoire), classification des applications, état des ressources du système Sorties : Schéma de cartographie optimal des processeurs virtuels vers les processeurs physiques Contraintes : Éviter la sursouscription des ressources, minimiser la distance NUMA, réduire les interférences entre applications

Système de Classification des Applications

Basé sur la méthode de classification Animal Classes, les applications sont classées en trois catégories :

  • Sheep (Type bienveillant) : Applications peu affectées par le partage du cache
  • Rabbit (Type sensible) : Applications aux performances rapides mais susceptibles de se dégrader en cas d'allocation insuffisante du cache ou de partage
  • Devil (Type destructeur) : Applications accédant fréquemment au cache avec un taux d'échec élevé, affectant les performances des autres applications

Elles sont également classées en deux catégories selon leur sensibilité à la mémoire distante : sensible/insensible.

Architecture de l'Algorithme de Cartographie

Stratégie de Cartographie en Deux Phases

Phase 1 : Traitement de la localité (à l'arrivée de l'application)

if VMi is a new arrival then
    if Free slot is suitable for VMi given ci, ai then
        Map VMi directly
    else
        Reshuffle existing VMs to create suitable slot
        Map VMi to new slot

Phase 2 : Minimisation des interférences (optimisation à l'exécution)

for each VMi do
    if (expected_perf - measured_perf)/expected_perf ≥ Threshold then
        Add VMi to affected list
        
for each affected VM do
    Build potential neighbor list based on class compatibility
    Compute new configuration with minimal reshuffle
    Remap if beneficial

Matrice de Compatibilité des Applications

Type d'applicationSheepRabbitDevil
Sheep
Rabbit
Devil

Matrice d'Évaluation des Bénéfices

Type d'applicationNiveau SocketNiveau Nœud NUMANiveau Serveur
Sheep158
Rabbit479
Devil169

Mécanisme de Surveillance des Performances

  • IPC (Instructions Par Cycle) : Indique les performances relatives de l'application, une valeur plus élevée indiquant de meilleures performances
  • MPI (Défauts Par Instruction) : Mesure le taux d'échec du cache, une valeur plus basse indiquant de meilleures performances
  • Collecte en temps réel des compteurs de performance matérielle à l'aide de l'outil Linux Perf

Configuration Expérimentale

Plateforme Matérielle

  • Configuration du système : 6 serveurs IBM x3755 M3
  • Processeurs : 2×AMD 6380 (48 cœurs) par serveur
  • Mémoire : 192 Go de RAM par serveur, total 1176 Go
  • Réseau : Adaptateurs NumaConnect N323, topologie en anneau 2D
  • Ressources totales : 288 cœurs, environ 1 To de mémoire

Caractéristiques de la Technologie NumaConnect

  • Système de mémoire partagée avec cohérence de cache
  • Modèle de programmation unifié, transparent pour l'application
  • Distance NUMA : locale 10, voisin 16/22, distante 160/200

Charges de Travail Expérimentales

ApplicationTypeClassificationCaractéristiques
Neo4jBase de données graphiqueSheepIntensif en CPU et mémoire
SockshopMicroservicesSheepReprésentant d'application cloud
DerbyTest de référenceSheepTest de référence de base de données
SPECjvm2008Test de référenceRabbit/DevilPerformance du runtime Java
StreamBande passante mémoire-Test de bande passante mémoire

Configuration des Types de VM

Type de VMCœurs CPUMémoire (Go)Quantité
Small41612
Medium8324
Large16642
Huge722882

Résultats Expérimentaux

Améliorations Principales des Performances

Par rapport à l'ordonnanceur Linux par défaut (Vanilla), l'algorithme proposé réalise des améliorations de performance significatives :

ApplicationAmélioration SM-IPCAmélioration SM-MPI
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

Analyse de la Stabilité des Performances

  • Algorithme Vanilla : Ratio écart-type/performance moyenne > 0,4, comportement imprévisible
  • SM-IPC/SM-MPI : Ce ratio < 0,04, performances stables et prévisibles

Analyse de l'Impact de la Taille des VM

Prenant Stream comme exemple, améliorations de performance selon la taille de la VM :

Type de VMAmélioration SM-IPCAmélioration SM-MPI
Small48×47×
Medium105×105×
Large41×39×
Huge

Découvertes clés :

  • L'amélioration des performances des VM Huge est relativement faible, car les grandes VM possèdent naturellement une meilleure localité
  • Les VM de petite à moyenne taille bénéficient le plus, car elles sont plus susceptibles d'être affectées par une cartographie inappropriée

Impact de la Distance NUMA

Performances de l'application Mpegaudio à différentes distances NUMA :

  • Accès local : performance de référence (1,0)
  • Accès voisin (distance 16/22) : dégradation de performance d'environ 5-10%
  • Accès distant (distance 160/200) : dégradation de performance maximale de 17%

Travaux Connexes

Recherches Traditionnelles d'Optimisation NUMA

  • Panagouirgious : Démontre l'impact de la localisation de la mémoire sur les performances des systèmes NUMA
  • Lepers et al. : Étudient l'impact des interconnexions asymétriques sur les systèmes x86
  • Mayo et Gross : Proposent un algorithme de placement de threads réduisant la localité des données

Optimisation en Environnement Virtualisé

  • Rao et al. : Proposent un algorithme de migration vCPU biaisé aléatoire
  • Tang et al. : Étudient l'impact NUMA dans l'environnement de production à grande échelle de Google

Points d'Innovation de cet Article

  • Première étude approfondie basée sur du matériel réel pour les systèmes désagrégés
  • Considération intégrée de la contention des ressources, de la localité et du degré d'interférence
  • Fourniture d'un cadre complet de classification des applications et d'algorithme de cartographie

Conclusions et Discussion

Conclusions Principales

  1. Amélioration significative des performances : L'algorithme de cartographie sensible aux NUMA proposé améliore les performances en moyenne de 50 fois par rapport à l'ordonnanceur par défaut
  2. Amélioration de la stabilité : Réduction significative de la variabilité des performances, offrant des performances prévisibles
  3. Efficacité de la classification des applications : La méthode de classification basée sur Animal Classes peut efficacement guider les décisions de cartographie des ressources

Limitations

  1. Hypothèse de classification statique : La classification actuelle des applications est statique, ne tenant pas compte des changements dynamiques du comportement des applications
  2. Types de charges de travail limités : L'évaluation se concentre principalement sur des types d'applications spécifiques
  3. Plateforme matérielle spécifique : Les expériences ont été menées uniquement sur la plateforme NumaConnect

Directions Futures

  1. Ajustement de l'ordonnanceur Linux : Recherche des effets de l'ajustement de l'ordonnanceur Linux pour réduire l'aléatoire
  2. Techniques de migration de mémoire : Utilisation de la technique de migration de mémoire « memory follows cores » dans libvirt
  3. Classification dynamique des applications : Développement de mécanismes d'analyse du comportement des applications à l'exécution et de reclassification dynamique

Évaluation Approfondie

Avantages

  1. Valeur pratique élevée : Évaluation sur du matériel réel, résultats possédant une forte applicabilité pratique
  2. Méthodologie complète : Formation d'un système complet allant de l'analyse des problèmes à la conception de solutions et à la vérification expérimentale
  3. Amélioration significative des performances : Les résultats expérimentaux montrent un énorme potentiel d'amélioration des performances
  4. Recherche systématique : Considération intégrée de multiples facteurs d'influence, fournissant une solution complète

Insuffisances

  1. Dépendance à la plateforme : La recherche est principalement basée sur la plateforme NumaConnect, l'applicabilité sur d'autres systèmes désagrégés nécessite vérification
  2. Couverture des charges de travail : Les types d'applications évaluées sont relativement limités, nécessitant une vérification avec des charges de travail plus diversifiées
  3. Dynamique insuffisante : L'adaptabilité de l'algorithme aux changements dynamiques de la charge du système nécessite une recherche supplémentaire
  4. Manque d'analyse théorique : Absence d'analyse théorique de la complexité et de la convergence de l'algorithme

Impact

  1. Contribution au domaine : Fournit une base théorique importante et des orientations pratiques pour la gestion des ressources dans les systèmes désagrégés
  2. Valeur pratique : L'algorithme peut être directement appliqué aux environnements de cloud computing et de calcul haute performance
  3. Reproductibilité : Les auteurs s'engagent à fournir le code source, favorisant la promotion et la vérification des résultats de recherche

Scénarios d'Application

  1. Environnements de cloud computing à grande échelle : Particulièrement adapté aux infrastructures cloud avec mise en commun des ressources
  2. Grappes de calcul haute performance : Peut être utilisé pour optimiser l'allocation des ressources des applications HPC
  3. Applications intensives en mémoire : Effets significatifs pour les bases de données graphiques, le calcul en mémoire, etc.
  4. Centres de données virtualisés : Peut être intégré aux systèmes de gestion de virtualisation existants

Références

Cet article cite 26 références connexes, couvrant plusieurs domaines tels que les systèmes désagrégés, l'optimisation NUMA et la technologie de virtualisation, fournissant une base théorique solide pour les travaux de recherche.


Évaluation Générale : Cet article constitue une contribution importante dans le domaine de la gestion des ressources des systèmes désagrégés. Grâce à une conception expérimentale rigoureuse et une évaluation complète des performances, il démontre l'efficacité de l'algorithme de cartographie sensible aux NUMA. Bien qu'il présente certaines limitations, sa valeur pratique et sa contribution académique sont toutes deux significatives, jetant les bases du développement ultérieur du domaine.