1004 0

쿠버네티스 환경에서 GPU Resource 가상화 관련 스케줄링 개선

Title
쿠버네티스 환경에서 GPU Resource 가상화 관련 스케줄링 개선
Other Titles
An Improvement of Scheduling for GPU Resource Virtualization in Kubernetes Environment
Author
조낙휘
Alternative Author(s)
Cho, Nak Hwi
Advisor(s)
조인휘
Issue Date
2021. 8
Publisher
한양대학교
Degree
Master
Abstract
클라우드 컴퓨팅 환경이 대중화되면서 컨테이너 기술이 부상하고 있다. 이러한 컨테이너들은 쿠버네티스(Kubernetes)로 대표되는 컨테이너 오케스트레이션 플랫폼으로 관리된다. GPU는 고성능 컴퓨팅이 필요한 머신 러닝이나 이미지 프로세싱 같은 분야에서 다양하게 활용되면서, 여러 클라우드 서비스 공급업체들은 GPU 서비스를 제공하기 시작했다. 딥러닝 어플리케이션으로 인해 GPU에 대한 요구가 커지고, 관련 컨테이너 및 쿠버네티스의 사용도 늘어나고 있다. 그러나 쿠버네티스는 실행 원자 단위인 Pod에 정수개의 GPU 할당하고, 다른 Pod과 공유할 수 없다. GPU 리소스가 집중적으로 필요한 작업이 아닐 경우 GPU의 리소스 활용률(Utilization)이 저하될 수 있다. GPU 가상화는 Pod에 GPU 자원을 공유할 수 있는 기회를 제공하여 리소스 활용률을 향상시킬 수 있다. 하지만 GPU 자원 특성상 선점이 어려우므로 가상화 된 GPU 리소스를 분배하는 스케줄링 기법에 따라 Pod의 수행 성능이 달라질 수 있다. 본 논문에서는 쿠버네티스 GPU 가상화 솔루션인 KubeShare에서 효율적인 GPU 리소스 분배가 가능하도록 개선된 스케줄링 알고리즘을 제안한다. 사전 할당된 GPU 리소스를 최대한 사용할 수 있도록 시작 값을 MAX_QUOTA로 할당하고, 할당값보다 실제 사용량이 UPDATE_RATE 만큼 연속으로 변화하면 할당값을 조절하도록 스케줄링 알고리즘을 개선하고, 다음 할당 요청 중 지정된 WINDOW_SIZE 내에 GPU 사용 이력이 있어도 해당 요청을 선정하여 할당 요청 선정 시간을 최소화함으로써 수행 성능을 개선하였다. MLPerf를 통해 정의된 환경에서 가상화 된 GPU 수행 성능을 측정하고, 기존 방식과의 비교를 통해 개선된 성능을 검증하였다. |Container technology is emerging as cloud computing environments become more popular. These containers are managed as container orchestration platforms represented by Kubernetes. As GPUs have been widely utilized in areas such as machine learning and image processing that require high-performance computing, several cloud service providers have begun offering GPU services. Deep learning applications are increasing demand for GPUs, and the use of related containers and Kubernetes is also increasing. However, Kubernetes can assign an integer GPU to the execution atomic unit Pod and cannot share it with another Pod. If GPU resources are not intensively required, GPU resource utilization may be degraded. GPU virtualization can improve resource utilization by providing Pod with the opportunity to share GPU resources. However, due to the characteristic of GPU resources, preemption is difficult, so the performance of Pod can vary depending on scheduling techniques that distribute virtualized GPU resources. In this paper, we propose an improved scheduling algorithm to enable efficient GPU resource distribution in KubeShare, a Kubernetes GPU virtualization solution. We improve performance by allocating start-up values to MAX_QUOTA for maximum use of pre-allocated GPU resources, adjusting the allocation value if the actual usage changes by UPDATE_RATE continuously, minimizing the allocation request selection time by selecting GPU usage history within the specified WINDOW_SIZE among the following allocation requests. We measure the performance of virtualized GPUs in environments defined via MLPerf, and validate their improved performance through comparison with existing methods.
URI
http://hanyang.dcollection.net/common/orgView/200000498512https://repository.hanyang.ac.kr/handle/20.500.11754/164236
Appears in Collections:
GRADUATE SCHOOL OF ENGINEERING[S](공학대학원) > ELECTRICAL ENGINEERING AND COMPUTER SCIENCE(전기ㆍ전자ㆍ컴퓨터공학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE