GPU를 공유하는 컨테이너 환경에서 GPU 작업의 동시 실행을 위한 GPU 자원 경쟁 관리기법
GPU Resource Contention Management Technique for Simultaneous GPU Tasks in the Container Environments with Share the GPU
0
조회
0
다운로드
0
인용
0
참고문헌
키워드
초록
컨테이너 기반 클라우드 환경은 다수의 컨테이너가 GPU(Graphic Processing Unit)를 공유할 수 있으며, GPU 공유는 GPU 자원의 유휴 시간을최소화하고 자원 사용률을 향상할 수 있다. 하지만, GPU는 전통적으로 클라우드 환경에서 CPU, 메모리와는 다르게 컴퓨팅 자원을 논리적으로다중화하고 사용자에게 자원 일부를 격리된 형태로 제공할 수 없다. 또한, 컨테이너는 GPU 작업을 실행할 때만 GPU 자원을 점유하며, 각 컨테이너의GPU 작업 실행 시점이나 작업 규모를 미리 알 수 없기 때문에 자원 사용량 또한 미리 알 수 없다. 컨테이너가 GPU 자원을 임의의 시점에 제한없이 사용한다는 특징은 다수의 컨테이너가 GPU 작업을 동시에 실행하는 환경에서 자원 경쟁 상태 관리를 매우 어렵게 만들며, GPU 작업은 대부분GPU 내부에서 블랙박스 형태로 처리되기 때문에 GPU 작업이 실행된 이후에는 GPU 자원 경쟁을 방지하는데 제한적이다. 본 논문에서는 다수의컨테이너가 GPU 작업을 동시에 실행할 때 자원 경쟁으로 인해 발생하는 성능 저하를 방지하기 위한 컨테이너 관리기법을 제안한다. 또한, 본논문에서는 실험을 통해 다수의 컨테이너가 GPU 작업을 동시에 실행할 때 자원 경쟁으로 인한 성능 저하 문제를 분석하고 제안하는 컨테이너관리기법의 효율성을 증명한다.
Abstract
In a container-based cloud environment, multiple containers can share a graphical processing unit (GPU), and GPU sharing can minimizeidle time of GPU resources and improve resource utilization. However, in a cloud environment, GPUs, unlike CPU or memory, cannotlogically multiplex computing resources to provide users with some of the resources in an isolated form. In addition, containers occupyGPU resources only when performing GPU operations, and resource usage is also unknown because the timing or size of each container'sGPU operations is not known in advance. Containers unrestricted use of GPU resources at any given point in time makes managing resourcecontention very difficult owing to where multiple containers run GPU tasks simultaneously, and GPU tasks are handled in black box forminside the GPU. In this paper, we propose a container management technique to prevent performance degradation caused by resourcecompetition when multiple containers execute GPU tasks simultaneously. Also, this paper demonstrates the efficiency of containermanagement techniques that analyze and propose the problem of degradation due to resource competition when multiple containersexecute GPU tasks simultaneously through experiments.
참고문헌 (23)
- "NVIDIA Docker Wiki"[URL]
- "Docker"[URL]
- "Docker CLI"[URL]
- "Compute Unified Device Architecture (CUDA)"[URL]
- "CUDA C++ Programming Guide"[URL]
- "Multi-Process Service(MPS)"[URL]
- "NVIDIA Docker"[URL]
- "docker ps"[URL]
- "docker top"[URL]
- "NVIDIA System Management Interface"[URL]
- Q. Chen, "Design of an adaptive GPU sharing and scheduling scheme in container-based cluster", Cluster Computing, 23(3), pp.2179~2191 (2020)
- M. Lee, "gShare: A centralized GPU memory management framework to enable GPU memory sharing for containers", Future Generation Computer Systems, 130, pp.181~192 (2022)
- J. Gu, "GaiaGPU: sharing GPUs in container clouds", 2018 IEEE Intl Conf on Parallel & Distributed Processing with Applications, Ubiquitous Computing & Communications, Big Data & Cloud Computing, Social Computing & Networking, Sustainable Computing & Communications (ISPA, BDCloud, pp.SocialCom, SustainCom)[DOI]
- J. Shao, "GPU scheduling for short tasks in private cloud", 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp.215~2155 (2019)
- P. Thinakaran, "Kube-knots: Resource harvesting through dynamic container orchestration in gpubased datacenters", 2019 IEEE International Conference on Cluster Computing (CLUSTER), pp.1~13 (2019)
- "kubernetes"[URL]
- T. A. Yeh, "Kubeshare: A framework to manage gpus as first-class and shared resources in container cloud", Proceedings of the 29th International Symposium on High-Performance Parallel and Distributed Computing, pp.173~184 (2020)
- Y. Peng, "Optimus:an efficient dynamic resource scheduler for deep learning clusters", Proceedings of the Thirteenth EuroSys Conference, pp.1~14 (2018)
- Z. Liu, "KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes", Concurrency and Computation: Practice and Experience, 34(11), pp.e6836~ (2022)
- H. H. Chen, "Gemini:Enabling multi-tenant gpu sharing based on kernel burst estimation", IEEE Transactions on Cloud Computing (2021)
- W. Xiao, "AntMan: Dynamic scaling on GPU clusters for deep learning", Proceedings of the 14th USENIX Conference on Operating Systems Design and Implementation, pp.533~548 (2020)
- "Tensorflow"[URL]
- "PyTorch"[URL]
