Ballooning Graphics Memory Space in Full GPU Virtualization Environments

Advances in virtualization technology have enabled multiple virtual machines (VMs) to share resources in a physical machine (PM). With the widespread use of graphics-intensive applications, such as two-dimensional (2D) or 3D rendering, many graphics processing unit (GPU) virtualization solutions hav...

Full description

Bibliographic Details
Main Authors: Younghun Park, Minwoo Gu, Sungyong Park
Format: Article
Language:English
Published: Hindawi Limited 2019-01-01
Series:Scientific Programming
Online Access:http://dx.doi.org/10.1155/2019/5240956
id doaj-3c8c6d2e4f4843afb5bf1cc6f7e187c9
record_format Article
spelling doaj-3c8c6d2e4f4843afb5bf1cc6f7e187c92021-07-02T05:59:11ZengHindawi LimitedScientific Programming1058-92441875-919X2019-01-01201910.1155/2019/52409565240956Ballooning Graphics Memory Space in Full GPU Virtualization EnvironmentsYounghun Park0Minwoo Gu1Sungyong Park2Department of Computer Science and Engineering, Sogang University, Seoul 04107, Republic of KoreaDepartment of Computer Science and Engineering, Sogang University, Seoul 04107, Republic of KoreaDepartment of Computer Science and Engineering, Sogang University, Seoul 04107, Republic of KoreaAdvances in virtualization technology have enabled multiple virtual machines (VMs) to share resources in a physical machine (PM). With the widespread use of graphics-intensive applications, such as two-dimensional (2D) or 3D rendering, many graphics processing unit (GPU) virtualization solutions have been proposed to provide high-performance GPU services in a virtualized environment. Although elasticity is one of the major benefits in this environment, the allocation of GPU memory is still static in the sense that after the GPU memory is allocated to a VM, it is not possible to change the memory size at runtime. This causes underutilization of GPU memory or performance degradation of a GPU application due to the lack of GPU memory when an application requires a large amount of GPU memory. In this paper, we propose a GPU memory ballooning solution called gBalloon that dynamically adjusts the GPU memory size at runtime according to the GPU memory requirement of each VM and the GPU memory sharing overhead. The gBalloon extends the GPU memory size of a VM by detecting performance degradation due to the lack of GPU memory. The gBalloon also reduces the GPU memory size when the overcommitted or underutilized GPU memory of a VM creates additional overhead for the GPU context switch or the CPU load due to GPU memory sharing among the VMs. We implemented the gBalloon by modifying the gVirt, a full GPU virtualization solution for Intel’s integrated GPUs. Benchmarking results show that the gBalloon dynamically adjusts the GPU memory size at runtime, which improves the performance by up to 8% against the gVirt with 384 MB of high global graphics memory and 32% against the gVirt with 1024 MB of high global graphics memory.http://dx.doi.org/10.1155/2019/5240956
collection DOAJ
language English
format Article
sources DOAJ
author Younghun Park
Minwoo Gu
Sungyong Park
spellingShingle Younghun Park
Minwoo Gu
Sungyong Park
Ballooning Graphics Memory Space in Full GPU Virtualization Environments
Scientific Programming
author_facet Younghun Park
Minwoo Gu
Sungyong Park
author_sort Younghun Park
title Ballooning Graphics Memory Space in Full GPU Virtualization Environments
title_short Ballooning Graphics Memory Space in Full GPU Virtualization Environments
title_full Ballooning Graphics Memory Space in Full GPU Virtualization Environments
title_fullStr Ballooning Graphics Memory Space in Full GPU Virtualization Environments
title_full_unstemmed Ballooning Graphics Memory Space in Full GPU Virtualization Environments
title_sort ballooning graphics memory space in full gpu virtualization environments
publisher Hindawi Limited
series Scientific Programming
issn 1058-9244
1875-919X
publishDate 2019-01-01
description Advances in virtualization technology have enabled multiple virtual machines (VMs) to share resources in a physical machine (PM). With the widespread use of graphics-intensive applications, such as two-dimensional (2D) or 3D rendering, many graphics processing unit (GPU) virtualization solutions have been proposed to provide high-performance GPU services in a virtualized environment. Although elasticity is one of the major benefits in this environment, the allocation of GPU memory is still static in the sense that after the GPU memory is allocated to a VM, it is not possible to change the memory size at runtime. This causes underutilization of GPU memory or performance degradation of a GPU application due to the lack of GPU memory when an application requires a large amount of GPU memory. In this paper, we propose a GPU memory ballooning solution called gBalloon that dynamically adjusts the GPU memory size at runtime according to the GPU memory requirement of each VM and the GPU memory sharing overhead. The gBalloon extends the GPU memory size of a VM by detecting performance degradation due to the lack of GPU memory. The gBalloon also reduces the GPU memory size when the overcommitted or underutilized GPU memory of a VM creates additional overhead for the GPU context switch or the CPU load due to GPU memory sharing among the VMs. We implemented the gBalloon by modifying the gVirt, a full GPU virtualization solution for Intel’s integrated GPUs. Benchmarking results show that the gBalloon dynamically adjusts the GPU memory size at runtime, which improves the performance by up to 8% against the gVirt with 384 MB of high global graphics memory and 32% against the gVirt with 1024 MB of high global graphics memory.
url http://dx.doi.org/10.1155/2019/5240956
work_keys_str_mv AT younghunpark ballooninggraphicsmemoryspaceinfullgpuvirtualizationenvironments
AT minwoogu ballooninggraphicsmemoryspaceinfullgpuvirtualizationenvironments
AT sungyongpark ballooninggraphicsmemoryspaceinfullgpuvirtualizationenvironments
_version_ 1721337915749957632