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

Optimierung der virtuellen Ressourcenzuordnung in mehrstufigen NUMA-Disaggregationssystemen

Grundinformationen

  • Paper-ID: 2501.01356
  • Titel: Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • Autoren: Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (Universität Umeå, Schweden)
  • Klassifizierung: cs.DC (Verteilte, parallele und Cluster-Computing)
  • Veröffentlichungsdatum: 2. Januar 2025 (arXiv-Preprint)
  • Paper-Link: https://arxiv.org/abs/2501.01356

Zusammenfassung

Diese Arbeit untersucht die Auswirkungen komplexer NUMA-Topologien auf die Anwendungsleistung in Disaggregationssystemen und schlägt eine verbesserte NUMA-bewusste Zuordnungsmethode vor. Die Methode basiert auf virtueller Kern-Bindung und Speichermigration und berücksichtigt umfassend Anwendungsleistung, Ressourcenkonkurrenz und Auslastung. Die Evaluierung auf einem Disaggregationssystem mit 6 kommerziellen Servern, 288 Kernen und etwa 1 TB Speicher zeigt erhebliche Leistungsverbesserungen gegenüber dem Standard-Linux-Scheduler.

Forschungshintergrund und Motivation

Problemdefinition

  1. Herausforderungen der Disaggregationsarchitektur: Disaggregationssysteme unterstützen ressourcenintensive Anwendungen (wie soziale Netzwerke, Suchmaschinen, In-Memory-Datenbanken) durch Aggregation von Ressourcen mehrerer physischer Server, aber die verteilte Topologie führt zu nicht-uniformen Zugriffslatenzen und Leistungsproblemen
  2. Komplexität mehrstufiger NUMA: Das System weist sowohl NUMA-Eigenschaften innerhalb einzelner Maschinen als auch Zugriffslatenzen für verteilte Remote-Ressourcen auf, was eine komplexe mehrstufige NUMA-Topologie bildet
  3. Optimierung in virtualisierten Umgebungen: Der vorhandene Linux-Scheduler kann solche komplexen Ressourcenzuordnungsszenarien nicht effektiv bewältigen

Forschungsbedeutung

  • Moderne Anwendungen übersteigen die Rechenressourcen einzelner Maschinen, Disaggregationssysteme werden zu einer wichtigen Entwicklungsrichtung
  • Ressourcenzuordnungsstrategien beeinflussen die Anwendungsleistung direkt; unangemessene Zuordnungen können zu erheblichen Leistungseinbußen führen
  • Es ist notwendig, Ressourcenkonkurrenz, Lokalität und Interferenzgrad umfassend zu optimieren

Einschränkungen bestehender Methoden

  • Traditionelle NUMA-Optimierungsarbeiten konzentrieren sich hauptsächlich auf kleine Systeme oder verwenden Simulationen zur Evaluierung
  • Es fehlen praktische Hardwaremessungsstudien für großflächige Disaggregationssysteme
  • Die kombinierte Auswirkung von Ressourcenkonkurrenz, Lokalität und Interferenzgrad wurde nicht ausreichend berücksichtigt

Kernbeiträge

  1. Erste umfassende Messstudie an Disaggregationssystemen: Durchführung tiefgreifender Messungen an echter Disaggregationshardware unter Berücksichtigung von Ressourcenkonkurrenz, Lokalität und Interferenzgrad
  2. Anwendungsklassifizierung und Leistungskennzahlensystem: Anwendungsklassifizierung nach der Animal-Classes-Methode mit IPC und MPI als Leistungsindikatoren
  3. NUMA-bewusster Zuordnungsalgorithmus: Vorschlag eines Online-Zuordnungsalgorithmus, der Anwendungsklassifizierung, Ressourcennähe und Laufzeit-Hardwareleistungszähler berücksichtigt
  4. Signifikante Leistungsverbesserung: Durchschnittliche Leistungssteigerung um das 50-fache auf dem realen System

Methodische Details

Aufgabendefinition

Eingabe: VM-Anforderungen (CPU-Kernanzahl, Speicherbedarf), Anwendungsklassifizierung, Systemressourcenzustand Ausgabe: Optimales Zuordnungsschema von virtuellen CPUs zu physischen CPUs Einschränkungen: Vermeidung von Ressourcenüberzeichnung, Minimierung der NUMA-Distanz, Reduzierung von Anwendungsinterferenz

Anwendungsklassifizierungssystem

Basierend auf der Animal-Classes-Klassifizierungsmethode werden Anwendungen in drei Kategorien eingeteilt:

  • Sheep (gemäßigt): Anwendungen, die nicht leicht durch Cache-Sharing beeinflusst werden
  • Rabbit (empfindlich): Schnelle Leistung, aber anfällig für Degradation durch unzureichende oder gemeinsam genutzte Cache-Zuweisung
  • Devil (destruktiv): Häufige Cache-Zugriffe mit hoher Fehlquote, beeinträchtigt die Leistung anderer Anwendungen

Gleichzeitig werden Anwendungen nach Remote-Speicherempfindlichkeit in empfindliche/unempfindliche Kategorien eingeteilt.

Zuordnungsalgorithmus-Architektur

Zweistufige Zuordnungsstrategie

Stufe 1: Remote-Verarbeitung (bei Ankunft der Anwendung)

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

Stufe 2: Interferenzminimierung (Laufzeitoptimierung)

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

Anwendungskompatibilitätsmatrix

AnwendungstypSheepRabbitDevil
Sheep
Rabbit
Devil

Gewinnbewertungsmatrix

AnwendungstypSocket-EbeneNUMA-Knoten-EbeneServer-Ebene
Sheep158
Rabbit479
Devil169

Leistungsüberwachungsmechanismus

  • IPC (Instructions Per Cycle): Zeigt relative Anwendungsleistung an; höhere Werte bedeuten bessere Leistung
  • MPI (Misses Per Instruction): Misst Cache-Fehlquote; niedrigere Werte bedeuten bessere Leistung
  • Echtzeit-Erfassung von Hardwareleistungszählern mit dem Linux-Perf-Tool

Experimentelle Einrichtung

Hardwareplattform

  • Systemkonfiguration: 6 IBM x3755 M3 Server
  • Prozessoren: Je 2× AMD 6380 (48 Kerne pro Server)
  • Speicher: Je 192 GB RAM, insgesamt 1176 GB
  • Netzwerk: NumaConnect N323 Adapter, 2D-Ring-Topologie
  • Gesamtressourcen: 288 Kerne, etwa 1 TB Speicher

NumaConnect-Technologiemerkmale

  • Cache-kohärentes gemeinsames Speichersystem
  • Einheitliches Programmiermodell, transparent für Anwendungen
  • NUMA-Distanzen: Lokal 10, Nachbar 16/22, Remote 160/200

Experimentelle Arbeitslasten

AnwendungTypKlassifizierungMerkmale
Neo4jGraphdatenbankSheepCPU- und speicherintensiv
SockshopMicroservicesSheepCloud-Anwendungsrepräsentant
DerbyBenchmarkSheepDatenbankbenchmark
SPECjvm2008BenchmarkRabbit/DevilJava-Laufzeitperformanz
StreamSpeicherbandbreite-Speicherbandbreitenmessung

VM-Typkonfiguration

VM-TypCPU-KerneSpeicher (GB)Anzahl
Small41612
Medium8324
Large16642
Huge722882

Experimentelle Ergebnisse

Wichtigste Leistungsverbesserungen

Im Vergleich zum Standard-Linux-Scheduler (Vanilla) erreicht der vorgeschlagene Algorithmus erhebliche Leistungsverbesserungen:

AnwendungSM-IPC-VerbesserungSM-MPI-Verbesserung
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

Leistungsstabilitätsanalyse

  • Vanilla-Algorithmus: Verhältnis der Standardabweichung zur durchschnittlichen Leistung >0,4, unvorhersehbare Leistung
  • SM-IPC/SM-MPI: Dieses Verhältnis <0,04, stabile und vorhersehbare Leistung

Analyse der VM-Größenauswirkung

Am Beispiel der Stream-Anwendung Leistungsverbesserung bei verschiedenen VM-Größen:

VM-TypSM-IPC-VerbesserungSM-MPI-Verbesserung
Small48×47×
Medium105×105×
Large41×39×
Huge

Wichtige Erkenntnisse:

  • Huge-VMs zeigen relativ kleine Leistungsverbesserungen, da große VMs bereits bessere Lokalität aufweisen
  • Kleine bis mittlere VMs profitieren am meisten, da sie anfälliger für unangemessene Zuordnungen sind

NUMA-Distanzauswirkung

Leistung der Mpegaudio-Anwendung bei verschiedenen NUMA-Distanzen:

  • Lokaler Zugriff: Baseline-Leistung (1,0)
  • Nachbarzugriff (Distanz 16/22): Leistungsabfall etwa 5-10%
  • Remote-Zugriff (Distanz 160/200): Maximaler Leistungsabfall 17%

Verwandte Arbeiten

Traditionelle NUMA-Optimierungsforschung

  • Panagouirgious: Nachweis der Auswirkung von Speicherort auf NUMA-Systemleistung
  • Lepers et al.: Untersuchung asymmetrischer Verbindungen auf x86-Systemen
  • Mayo und Gross: Vorschlag von Thread-Platzierungsalgorithmen zur Reduzierung von Datenlokalisierungsproblemen

Optimierung in virtualisierten Umgebungen

  • Rao et al.: Vorschlag eines voreingenommenen zufälligen vCPU-Migrationssystems
  • Tang et al.: Untersuchung der NUMA-Auswirkungen in Googles großflächiger Produktionsumgebung

Innovationen dieser Arbeit

  • Erste praktische Hardwarestudie für Disaggregationssysteme
  • Umfassende Berücksichtigung von Ressourcenkonkurrenz, Lokalität und Interferenzgrad
  • Bereitstellung eines vollständigen Anwendungsklassifizierungs- und Zuordnungsalgorithmus-Rahmens

Schlussfolgerungen und Diskussion

Hauptschlussfolgerungen

  1. Signifikante Leistungsverbesserung: Der vorgeschlagene NUMA-bewusste Zuordnungsalgorithmus erreicht durchschnittlich 50-fache Leistungsverbesserung gegenüber dem Standard-Scheduler
  2. Stabilitätsverbesserung: Deutliche Reduzierung der Leistungsvariabilität mit vorhersehbarer Leistung
  3. Effektivität der Anwendungsklassifizierung: Die auf Animal Classes basierende Klassifizierungsmethode kann Ressourcenzuordnungsentscheidungen effektiv leiten

Einschränkungen

  1. Statische Klassifizierungsannahme: Die aktuelle Anwendungsklassifizierung ist statisch und berücksichtigt nicht die dynamischen Verhaltensänderungen von Anwendungen
  2. Begrenzte Arbeitslasttypen: Die Evaluierung konzentriert sich hauptsächlich auf spezifische Anwendungstypen
  3. Spezifische Hardwareplattform: Experimente wurden nur auf der NumaConnect-Plattform durchgeführt

Zukünftige Richtungen

  1. Linux-Scheduler-Optimierung: Untersuchung der Auswirkungen von Linux-Scheduler-Optimierung zur Reduzierung von Zufälligkeit
  2. Speichermigrationstechniken: Verwendung der "memory follows cores"-Speichermigrationstechnik in libvirt
  3. Dynamische Anwendungsklassifizierung: Entwicklung von Laufzeit-Anwendungsverhaltenanalyse und dynamischen Reklassifizierungsmechanismen

Tiefgreifende Bewertung

Stärken

  1. Hoher praktischer Wert: Evaluierung auf echter Hardware mit starkem praktischem Nutzen
  2. Vollständige Methodik: Vollständiges System von Problemanalyse über Lösungsdesign bis zur experimentellen Validierung
  3. Signifikante Leistungsverbesserung: Experimentelle Ergebnisse zeigen großes Verbesserungspotenzial
  4. Systematische Forschung: Umfassende Berücksichtigung mehrerer Einflussfaktoren mit umfassender Lösung

Mängel

  1. Plattformabhängigkeit: Forschung basiert hauptsächlich auf NumaConnect-Plattform; Anwendbarkeit auf anderen Disaggregationssystemen muss überprüft werden
  2. Arbeitslastabdeckung: Evaluierte Anwendungstypen sind relativ begrenzt; vielfältigere Arbeitslasten zur Validierung erforderlich
  3. Unzureichende Dynamik: Anpassungsfähigkeit des Algorithmus an dynamische Systemlaständerungen bedarf weiterer Forschung
  4. Fehlende theoretische Analyse: Mangel an theoretischer Analyse von Algorithmuskomplexität und Konvergenz

Einflussfaktor

  1. Feldbeitrag: Bietet wichtige theoretische Grundlagen und praktische Anleitung für Ressourcenmanagement in Disaggregationssystemen
  2. Praktischer Wert: Algorithmus kann direkt in Cloud-Computing- und High-Performance-Computing-Umgebungen angewendet werden
  3. Reproduzierbarkeit: Autoren verpflichten sich zur Bereitstellung von Quellcode, was die Verbreitung und Validierung von Forschungsergebnissen fördert

Anwendungsszenarien

  1. Großflächige Cloud-Computing-Umgebungen: Besonders geeignet für Ressourcen-Pool-Cloud-Infrastruktur
  2. High-Performance-Computing-Cluster: Kann zur Optimierung der Ressourcenallokation für HPC-Anwendungen verwendet werden
  3. Speicherintensive Anwendungen: Besonders wirksam für Graphdatenbanken und In-Memory-Computing-Anwendungen
  4. Virtualisierte Rechenzentren: Kann in bestehende Virtualisierungsmanagementsysteme integriert werden

Referenzen

Diese Arbeit zitiert 26 verwandte Arbeiten, die wichtige Forschungsergebnisse in mehreren Bereichen wie Disaggregationssystemen, NUMA-Optimierung und Virtualisierungstechnologie abdecken und eine solide theoretische Grundlage für die Forschungsarbeit bieten.


Gesamtbewertung: Dies ist eine Arbeit mit wichtigen Beiträgen im Bereich der Ressourcenverwaltung in Disaggregationssystemen. Durch sorgfältige experimentelle Gestaltung und umfassende Leistungsbewertung wird die Effektivität des NUMA-bewussten Zuordnungsalgorithmus nachgewiesen. Trotz einiger Einschränkungen sind sowohl der praktische Wert als auch der akademische Beitrag erheblich und legen den Grundstein für die weitere Entwicklung in diesem Bereich.