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

다중 레벨 NUMA 분해 시스템에서 가상 리소스 매핑 최적화

기본 정보

  • 논문 ID: 2501.01356
  • 제목: Optimising Virtual Resource Mapping in Multi-Level NUMA Disaggregated Systems
  • 저자: Ewnetu Bayuh Lakew, Petter Svärd, Erik Elmroth, Johan Tordsson (우메오 대학교, 스웨덴)
  • 분류: cs.DC (분산, 병렬 및 클러스터 컴퓨팅)
  • 발표 시간: 2025년 1월 2일 (arXiv 사전인쇄본)
  • 논문 링크: https://arxiv.org/abs/2501.01356

초록

본 논문은 분해 시스템(disaggregated systems)에서 복잡한 NUMA 토폴로지가 애플리케이션 성능에 미치는 영향을 연구하고, 개선된 NUMA 인식 매핑 방법을 제안합니다. 이 방법은 가상 코어 바인딩과 메모리 마이그레이션을 기반으로 하며, 애플리케이션 성능, 리소스 경합 및 활용률을 종합적으로 고려합니다. 6대의 상용 서버로 구성된 288개 코어, 약 1TB 메모리의 분해 시스템에서 평가한 결과, 기본 Linux 스케줄러 대비 현저한 성능 향상을 보여줍니다.

연구 배경 및 동기

문제 정의

  1. 분해 시스템 아키텍처 과제: 분해 시스템은 여러 물리 서버의 리소스를 집계하여 리소스 집약적 애플리케이션(예: 소셜 네트워크, 검색, 메모리 데이터베이스)을 지원하지만, 분산 토폴로지로 인해 비균등 접근 지연 및 성능 문제 발생
  2. 다중 레벨 NUMA 복잡성: 시스템은 단일 머신 내부의 NUMA 특성과 머신 간 원격 리소스 접근 지연을 동시에 가지고 있어 복잡한 다중 레벨 NUMA 토폴로지 형성
  3. 가상화 환경 최적화: 기존 Linux 스케줄러는 이러한 복잡한 리소스 매핑 시나리오를 효과적으로 처리할 수 없음

연구의 중요성

  • 현대 애플리케이션의 컴퓨팅 리소스 요구사항이 단일 머신의 능력을 초과하여 분해 시스템이 중요한 발전 방향으로 대두
  • 리소스 매핑 전략이 애플리케이션 성능에 직접 영향을 미치며, 부적절한 매핑은 심각한 성능 저하 초래 가능
  • 리소스 경합, 지역성 및 간섭 정도를 동시에 고려한 종합 최적화 필요

기존 방법의 한계

  • 전통적인 NUMA 최적화 연구는 주로 소규모 시스템이나 시뮬레이션 평가에 집중
  • 대규모 분해 시스템에 대한 실제 하드웨어 측정 연구 부족
  • 리소스 경합, 지역성 및 간섭 정도의 종합적 영향을 충분히 고려하지 못함

핵심 기여

  1. 분해 시스템 최초의 심층 실측 연구: 실제 분해 하드웨어에서 리소스 경합, 지역성 및 간섭 정도를 고려한 심층 측정 수행
  2. 애플리케이션 분류 및 성능 지표 체계: Animal Classes 분류법을 사용하여 애플리케이션을 분류하고 IPC 및 MPI를 성능 지표로 사용
  3. NUMA 인식 매핑 알고리즘: 애플리케이션 분류, 리소스 근접성 및 런타임 하드웨어 성능 카운터를 고려한 온라인 매핑 알고리즘 제안
  4. 현저한 성능 향상: 실제 시스템에서 평균 50배의 성능 향상 달성

방법 상세 설명

작업 정의

입력: 가상 머신 요청(CPU 코어 수, 메모리 요구사항 포함), 애플리케이션 분류, 시스템 리소스 상태 출력: 가상 CPU에서 물리 CPU로의 최적 매핑 방안 제약 조건: 리소스 오버커밋 방지, NUMA 거리 최소화, 애플리케이션 간 간섭 감소

애플리케이션 분류 체계

Animal Classes 분류법을 기반으로 애플리케이션을 세 가지 유형으로 분류:

  • Sheep(온순형): 캐시 공유의 영향을 받기 어려운 애플리케이션
  • Rabbit(민감형): 성능이 빠르지만 캐시 할당 부족이나 공유로 인해 성능이 저하되기 쉬운 애플리케이션
  • Devil(파괴형): 캐시에 자주 접근하고 미스율이 높아 다른 애플리케이션의 성능에 영향을 미치는 애플리케이션

동시에 원격 메모리 민감성에 따라 민감/비민감 두 가지로 추가 분류합니다.

매핑 알고리즘 아키텍처

2단계 매핑 전략

단계 1: 원격성 처리(애플리케이션 도착 시)

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

단계 2: 간섭 최소화(런타임 최적화)

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

애플리케이션 호환성 매트릭스

애플리케이션 유형SheepRabbitDevil
Sheep
Rabbit
Devil

수익 평가 매트릭스

애플리케이션 유형소켓 레벨NUMA 노드 레벨서버 레벨
Sheep158
Rabbit479
Devil169

성능 모니터링 메커니즘

  • IPC (Instructions Per Cycle): 애플리케이션의 상대 성능을 나타내며, 값이 높을수록 성능이 우수함
  • MPI (Misses Per Instruction): 캐시 미스율을 측정하며, 값이 낮을수록 성능이 우수함
  • Linux Perf 도구를 사용하여 실시간 하드웨어 성능 카운터 수집

실험 설정

하드웨어 플랫폼

  • 시스템 구성: 6대의 IBM x3755 M3 서버
  • 프로세서: 각 서버당 2×AMD 6380 (48개 코어)
  • 메모리: 각 서버당 192GB RAM, 총 1176GB
  • 네트워크: NumaConnect N323 어댑터, 2차원 환형 토폴로지
  • 총 리소스: 288개 코어, 약 1TB 메모리

NumaConnect 기술 특성

  • 캐시 일관성 공유 메모리 시스템
  • 통일된 프로그래밍 모델, 애플리케이션에 투명
  • NUMA 거리: 로컬 10, 이웃 16/22, 원격 160/200

실험 워크로드

애플리케이션유형분류특징
Neo4j그래프 데이터베이스SheepCPU 및 메모리 집약적
Sockshop마이크로서비스Sheep클라우드 애플리케이션 대표
Derby벤치마크 테스트Sheep데이터베이스 벤치마크
SPECjvm2008벤치마크 테스트Rabbit/DevilJava 런타임 성능
Stream메모리 대역폭-메모리 대역폭 테스트

VM 유형 구성

VM 유형CPU 코어 수메모리(GB)수량
Small41612
Medium8324
Large16642
Huge722882

실험 결과

주요 성능 향상

기본 Linux 스케줄러(Vanilla) 대비 제안된 알고리즘의 성능 향상:

애플리케이션SM-IPC 향상SM-MPI 향상
Derby215×241×
FFT33×37×
Sockshop25×23×
Sunflow34×34×
Mpegaudio
SOR17×23×
Neo4j
Stream105×105×

성능 안정성 분석

  • Vanilla 알고리즘: 표준편차와 평균 성능의 비율 >0.4, 예측 불가능한 성능
  • SM-IPC/SM-MPI: 해당 비율 <0.04, 안정적이고 예측 가능한 성능

VM 규모 영향 분석

Stream 애플리케이션을 예로 들어 다양한 VM 규모에서의 성능 향상:

VM 유형SM-IPC 향상SM-MPI 향상
Small48×47×
Medium105×105×
Large41×39×
Huge

주요 발견:

  • Huge VM의 성능 향상이 상대적으로 적은 이유는 대규모 VM 자체가 더 나은 지역성을 가지기 때문
  • 소규모에서 중규모 VM이 가장 큰 이점을 얻으며, 이는 부적절한 매핑의 영향을 더 받기 쉽기 때문

NUMA 거리 영향

Mpegaudio 애플리케이션이 다양한 NUMA 거리에서 보이는 성능:

  • 로컬 접근: 기준 성능(1.0)
  • 이웃 접근(거리 16/22): 성능 약 5-10% 저하
  • 원격 접근(거리 160/200): 최대 17% 성능 저하

관련 연구

전통적인 NUMA 최적화 연구

  • Panagouirgious: NUMA 시스템에서 메모리 위치가 성능에 미치는 영향 증명
  • Lepers 등: 비대칭 상호연결이 x86 시스템에 미치는 영향 연구
  • Mayo와 Gross: 데이터 지역성 감소를 위한 스레드 배치 알고리즘 제안

가상화 환경 최적화

  • Rao 등: 편향된 무작위 vCPU 마이그레이션 알고리즘 제안
  • Tang 등: Google 대규모 프로덕션 환경에서 NUMA 영향 연구

본 논문의 혁신점

  • 분해 시스템에 대한 최초의 실제 하드웨어 심층 연구
  • 리소스 경합, 지역성 및 간섭 정도를 종합적으로 고려
  • 완전한 애플리케이션 분류 및 매핑 알고리즘 프레임워크 제공

결론 및 토론

주요 결론

  1. 현저한 성능 향상: 제안된 NUMA 인식 매핑 알고리즘은 기본 스케줄러 대비 평균 50배 성능 향상
  2. 안정성 개선: 성능 변동성을 대폭 감소시켜 예측 가능한 성능 제공
  3. 애플리케이션 분류의 효과성: Animal Classes 기반 분류 방법이 리소스 매핑 결정을 효과적으로 지도

한계

  1. 정적 분류 가정: 현재 애플리케이션 분류는 정적이며 애플리케이션 행동의 동적 변화를 고려하지 않음
  2. 제한된 워크로드 유형: 평가는 주로 특정 유형의 애플리케이션에 집중
  3. 특정 하드웨어 플랫폼: 실험은 NumaConnect 플랫폼에서만 수행됨

향후 방향

  1. Linux 스케줄러 조정: Linux 스케줄러 조정을 통해 무작위성 감소 효과 연구
  2. 메모리 마이그레이션 기술: libvirt의 "memory follows cores" 메모리 마이그레이션 기술 사용
  3. 동적 애플리케이션 분류: 런타임 애플리케이션 행동 분석 및 동적 재분류 메커니즘 개발

심층 평가

장점

  1. 높은 실용 가치: 실제 하드웨어에서 평가하여 결과의 실용성이 강함
  2. 완전한 방법론: 문제 분석에서 솔루션 설계 및 실험 검증까지 완전한 체계 형성
  3. 현저한 성능 향상: 실험 결과는 거대한 성능 개선 여지를 보여줌
  4. 체계적 연구: 여러 영향 요인을 종합적으로 고려하여 포괄적인 솔루션 제공

부족한 점

  1. 플랫폼 의존성: 연구는 주로 NumaConnect 플랫폼을 기반으로 하며, 다른 분해 시스템에서의 적용 가능성 검증 필요
  2. 워크로드 커버리지: 평가된 애플리케이션 유형이 상대적으로 제한적이며 더 다양한 워크로드 검증 필요
  3. 동적성 부족: 알고리즘의 시스템 부하 동적 변화에 대한 적응성 추가 연구 필요
  4. 이론적 분석 부족: 알고리즘 복잡도 및 수렴성에 대한 이론적 분석 부재

영향력

  1. 분야 기여: 분해 시스템의 리소스 관리에 중요한 이론적 기초 및 실무 지도 제공
  2. 실용 가치: 알고리즘을 클라우드 컴퓨팅 및 고성능 컴퓨팅 환경에 직접 적용 가능
  3. 재현성: 저자가 소스 코드 제공을 약속하여 연구 성과의 확산 및 검증 용이

적용 시나리오

  1. 대규모 클라우드 컴퓨팅 환경: 특히 리소스 풀링 클라우드 인프라에 적합
  2. 고성능 컴퓨팅 클러스터: HPC 애플리케이션의 리소스 할당 최적화에 사용 가능
  3. 메모리 집약적 애플리케이션: 그래프 데이터베이스, 메모리 컴퓨팅 등 애플리케이션에서 현저한 효과
  4. 가상화 데이터센터: 기존 가상화 관리 시스템에 통합 가능

참고문헌

본 논문은 분해 시스템, NUMA 최적화, 가상화 기술 등 여러 분야의 중요한 연구 성과를 포함한 26편의 관련 문헌을 인용하여 연구 작업에 견고한 이론적 기초를 제공합니다.


종합 평가: 본 논문은 분해 시스템 리소스 관리 분야에서 중요한 기여를 하는 논문으로, 엄밀한 실험 설계와 충분한 성능 평가를 통해 NUMA 인식 매핑 알고리즘의 효과성을 입증합니다. 일부 한계가 있지만 실용 가치와 학술적 기여 모두 매우 유의미하며, 해당 분야의 추가 발전을 위한 기초를 마련합니다.