Skip to main content
QUICK REVIEW

[논문 리뷰] Efficient Resource Sharing Through GPU Virtualization on Accelerated High Performance Computing Systems

Teng Li, Vikram K. Narayana|arXiv (Cornell University)|2015. 11. 24.
Parallel Computing and Optimization Techniques참고 문헌 12인용 수 3
한 줄 요약

이 논문은 이질적 HPC 시스템에서 SPMD 모델 하에 여러 마이크로프로세서 간 GPU 공유를 효율적으로 가능하게 하는 GPU 가상화 프레임워크를 제안한다. 동시 실행 커널 관리와 I/O 및 계산의 겹침을 통해 가상화 오버헤드를 낮게 유지하면서 최대 7.4배의 성능 향상을 달성하여 부족하게 사용되는 CPU 코어를 전면 활용하고, 불균형한 CPU/GPU 클러스터에서 GPU 자원 효율성을 향상시킨다.

ABSTRACT

The High Performance Computing (HPC) field is witnessing a widespread adoption of Graphics Processing Units (GPUs) as co-processors for conventional homogeneous clusters. The adoption of prevalent Single- Program Multiple-Data (SPMD) programming paradigm for GPU-based parallel processing brings in the challenge of resource underutilization, with the asymmetrical processor/co-processor distribution. In other words, under SPMD, balanced CPU/GPU distribution is required to ensure full resource utilization. In this paper, we propose a GPU resource virtualization approach to allow underutilized microprocessors to effi- ciently share the GPUs. We propose an efficient GPU sharing scenario achieved through GPU virtualization and analyze the performance potentials through execution models. We further present the implementation details of the virtualization infrastructure, followed by the experimental analyses. The results demonstrate considerable performance gains with GPU virtualization. Furthermore, the proposed solution enables full utilization of asymmetrical resources, through efficient GPU sharing among microprocessors, while incurring low overhead due to the added virtualization layer.

연구 동기 및 목표

  • 불균형한 CPU/GPU 비율로 인한 GPU 가속 HPC 시스템 내 마이크로프로세서의 낭비된 자원 사용을 해결한다.
  • 전체 자원 활용을 위해 SPMD 프로그래밍 모델이 요구하는 일대일 CPU-GPU 매핑 제약을 극복한다.
  • 성능 저하 없이 고가상화 오버헤드를 유발하지 않고 여러 마이크로프로세서 간 효율적인 GPU 공유를 가능하게 한다.
  • 각 마이크로프로세서에 가상 GPU(vGPU)를 노출하는 런타임 가상화 레이어를 개발하여 물리적 GPU 자원 경쟁을 추상화한다.
  • 가상화를 통해 동시성, 겹침, 그리고 context-switching 오버헤드 감소를 통해 상당한 성능 향상을 달성할 수 있음을 입증한다.

제안 방법

  • 다수의 마이크로프로세서 간 GPU 자원 할당을 관리하는 사용자 영역 런타임 가상화 레이어를 설계한다.
  • 각 프로세스에 가상 GPU(vGPU) 인터페이스를 노출하여 단일 물리적 GPU를 공유하면서도 전용 GPU 액세스를 시뮬레이션한다.
  • Fermi 아키텍처가 최대 16개의 동시 커널 실행을 지원하는 점을 활용하여 단일 GPU에서 여러 GPU 커널을 동시에 실행한다.
  • GPU 작업 스케줄링을 통해 I/O와 커널 계산 간의 지연을 숨기도록 I/O 및 계산의 겹침을 최적화한다.
  • 프로세스 간 지속적인 GPU 상태와 자원 풀을 유지하여 context-switching 및 초기화 오버헤드를 최소화한다.
  • 응용 프로그램 프로파일에 기반해 가상화 설계를 이끌고 성능 향상을 예측할 수 있는 분석적 실행 모델을 개발한다.

실험 결과

연구 질문

  • RQ1SPMD 실행 모델 하에서 GPU 가상화가 단일 GPU를 여러 마이크로프로세서가 효율적으로 공유할 수 있는가?
  • RQ2가상화를 통해 얻을 수 있는 성능 향상은 무엇이며, I/O 집약적, 계산 집약적, 혼합형 응용 프로그램 유형에 따라 어떻게 달라지는가?
  • RQ3가상화된 GPU 환경에서 I/O와 커널 계산을 어느 정도 겹칠 수 있는가?
  • RQ4가상화 오버헤드는 직접 GPU 액세스에 비해 어떻게 되며, 다양한 워크로드에서 낮게 유지될 수 있는가?
  • RQ5제안된 가상화 프레임워크는 불균형한 CPU/GPU 비율을 가진 시스템에서도 높은 GPU 활용도를 달성할 수 있는가?

주요 결과

  • 제안된 GPU 가상화 프레임워크는 8개 프로세스 병렬 처리 하에 7개 벤치마크에서 1.4배에서 7.4배의 속도 향상을 달성했다.
  • MG와 CG와 같은 계산 집약적 벤치마크는 I/O 및 커널 실행 겹침이 효과적으로 이루어져 최대 7.4배의 성능 향상을 기록했다.
  • Black Scholes와 VecAdd와 같은 I/O 집약적 벤치마크는 주로 I/O 및 커널 겹침 덕분에 중간 수준의 성능 향상(1.4배~2.5배)을 기록했다.
  • Electrostatic(ES)과 같은 큰 계산 집약적 커널은 겹침 가능성이 미미하고 GPU 점유율이 높아 제한된 성능 향상(약 1.5배)을 기록했다.
  • 가상화 레이어는 낮은 오버헤드를 유발했으며, 실험 결과는 분석적 성능 모델과 밀도 있게 일치했다.
  • 프레임워크는 고 CPU/GPU 비율을 가진 시스템에서도 부족하게 사용되는 CPU 코어를 효율적인 GPU 공유를 통해 전면 활용함으로써 성공적으로 활용했다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.