• 제목/요약/키워드: GPU

검색결과 964건 처리시간 0.031초

GPU를 공유하는 컨테이너 환경에서 GPU 작업의 동시 실행을 위한 GPU 자원 경쟁 관리기법 (GPU Resource Contention Management Technique for Simultaneous GPU Tasks in the Container Environments with Share the GPU)

  • 강지훈
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제11권10호
    • /
    • pp.333-344
    • /
    • 2022
  • 컨테이너 기반 클라우드 환경은 다수의 컨테이너가 GPU(Graphic Processing Unit)를 공유할 수 있으며, GPU 공유는 GPU 자원의 유휴 시간을 최소화하고 자원 사용률을 향상할 수 있다. 하지만, GPU는 전통적으로 클라우드 환경에서 CPU, 메모리와는 다르게 컴퓨팅 자원을 논리적으로 다중화하고 사용자에게 자원 일부를 격리된 형태로 제공할 수 없다. 또한, 컨테이너는 GPU 작업을 실행할 때만 GPU 자원을 점유하며, 각 컨테이너의 GPU 작업 실행 시점이나 작업 규모를 미리 알 수 없기 때문에 자원 사용량 또한 미리 알 수 없다. 컨테이너가 GPU 자원을 임의의 시점에 제한없이 사용한다는 특징은 다수의 컨테이너가 GPU 작업을 동시에 실행하는 환경에서 자원 경쟁 상태 관리를 매우 어렵게 만들며, GPU 작업은 대부분 GPU 내부에서 블랙박스 형태로 처리되기 때문에 GPU 작업이 실행된 이후에는 GPU 자원 경쟁을 방지하는데 제한적이다. 본 논문에서는 다수의 컨테이너가 GPU 작업을 동시에 실행할 때 자원 경쟁으로 인해 발생하는 성능 저하를 방지하기 위한 컨테이너 관리기법을 제안한다. 또한, 본 논문에서는 실험을 통해 다수의 컨테이너가 GPU 작업을 동시에 실행할 때 자원 경쟁으로 인한 성능 저하 문제를 분석하고 제안하는 컨테이너 관리기법의 효율성을 증명한다.

멀티코어형 모바일 GPU의 작업 분배 및 효율성 분석 (Analysis of Job Scheduling and the Efficiency for Multi-core Mobile GPU)

  • 임효정;한동건;김형신
    • 한국산학기술학회논문지
    • /
    • 제15권7호
    • /
    • pp.4545-4553
    • /
    • 2014
  • 모바일 GPU가 발전함에 따라 멀티코어 GPU를 효과적으로 최적화하는 것은 스마트폰의 성능을 높이는데 있어 중요한 문제가 되고 있다. 하지만 대부분의 모바일 GPU에 관한 연구는 싱글코어 모바일 GPU에 대해 다루고 있거나, GPU 공급자에 의한 제한적인 연구만을 다루고 있다. 따라서 본 논문에서는 멀티코어 GPU의 작업 분배 패턴과 효율성 분석을 통해 성능향상의 가능성에 대한 분석을 수행하였다. 실험은 DS-5 Streamline을 사용하여 시스템 사용자 인터페이스를 조작하였을 때, GPU의 코어 수의 변화에 따른 그래픽 처리 소요 시간을 측정한 실험과 GPU의 코어 수에 따른 작업 분배 패턴에 대한 실험을 수행하였다. 프로파일링 결과, GPU의 코어수가 더 증가했음에도 불구하고 그래픽 애플리케이션을 실행하는데 요구되는 전체 소요시간이 증가하는 경우를 발견하였다. 또한 GPU가 그래픽을 처리할 때, 약 4ms의 오버헤드가 CPU와 GPU 사이의 통신에서 발생하고, GPU 내부 드라이버의 활동으로 인한 지연이 발생했음을 확인하였다. 따라서 본 논문에서 GPU 동작의 비효율성에 대한 분석결과는 앞으로의 모바일 멀티코어 GPU의 연구에 있어 참고가 될 수 있을 것이라 예상한다.

RPC 기반 GPU 가상화 환경에서 가상머신의 GPGPU 작업 성능 향상을 위한 GPU 메모리 관리 기법 (GPU Memory Management Technique to Improve the Performance of GPGPU Task of Virtual Machines in RPC-Based GPU Virtualization Environments)

  • 강지훈
    • 정보처리학회논문지:컴퓨터 및 통신 시스템
    • /
    • 제10권5호
    • /
    • pp.123-136
    • /
    • 2021
  • RPC(Remote Procedure Call) 기반 GPU(Graphics Processing Unit) 가상화 기술은 다수의 사용자 가상머신에게 GPU를 공유하기 위한 기술 중 하나이다. 하지만 클라우드 환경에서 일반적인 GPU는 CPU나 메모리와는 다르게 가상머신의 자원 사용량을 제한할 수 있는 자원 격리(Isolation) 기술을 제공하지 않는다. 특히 RPC 기반 가상화 환경에서는 각 가상머신에서 실행되는 GPU 작업은 멀티 프로세스 형태로 수행되기 때문에 자원격리 기술의 부재는 자원 경쟁으로 인한 성능 저하 문제를 발생시킨다. 그리고 GPU 메모리 경쟁은 가상머신들의 자원 요구량이 많을수록 성능저하를 가속화하고 가상머신 사이의 균등한 성능을 보장하지 못하기 때문에 공평성이 저하되는 문제를 발생시킨다. 본 논문에서는 RPC 기반 GPU 가상화 환경에서 사용자 가상머신들의 GPU 메모리 요구량이 가용 GPU 메모리 용량을 초과했을 때 발생하는 자원 경쟁으로 인한 성능 저하 문제 분석하고 이를 해결하기 위한 GPU 메모리 관리 기법을 제안한다. 또한, 실험을 통해 본 논문에서 제안한 GPU 메모리 관리 기법이 GPGPU 작업의 성능을 향상시킬 수 있다는 것을 보여준다.

NVIDIA Tegra와 Tesla GPU에서의 CPU-GPU 데이터 전송성능 연구 (A Performance Study on CPU-GPU Data Transfers of NVIDIA Tegra and Tesla GPUs)

  • 권오경;구기범
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2021년도 추계학술발표대회
    • /
    • pp.39-42
    • /
    • 2021
  • 최근 HPC, 인공지능에서 GPU 성능이 향상되면서 사용이 보편화되고 있지만 GPU 프로그래밍은 난이도 측면에서 여전히 큰 장애물이다. 특히 호스트(host) 메모리와 GPU 메모리를 따로 관리해야 하는 어려움 때문에 편의성과 성능 측면에서 연구가 활발히 진행되고 있으며, 다양한 CPU-GPU 메모리 전송프로그래밍 방법들이 제시되고 있다. 본 연구는 NVIDIA Tegra 장치들과 NVIDIA SMX 기반 V100 GPU 카드에서 CPU-GPU 데이터 전송 기법별로 성능비교를 하고자 한다. 특히 NVIDIA Tegra 장치는 CPU와 GPU 통합메모리를 제공하고 있어서 CPU-GPU 메모리 전송방법의 관점에서 기존 GPU 장치와 다른 성능 특징을 보여준다. 성능비교를 위한 실험 워크로드는 HPC 응용프로그램에서 빈번하게 사용하는 2차원 행렬 전치 예제를 사용하였다. 실험을 통해 각 GPU 장치별로 CPU-GPU 메모리 전송 방법에 따른 GPU 커널 성능차이, 페이지 잠긴 메모리와 페이지 가능 메모리의 전송 성능차이, 마지막으로 전체 성능비교를 하였다.

컨테이너 환경에서 텐서플로의 GPU 메모리 사용방식에 따른 학습 작업의 성능 분석 (Analyzing the performance of training tasks based on GPU memory use manner of TensorFlow in Container environments)

  • 강지훈;길준민
    • 한국정보처리학회:학술대회논문집
    • /
    • 한국정보처리학회 2023년도 춘계학술발표대회
    • /
    • pp.60-62
    • /
    • 2023
  • 인공지능의 학습 작업은 연산량이 많아 고성능 연산 장치인 GPU(Graphics Processing Unit)를 필요로 하며, GPU 장치의 성능은 학습 작업의 실행 성능에 직접적으로 영향을 미치는 요소 중 하나로 작용한다. 인공지능 작업을 처리하기 위해 많이 사용되는 텐서플로의 경우 GPU를 사용해 연산을 수행할 때 기본적으로 거의 모든 GPU 메모리 영역을 단일 학습 작업이 점유하도록 GPU 메모리를 관리한다. 이 방법은 컴퓨팅 자원 중 확장성이 가장 낮은 GPU 메모리의 단편화를 방지하기 위해 사용되는 방법이지만, 하나의 학습 작업이 GPU를 점유하게 되면, 실제 GPU 메모리 사용량과 상관없이 다른 프로세스는 GPU를 사용할 수 없는 문제를 유발한다. 특히, 전이학습, 소규모 학습과 같이 상대적으로 작업 규모가 작은 경우에는 전체 GPU 메모리 용량 중 대부분의 영역이 낭비된다. 본 논문에서는 컨테이너 환경에서 텐서플로의 기본 GPU 메모리 사용 방식으로 인해 다수의 학습 작업을 동시 실행하는 것이 불가능한 문제를 확인하고 GPU 메모리 사용량을 제한한 경우와 하지 않은 경우에 실제 GPU 메모리 사용량과 학습 작업의 실행 시간에 대한 성능 비교를 통해 GPU 메모리의 단편화 방지가 성능에 유의미한 요소인지 검증한다.

쿠다를 사용하여 GPU 리소스를 분배하는 지능형 얼굴 인식 및 트래킹 시스템 (Intelligent Face Recognition and Tracking System to Distribute GPU Resources using CUDA)

  • 김재형;이승호
    • 전기전자학회논문지
    • /
    • 제22권2호
    • /
    • pp.281-288
    • /
    • 2018
  • 본 논문에서는 쿠다(CUDA)를 사용하여 GPU 리소스를 분배하는 지능형 얼굴 인식 및 트래킹 시스템을 제안한다. 제안한 시스템은 GPU 리소스를 최적의 상태로 분배하는 GPU 할당 알고리즘, 딥러닝을 이용한 얼굴 영역 검출, 딥러닝을 이용한 얼굴 인식, 실시간 얼굴 트래킹, PTZ 카메라 제어 등의 5단계로 구성되어진다. 멀티 GPU 리소스를 최적의 상태로 분배하는 GPU 할당 알고리즘은 고정적으로 스레드에 GPU를 할당하는 방식과 달리 GPU의 활성화 정도에 따라 유동적으로 GPU 리소스를 분배한다. 따라서 안정적이고 효율적인 멀티 GPU 사용을 가능하게 하는 특징이 있다. 제안된 시스템에 대한 성능을 평가하기 위하여 리소스 분배를 하지 않은 시스템과 제안한 시스템을 비교한 결과, 리소스를 분배하지 않은 시스템은 불안정한 동작을 보이는 반면에 제안한 시스템에서는 안정적으로 구동됨으로서 효율적인 리소스 사용을 보였다. 따라서 제안된 시스템의 효용성이 입증되었다.

GPU 컨테이너 동시 실행에 따른 응용의 간섭 측정 프레임워크 설계 (A design of GPU container co-execution framework measuring interference among applications)

  • 김세진;김윤희
    • KNOM Review
    • /
    • 제23권1호
    • /
    • pp.43-50
    • /
    • 2020
  • 범용 그래픽 처리 장치(General Purpose Graphics Processing Unit, GPGPU)는 최근 고성능 컴퓨팅에서 중요한 역할을 함으로써, 여러 클라우드 서비스 공급업체들은 GPU 서비스를 제공하기 시작했다. 컨테이너를 사용하는 클라우드 환경에서 대부분의 클러스터 오케스트레이션 플랫폼은 정수 개의 GPU를 작업에 할당하고 다른 작업과 이를 공유하는 것을 허용하지 않는다. 이 경우 작업이 GPU에서 코어 및 메모리 등 자원이 집중적으로 필요하지 않다면 GPU 노드의 리소스 사용률이 저하될 수 있다. GPU 가상화는 응용의 동시 수행을 가능하게 하며 자원을 공유할 수 있는 기회를 제공한다. 하지만 응용의 동시 수행 성능은 동시 수행되는 응용의 특성과 노드 안에서 자원 경쟁으로 인한 간섭에 따라 달라질 수 있다. 본 논문은 컨테이너 오케스트레이션 플랫폼인 쿠버네티스(Kubernetes)를 기반으로 다중 서버 생성 및 실행을 통하여 GPU를 공유함으로써 발생할 수 있는 간섭을 측정하기 위한 프레임워크를 제안한다. 본 프레임워크를 통해 다양한 스케줄링 방법으로 GPU에서 여러 작업을 실행함으로써 이에 따른 성능 변화를 조사하였으며, 이를 통해 GPU 메모리 사용량 및 컴퓨팅 리소스만 고려해서는 최적의 스케줄링을 할 수 없음을 보인다. 마지막으로 해당 프레임워크를 사용하여 응용들의 동시 실행에 따라 발생한 간섭을 측정한다.

응용프로그램 실행에 따른 CPU/GPU의 온도 및 컴퓨터 시스템의 에너지 효율성 분석 (Analysis of the CPU/GPU Temperature and Energy Efficiency depending on Executed Applications)

  • 최홍준;강승구;김종면;김철홍
    • 한국컴퓨터정보학회논문지
    • /
    • 제17권5호
    • /
    • pp.9-19
    • /
    • 2012
  • 전력 소모 증가와 칩 내부 온도 증가라는 문제점들로 인해 동작 주파수 증대를 통해 CPU의 성능을 향상시키는 기법은 점차 한계에 다다르고 있다. 이와 같은 상황에서, CPU의 작업량을 줄여주는 GPU를 활용하는 것은 컴퓨터 시스템의 성능을 향상시키기 위해 사용되는 대표적인 방안 중 하나이다. GPU는 그래픽 작업을 위해 개발된 프로세서로 기존에는 그래픽 작업들만을 전담으로 처리하여 왔지만, CUDA와 같이 GPU 자원을 쉽게 활용할 수 있는 기술이 점차 개발됨에 따라서 GPU를 범용 연산에 활용함으로써 고성능 컴퓨터 시스템을 구현하는 기법이 주목을 받고 있다. 본 논문에서는 다양한 응용프로그램들을 수행하는 경우에 CPU와 GPU가 동시에 활용되는 고성능 컴퓨터 시스템을 목표로, 시스템에서 발생하는 온도와 에너지 효율성을 상세하게 분석하고자 한다. 이를 통해, CPU와 GPU가 동시에 활용되는 컴퓨터 시스템에서 향후 발생 가능한 온도와 에너지 소비 측면에서의 문제점들을 제시하고자 한다. 온도 분석 결과를 살펴보면, GPU를 이용하여 응용프로그램을 수행하는 경우에는 CPU와 GPU의 온도가 동시에 모두 상승하는 것을 할 수 있다. 이와 달리, CPU를 이용하여 응용프로그램을 수행하는 경우에는 GPU의 온도는 거의 변화가 없이 유지되고, CPU의 온도만이 지속적으로 상승한다. 에너지 효율성 측면에서 살펴보면, GPU를 이용하는 것이 CPU를 이용하는 것과 비교하여 동일한 응용프로그램을 수행하는데 있어서 더 적은 에너지를 소비한다. 하지만, GPU는 CPU에 비해 더 많은 전력을 소모하기 때문에 1Wh의 에너지당 발생하는 온도는 CPU에 비해 GPU에서 훨씬 높게 나타난다.

GP-GPU 개발을 위한 3차원 그래픽 시뮬레이터 구현 (Implementation of a 3D Graphics Simulator for GP-GPU)

  • 여동영;김우영;정형기;이광엽
    • 한국정보통신학회:학술대회논문집
    • /
    • 한국해양정보통신학회 2009년도 추계학술대회
    • /
    • pp.337-340
    • /
    • 2009
  • 3차원 그래픽 처리를 위한 가속기 하드웨어가 발표된 이후 GPU(Graphics Processing Unit)의 성능은 끊임없이 개선되어 왔다. 이는 복잡한 그래픽 어플리케이션의 연산을 효율적으로 처리하기 위한 추세이나 실제로 GPU의 리소스를 100% 활용하는 경우는 드물다. 최근 주목받고 있는 GP-GPU(General-Purpose GPU)는 GPU에서 담당하는 연산을 포함하고 CPU가 처리하는 일반적인 연산의 처리도 가능하여 프로세서 자원의 분배에 따라 효율적인 제어가 가능하다. 본 논문에서는 GP-GPU 기반 환경을 가상으로 구현하여 프로그램의 설계 및 디버깅이 가능한 시뮬레이터를 구현하였다. 이를 통해 동시 설계(Co-Design) 환경을 구성하여 동시적 개발 환경을 지원하고 3차원 그래픽 컨텐츠의 디스플레이가 가능한 인터페이스를 구축하여 빠르고 안정적인 검증이 가능하다.

  • PDF

GPU 성능 저하 해결을 위한 내부 자원 활용/비활용 상태 분석 (Analysis on the Active/Inactive Status of Computational Resources for Improving the Performance of the GPU)

  • 최홍준;손동오;김종면;김철홍
    • 한국콘텐츠학회논문지
    • /
    • 제15권7호
    • /
    • pp.1-11
    • /
    • 2015
  • 최신 고성능 컴퓨팅 시스템에서는, 대용량 병렬 연산을 효과적으로 처리할 수 있는 GPU의 우수한 연산 성능을 그래픽 처리 이외의 범용 작업에 활용하는 GPGPU 기술에 관한 연구가 활발하게 진행 중이다. 하지만 범용 응용프로그램의 특성이 GPU 구조에 최적화되어 있지 않기 때문에 범용 프로그램 수행 시 GPGPU는 GPU의 연산 자원을 효과적으로 활용하지 못하고 있다. 그러므로 본 논문에서는 GPGPU 기술을 사용하는 컴퓨팅 시스템의 성능을 보다 향상시킬 수 있는 GPU 연구에 대한 방향을 제시하고자 한다. 이를 위하여, 본 논문에서는 GPU 성능 저하 원인 분석을 수행한다. GPU 성능 저하 원인을 보다 명확하게 분류하고자 본 논문에서는 GPU 코어의 상태를 완전 활성화 상태, 불완전 활성화 상태, 유휴 상태, 메모리스톨 상태, 그리고 GPU 코어 스톨 상태 등 5가지로 정의하였다. 완전 활성화 상태를 제외한 모든 GPU 코어 상태들은 컴퓨팅 시스템의 성능 저하를 유발한다. 본 논문에서 성능 저하 원인을 찾고자 벤치마크 프로그램의 특성에 따라 각 GPU 코어 상태의 비율 변화를 측정하였다. 분석 결과에 따르면, 불완전 활성화 상태, 유휴 상태, 메모리 스톨 상태 그리고 GPU 코어 스톨 상태는 연산 자원 활용률 저하, 낮은 프로그램 병렬성, 높은 메모리 요청, 그리고 구조적 해저드에 의해 각각 유발된다.