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

Ottimizzazione della Mappatura delle Risorse Virtuali nei Sistemi Disaggregati Multi-Livello NUMA

Informazioni Fondamentali

  • ID Articolo: 2501.01356
  • Titolo: Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • Autori: Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (Università di Umeå, Svezia)
  • Classificazione: cs.DC (Calcolo Distribuito, Parallelo e su Cluster)
  • Data di Pubblicazione: 2 gennaio 2025 (preprint arXiv)
  • Link dell'Articolo: https://arxiv.org/abs/2501.01356

Riassunto

Questo articolo esamina l'impatto delle complesse topologie NUMA sui sistemi disaggregati e propone un metodo migliorato di mappatura consapevole di NUMA. Il metodo si basa sul binding dei core virtuali e sulla migrazione della memoria, considerando complessivamente le prestazioni dell'applicazione, la contesa di risorse e l'utilizzo. La valutazione è stata condotta su un sistema disaggregato composto da 6 server commerciali con 288 core e circa 1TB di memoria, mostrando miglioramenti significativi rispetto allo scheduler Linux predefinito.

Contesto di Ricerca e Motivazione

Definizione del Problema

  1. Sfide dell'Architettura Disaggregata: I sistemi disaggregati aggregano risorse da più server fisici per supportare applicazioni ad alta intensità di risorse (come social network, motori di ricerca, database in memoria), ma la topologia distribuita causa latenze di accesso non uniformi e problemi di prestazioni
  2. Complessità NUMA Multi-Livello: Il sistema presenta contemporaneamente caratteristiche NUMA intra-macchina e latenze di accesso remoto inter-macchina, formando una topologia NUMA multi-livello complessa
  3. Ottimizzazione in Ambienti Virtualizzati: Gli scheduler Linux esistenti non riescono a gestire efficacemente questo scenario complesso di mappatura delle risorse

Importanza della Ricerca

  • Le applicazioni moderne richiedono risorse di calcolo che superano le capacità di una singola macchina, rendendo i sistemi disaggregati una direzione di sviluppo importante
  • Le strategie di mappatura delle risorse influenzano direttamente le prestazioni dell'applicazione, e una mappatura inadeguata può causare degradazioni significative
  • È necessario considerare simultaneamente la contesa di risorse, la località e il grado di interferenza in un'ottimizzazione integrata

Limitazioni dei Metodi Esistenti

  • I lavori tradizionali di ottimizzazione NUMA si concentrano principalmente su sistemi di piccola scala o utilizzano valutazioni mediante simulazione
  • Mancano ricerche di misurazione su hardware reale per sistemi disaggregati su larga scala
  • Non è stato sufficientemente considerato l'impatto integrato della contesa di risorse, della località e del grado di interferenza

Contributi Principali

  1. Primo Studio Empirico Approfondito su Sistemi Disaggregati: Misurazioni approfondite su hardware disaggregato reale, considerando contesa di risorse, località e grado di interferenza
  2. Classificazione delle Applicazioni e Sistema di Metriche di Prestazioni: Classificazione delle applicazioni utilizzando il metodo Animal Classes, con IPC e MPI come metriche di prestazioni
  3. Algoritmo di Mappatura Consapevole di NUMA: Propone un algoritmo di mappatura online che considera la classificazione dell'applicazione, la prossimità delle risorse e i contatori di prestazioni hardware in tempo di esecuzione
  4. Miglioramento Significativo delle Prestazioni: Realizza un miglioramento medio di 50 volte delle prestazioni sul sistema reale

Dettagli del Metodo

Definizione del Compito

Input: Richieste di macchine virtuali (numero di core CPU, requisiti di memoria), classificazione dell'applicazione, stato delle risorse di sistema Output: Schema di mappatura ottimale da vCPU virtuali a CPU fisiche Vincoli: Evitare l'oversuscription di risorse, minimizzare la distanza NUMA, ridurre l'interferenza tra applicazioni

Sistema di Classificazione delle Applicazioni

Basato sul metodo di classificazione Animal Classes, le applicazioni sono divise in tre categorie:

  • Sheep (Tipo Mite): Applicazioni non facilmente influenzate dalla condivisione della cache
  • Rabbit (Tipo Sensibile): Applicazioni con prestazioni veloci ma che si degradano facilmente a causa di allocazione insufficiente della cache o condivisione
  • Devil (Tipo Distruttivo): Applicazioni che accedono frequentemente alla cache con alti tassi di miss, influenzando le prestazioni di altre applicazioni

Contemporaneamente, vengono ulteriormente classificate in base alla sensibilità della memoria remota in due categorie: sensibile/insensibile.

Architettura dell'Algoritmo di Mappatura

Strategia di Mappatura a Due Fasi

Fase 1: Gestione della Remoting (al Momento dell'Arrivo dell'Applicazione)

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

Fase 2: Minimizzazione dell'Interferenza (Ottimizzazione in Tempo di Esecuzione)

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 di Compatibilità delle Applicazioni

Tipo di ApplicazioneSheepRabbitDevil
Sheep
Rabbit
Devil

Matrice di Valutazione dei Benefici

Tipo di ApplicazioneLivello SocketLivello Nodo NUMALivello Server
Sheep158
Rabbit479
Devil169

Meccanismo di Monitoraggio delle Prestazioni

  • IPC (Istruzioni Per Ciclo): Indica le prestazioni relative dell'applicazione, valori più alti indicano prestazioni migliori
  • MPI (Miss Per Istruzione): Misura il tasso di miss della cache, valori più bassi indicano prestazioni migliori
  • Utilizza lo strumento Linux Perf per raccogliere in tempo reale i contatori di prestazioni hardware

Configurazione Sperimentale

Piattaforma Hardware

  • Configurazione del Sistema: 6 server IBM x3755 M3
  • Processore: 2×AMD 6380 per server (48 core)
  • Memoria: 192GB RAM per server, totale 1176GB
  • Rete: Adattatore NumaConnect N323, topologia a anello 2D
  • Risorse Totali: 288 core, circa 1TB di memoria

Caratteristiche della Tecnologia NumaConnect

  • Sistema di memoria condivisa con coerenza della cache
  • Modello di programmazione unificato, trasparente alle applicazioni
  • Distanza NUMA: locale 10, vicini 16/22, remoto 160/200

Carichi di Lavoro Sperimentali

ApplicazioneTipoClassificazioneCaratteristiche
Neo4jDatabase a GrafoSheepIntensiva in CPU e memoria
SockshopMicroserviziSheepRappresentativa di applicazioni cloud
DerbyBenchmarkSheepBenchmark di database
SPECjvm2008BenchmarkRabbit/DevilPrestazioni runtime Java
StreamLarghezza di Banda Memoria-Test larghezza di banda memoria

Configurazione Tipi di VM

Tipo di VMCore CPUMemoria (GB)Quantità
Small41612
Medium8324
Large16642
Huge722882

Risultati Sperimentali

Miglioramenti Principali delle Prestazioni

Rispetto allo scheduler Linux predefinito (Vanilla), l'algoritmo proposto realizza miglioramenti significativi delle prestazioni:

ApplicazioneMiglioramento SM-IPCMiglioramento SM-MPI
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

Analisi della Stabilità delle Prestazioni

  • Algoritmo Vanilla: Rapporto tra deviazione standard e prestazioni medie >0.4, prestazioni imprevedibili
  • SM-IPC/SM-MPI: Questo rapporto <0.04, prestazioni stabili e prevedibili

Analisi dell'Impatto della Scala della VM

Prendendo Stream come esempio, miglioramento delle prestazioni con diverse scale di VM:

Tipo di VMMiglioramento SM-IPCMiglioramento SM-MPI
Small48×47×
Medium105×105×
Large41×39×
Huge

Scoperte Chiave:

  • Le VM Huge mostrano miglioramenti relativamente minori perché le VM di grandi dimensioni hanno di per sé una migliore località
  • Le VM di piccole e medie dimensioni traggono il massimo beneficio, poiché sono più facilmente influenzate da una mappatura inadeguata

Impatto della Distanza NUMA

Prestazioni dell'applicazione Mpegaudio a diverse distanze NUMA:

  • Accesso locale: prestazioni di base (1.0)
  • Accesso ai vicini (distanza 16/22): degradazione delle prestazioni circa 5-10%
  • Accesso remoto (distanza 160/200): degradazione massima delle prestazioni 17%

Lavori Correlati

Ricerche Tradizionali di Ottimizzazione NUMA

  • Panagouirgious: Dimostra l'impatto della posizione della memoria sulle prestazioni dei sistemi NUMA
  • Lepers et al.: Studia l'impatto dell'interconnessione asimmetrica sui sistemi x86
  • Mayo e Gross: Propone algoritmi di posizionamento dei thread per ridurre la non-località dei dati

Ottimizzazione in Ambienti Virtualizzati

  • Rao et al.: Propone algoritmo di migrazione vCPU casuale orientato
  • Tang et al.: Studia l'impatto di NUMA negli ambienti di produzione su larga scala di Google

Punti di Innovazione di Questo Articolo

  • Primo studio empirico approfondito su hardware reale per sistemi disaggregati
  • Considera complessivamente contesa di risorse, località e grado di interferenza
  • Fornisce un framework completo di classificazione delle applicazioni e algoritmo di mappatura

Conclusioni e Discussione

Conclusioni Principali

  1. Miglioramento Significativo delle Prestazioni: L'algoritmo di mappatura consapevole di NUMA proposto realizza un miglioramento medio di 50 volte rispetto allo scheduler predefinito
  2. Miglioramento della Stabilità: Riduce significativamente la variabilità delle prestazioni, fornendo prestazioni prevedibili
  3. Efficacia della Classificazione delle Applicazioni: Il metodo di classificazione basato su Animal Classes può guidare efficacemente le decisioni di mappatura delle risorse

Limitazioni

  1. Ipotesi di Classificazione Statica: La classificazione attuale delle applicazioni è statica e non considera i cambiamenti dinamici nel comportamento dell'applicazione
  2. Tipi di Carichi di Lavoro Limitati: La valutazione si concentra principalmente su tipi specifici di applicazioni
  3. Piattaforma Hardware Specifica: Gli esperimenti sono stati condotti solo sulla piattaforma NumaConnect

Direzioni Future

  1. Ottimizzazione dello Scheduler Linux: Ricerca degli effetti dell'ottimizzazione dello scheduler Linux per ridurre la casualità
  2. Tecniche di Migrazione della Memoria: Utilizzo della tecnica di migrazione della memoria "memory follows cores" in libvirt
  3. Classificazione Dinamica delle Applicazioni: Sviluppo di meccanismi di analisi del comportamento dell'applicazione in tempo di esecuzione e reclassificazione dinamica

Valutazione Approfondita

Punti di Forza

  1. Alto Valore Pratico: La valutazione su hardware reale rende i risultati altamente pratici
  2. Metodologia Completa: Forma un sistema completo dall'analisi dei problemi alla progettazione della soluzione alla verifica sperimentale
  3. Miglioramento Significativo delle Prestazioni: I risultati sperimentali mostrano un enorme spazio di miglioramento delle prestazioni
  4. Ricerca Sistematica: Considera molteplici fattori influenti e fornisce una soluzione completa

Insufficienze

  1. Dipendenza dalla Piattaforma: La ricerca si basa principalmente sulla piattaforma NumaConnect, l'applicabilità su altri sistemi disaggregati richiede verifica
  2. Copertura dei Carichi di Lavoro: I tipi di applicazioni valutate sono relativamente limitati, richiedono verifica con carichi di lavoro più diversificati
  3. Dinamicità Insufficiente: L'adattabilità dell'algoritmo ai cambiamenti dinamici del carico di sistema richiede ulteriore ricerca
  4. Mancanza di Analisi Teorica: Manca l'analisi teorica della complessità e della convergenza dell'algoritmo

Impatto

  1. Contributo al Settore: Fornisce importanti fondamenti teorici e guida pratica per la gestione delle risorse nei sistemi disaggregati
  2. Valore Pratico: L'algoritmo può essere direttamente applicato in ambienti di cloud computing e high-performance computing
  3. Riproducibilità: Gli autori si impegnano a fornire il codice sorgente, facilitando la diffusione e la verifica dei risultati di ricerca

Scenari Applicabili

  1. Ambienti Cloud su Larga Scala: Particolarmente adatto per infrastrutture cloud con pooling di risorse
  2. Cluster di Calcolo ad Alte Prestazioni: Può essere utilizzato per ottimizzare l'allocazione di risorse per applicazioni HPC
  3. Applicazioni ad Intensità di Memoria: Effetti significativi per database a grafo, calcolo in memoria e altre applicazioni
  4. Data Center Virtualizzati: Può essere integrato nei sistemi di gestione della virtualizzazione esistenti

Riferimenti Bibliografici

Questo articolo cita 26 riferimenti correlati, coprendo importanti risultati di ricerca in molteplici settori inclusi sistemi disaggregati, ottimizzazione NUMA e tecnologie di virtualizzazione, fornendo una base teorica solida per il lavoro di ricerca.


Valutazione Complessiva: Questo è un articolo con importanti contributi nel campo della gestione delle risorse nei sistemi disaggregati. Attraverso un rigoroso design sperimentale e una valutazione completa delle prestazioni, dimostra l'efficacia dell'algoritmo di mappatura consapevole di NUMA. Nonostante alcune limitazioni, il suo valore pratico e il contributo accademico sono entrambi significativi, gettando le basi per lo sviluppo futuro del settore.