본문 바로가기
KERD
논문KCI 등재

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)

  1. "NVIDIA Docker Wiki"[URL]
  2. "Docker"[URL]
  3. "Docker CLI"[URL]
  4. "Compute Unified Device Architecture (CUDA)"[URL]
  5. "CUDA C++ Programming Guide"[URL]
  6. "Multi-Process Service(MPS)"[URL]
  7. "NVIDIA Docker"[URL]
  8. "docker ps"[URL]
  9. "docker top"[URL]
  10. "NVIDIA System Management Interface"[URL]
  11. Q. Chen, "Design of an adaptive GPU sharing and scheduling scheme in container-based cluster", Cluster Computing, 23(3), pp.2179~2191 (2020)
  12. 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)
  13. 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]
  14. J. Shao, "GPU scheduling for short tasks in private cloud", 2019 IEEE International Conference on Service-Oriented System Engineering (SOSE), pp.215~2155 (2019)
  15. 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)
  16. "kubernetes"[URL]
  17. 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)
  18. Y. Peng, "Optimus:an efficient dynamic resource scheduler for deep learning clusters", Proceedings of the Thirteenth EuroSys Conference, pp.1~14 (2018)
  19. 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)
  20. H. H. Chen, "Gemini:Enabling multi-tenant gpu sharing based on kernel burst estimation", IEEE Transactions on Cloud Computing (2021)
  21. 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)
  22. "Tensorflow"[URL]
  23. "PyTorch"[URL]

관련 논문AI추천

GPU를 공유하는 컨테이너 기반 클라우드 환경에서다수의 사용자를 위한 원격 VR 서비스의 성능 관리 기법강지훈한국정보처리학회 · 정보처리학회논문지. 컴퓨터 및 통신시스템2022 · 제11권 제1호RPC 기반 GPU 가상화 환경에서 가상머신의 GPGPU 작업 성능 향상을 위한 GPU 메모리 관리 기법강지훈한국정보처리학회 · 정보처리학회논문지. 컴퓨터 및 통신시스템2021 · 제10권 제5호클라우드 환경에서 GPU 연산으로 인한 가상머신의 성능 저하를 완화하는 GPGPU 작업 관리 기법강지훈, 길준민한국정보처리학회 · 정보처리학회논문지. 컴퓨터 및 통신시스템2020 · 제9권 제9호클러스터 기반 컨테이너 환경에서 실시간 GPU 작업 모니터링 및컨테이너 배치를 위한 노드 리스트 관리기법강지훈, 길준민한국정보처리학회 · 정보처리학회논문지. 컴퓨터 및 통신시스템2022 · 제11권 제11호컨테이너 기반 클러스터 환경에서 효율적인 자원관리를 위한 오케스트레이션 방법나연묵, 정혜진, 최원석한국차세대컴퓨팅학회 · 한국차세대컴퓨팅학회 논문지2019 · 제15권 제2호볼런티어 컴퓨팅 환경에서 성능간섭 최소화와 연산 효율성 증대를 위한 CPU/GPU 컴퓨팅 자원 최적화 기법박봉우, 송충건, 유헌창한국정보처리학회 · 정보처리학회논문지. 컴퓨터 및 통신시스템2017 · 제6권 제12호

이 간행물의 다른 논문 (5건)