In recent years, HPC Cloud is getting interested by High Performance Computing area since its efficient and elastic resource usability. In addition, using high-end GPUs for supercomputer is now common approach to achieve high performance. Consquently, attempts to use GPUs on Cloud environment for HPC has been started from few years ago. GPUs on Cloud computing requires GPU virtualization technique which enables Virtual Machine to use GPUs on guest OS level. However, today’s GPU Cloud computing heavily relies on PCI Pass-through GPU virtualization which limits scalable use of GPUs among Virtual Machines. In this paper, we suggest GPU enabled HPC Cloud platform based on Remote API GPU virtualization. We used OpenStack Cloud OS, KVM Hypervisor, and rCUDA Remote API technique to enable scalable use of GPUs on OpenStack based Cloud environment. In addition, we evaluated performance of our GPU Cloud platform with real world GPU benchmark applications compared to PCI Pass-through based GPU Cloud platform. In result, we achieved speed ratio 0.93 to 0.99 on compute intensive GPU applications and 0.26 to 0.89 on data intensive GPU applications. Since network environment is important for our GPU Cloud platform, we suggest Network-aware VM scheduling algorithm where VM scheduling problem is generalized to find Fattest Augmenting Path in Max Flow problem. In result, we achieved average 5.66% higher success rate than current scheduler in PCI Pass-through based GPU Cloud platform.
최근 HPC Cloud는 그 효율성과 탄력적인 자원 사용 능력으로 고성능 컴퓨팅 분야에서 관심을 받고 있다. 또한 슈퍼컴퓨터에서 고성능의 GPU를 사용함으로써 높은 성능을 얻는 것은 오늘날 일반적인 방법이 되었다. 이러한 GPU를 클라우드 환경에서 고성능 컴퓨팅에 활용하려는 시도가 최근 몇 년 동안 진행되었다. 클라우드 컴퓨팅에서 GPU를 사용하기 위해선 GPU 가상화 기술을 필요로 하며 이 기술을 통해 가상 머신의 Guest OS에서 GPU를 사용할 수 있게 된다. 하지만 오늘날 GPU 클라우드 컴퓨팅은 PCI Pass-through 가상화 방식을 주로 사용하는데 이 방식은 가상 머신의 Scalable한 GPU 사용이 불가능하다는 단점을 갖는다. 따라서 본 연구에서는 Remote API 가상화 방식을 활용한 GPU 클라우드 플랫폼을 제안한다. 본 연구에서는 오픈스택 클라우드 OS, KVM 하이퍼바이저, rCUDA Remote API 가상화 기술을 사용하여 오픈스택 기반의 클라우드 환경에서 Scalable한 GPU 사용 환경을 구축하였다. 또한 GPU 벤치마크 프로그램 실행을 통해 기존 PCI Pass-through 기반 GPU 클라우드 플랫폼과의 성능 비교 분석을 수행하였다. 그 결과 계산 집적 GPU 프로그램에서 기존 플랫폼 대비 0.93 ~ 0.99 비율의 성능을 보였으며, 데이터 집적 GPU 프로그램에서 0.26 ~ 0.89 비율의 성능을 보이는 것을 확인하였다. 본 연구의 성능 평가 결과 네트워크 환경이 GPU 클라우드 플랫폼 구축에 중요하다는 것을 확인하였으며, 이에 따라 네트워크 인지형 가상머신 스케줄링 알고리즘을 제안하였다. 본 연구의 네트워크 인지형 가상머신 스케줄링 알고리즘은 가상 머신 스케줄링 문제를 Max Flow의 Fattest Augementing Path 탐색 문제로 일반화하였다. 알고리즘 성능 평가 결과 기존 PCI Pass-through 기반 GPU 클라우드 플랫폼에서 사용되는 스케줄링 알고리즘보다 평균 5.66% 높은 스케줄링 성공률을 보이는 것을 확인하였다.