검색 상세

GPU 가상화 환경에서 메모리 공유 오버헤드를 고려한 동적 GPU 메모리 벌루닝 기법 : gBalloon: A Dynamic GPU Memory Ballooning Scheme in Full GPU Virtualization Environments

초록/요약

With advances in cloud computing and GPU technology, there has been much interest in providing GPU instances in the cloud environment. gVirt is a full GPU virtualization solution that addresses the problems of traditional GPU virtualization technologies such as API remoting and direct pass-through. gVirt has limited the number of GPU virtual machines that can be created at the same time, so gScale has solved this problem by allowing multiple GPU virtual machines to share GPU memory. However, after the GPU memory is allocated to virtual machine, it is not possible to change the GPU memory size. It causes a performance degradation or a crash of an GPU application due to a lack of GPU memory when the application requires a large amount of GPU memory. In this paper, we propose gBalloon which dynamically adjusts the GPU memory size of virtual machine according to GPU memory requirement of the virtual machine and GPU memory sharing overhead. gBalloon extends the virtual machine's GPU memory size by detecting performance degradation due to lack of GPU memory. It also detects the increased GPU context switch time and CPU load due to GPU memory sharing between virtual machines, and it reduces the GPU memory allocated to the virtual machine which over-consumes GPU memory. We implemented gBalloon on the existing gVirt and confirmed that the performance improvement is up to 8% through experiments using various CPU and GPU benchmarks.

more

초록/요약

클라우드 컴퓨팅 및 GPU 기술의 발전으로 클라우드 서비스 제공자들은 클라우드 환경에서 GPU 인스턴스를 제공하는 것에 많은 관심이 집중되고 있다. 클라우드 환경에서는 다양한 가상 머신의 성능을 만족시키기 위해선 여러 가상 머신간에 효율적인 GPU 공유 솔루션을 제공하는 것이 필수적이다. gVirt는 API Remoting과 Direct pass-through와 같은 기존 GPU 가상화 기술들의 문제점을 보완한 full GPU 가상화 솔루션이다. 기존 gVirt는 동시에 생성할 수 있는 GPU 가상 머신의 수가 제한되어 있어, gScale은 다수의 GPU 가상 머신이 GPU 메모리를 공유할 수 있도록 하여 이 문제를 해결하였다. 하지만, 가상 머신 생성시 할당되는 GPU 메모리를 변화할 수 없어 많은 GPU 메모리를 요구하는 응용 프로그램을 수행할 때 GPU 메모리 부족으로 성능저하가 발생하거나 크래쉬가 발생할 수 있다. 본 논문은 가상 머신의 GPU 메모리 요구량과 GPU 메모리 공유 오버헤드에 따라 실시간으로 가상 머신에게 할당된 GPU 메모리 크기를 조절하는 gBalloon을 제안한다. gBalloon은 가상 머신이 GPU 메모리 부족으로 인해 성능저하가 발생하는 것을 감지하여 가상 머신의 GPU 메모리 크기를 확장한다. 또한 가상 머신간의 GPU 메모리 공유로 인해 증가되는 GPU 컨텍스트 전환 시간과 CPU 부하를 주기적으로 모니터링하여 GPU 메모리를 과도하게 차지하는 가상 머신에 할당된 GPU 메모리를 축소한다. 이를 위해 gBalloon을 기존 gVirt위에 구현하였고, 다양한 GPU 응용 프로그램을 이용한 실험을 통해서 최대 8%의 성능 개선이 되는 것을 확인하였다.

more