Abstract
The current GPU virtualization techniques incur large overheads when executing application programs mainly due to the fine-grain time-sharing scheduling of the GPU among multiple Virtual Machines (VMs). Besides, the current techniques lack of portability, because they include the APIs for the GPU computations in the VM monitor. In this paper, we propose a low overhead and high performance GPU virtualization approach on a heterogeneous HPC system based on the open-source Xen. Our proposed techniques are tailored to the bio applications. In our virtualization framework, we allow a VM to solely occupy a GPU once the VM is assigned a GPU instead of relying on the time-sharing the GPU. This improves the performance of the applications and the utilization of the GPUs. Our techniques also allow a direct pass-through to the GPU by using the IOMMU virtualization features embedded in the hardware for the high portability. Experimental studies using microbiology genome analysis applications show that our proposed techniques based on the direct pass-through significantly reduce the overheads compared with the previous Domain0 based approaches. Furthermore, our approach closely matches the performance for the applications to the bare machine or rather improves the performance.
현재 개발된 GPU 가상화 기술은 모두 미세한 시분할 기법에 의한 스케줄링을 사용하기 때문에 어플리케이션 실행을 위한 오버헤드를 필요 이상으로 유발한다. 또한 이들은 가상 머신 모니터에 GPU 컴퓨팅 API를 포함하고 있어서, 가상 머신 모니터의 이식성이 약하다. 본 논문에서는 이질적 컴퓨팅 시스템에서 바이오 어플리케이션에 최적화된 GPU 가상화 기술을 제안하며, 공개 소스 Xen을 사용하여 개발하였다. 우리가 제안하는 방법은 가상 머신 간의 GPU 공유를 시분할에 의존하지 않는다. 대신에 하나의 가상 머신이 GPU를 할당 받으면 그 가상 머신이 어플리케이션을 종료할 때까지 GPU를 사용하도록 허용한다. 이렇게 하여 바이오 어플리케이션의 성능을 향상시키고 GPU의 활용률을 높인다. GPU 가상화의 이식성을 높이기 위해 하드웨어가 지원하는 IOMMU 가상화를 이용하여 GPU에 대한 직접 접근 통로를 제공한다. 미생물 유전체 분석 어플리케이션을 대상으로 성능을 분석한 결과, 본 연구에서 제안하는 직접 통로 방식에 의한 GPU 가상화는 Domain0를 통한 접근에 비해 오버헤드가 적었다. 또한 직접 접근 방식에 의한 가상 머신의 GPU 접근은, 비가상화된 머신과 거의 성능의 차이가 없었다.