• 제목/요약/키워드: GPGPU. kernel scheduling

검색결과 3건 처리시간 0.02초

다중 프로세스 서비스를 이용한 GPU 응용 동시 실행 성능 분석 (A Execution Performance Analysis of Applications using Multi-Process Service over GPU)

  • 김세진;오지선;김윤희
    • KNOM Review
    • /
    • 제22권1호
    • /
    • pp.60-67
    • /
    • 2019
  • Graphical Processing Units(GPUs)는 비교적 정형화된 연산을 병렬적으로 처리함으로써 높은 성능을 제공한다. 기술의 발전에 따라 GPU 환경에서 다양한 응용 실행을 시도하는 General Purpose GPU(GPGPU) 실행환경이 연구되고 있으나, 자원 분배, 스케줄링 등의 GPU 자원을 효율적으로 사용하기에는 아직 제한적이다. 최신의 GPU 구조들은 커널의 동시 실행을 지원하지만 같은 응용 안에서만 동시 실행이 가능하다는 문제점이 있어 NVIDIA는 Multi-Process Service(MPS)를 제안하였다. MPS는 다른 응용에 속한 커널도 동시 실행할 수 있도록 서비스한다. 하지만 응용의 실행 특성 및 동시 실행되는 패턴이 미리 파악되어 있지 않으면 MPS 장점을 최대한으로 취할 수 없다. 본 논문에서는 응용 프로파일링을 통해 응용의 특성을 파악하고, 동시 실행 스케줄링 알고리즘을 적용하여 실험을 진행하였다. MPS의 장점을 최대한으로 활용하기 위해서는 함께 돌릴 응용의 특성을 파악하고, 프로파일링을 통해 동시 실행하는 응용들의 순서를 제어하는 스케줄링 알고리즘이 중요함을 보인다.

작업 처리 단위 변화에 따른 GPU 성능과 메모리 접근 시간의 관계 분석 (Analysis of GPU Performance and Memory Efficiency according to Task Processing Units)

  • 손동오;심규연;김철홍
    • 스마트미디어저널
    • /
    • 제4권4호
    • /
    • pp.56-63
    • /
    • 2015
  • 최신 GPU는 프로세서 내부에 포함된 다수의 코어를 활용하여 높은 병렬처리가 가능하다. GPU의 높은 병렬성을 활용하는 기법 중 하나인 GPGPU 구조는 GPU에서 대부분의 CPU의 작업을 처리가 가능하게 해주며, GPU의 높은 병렬성과 하드웨어자원을 효과적으로 활용할 수 있다. 본 논문에서는 다양한 벤치마크 프로그램을 활용하여 CTA(Cooperative Thread Array) 할당 개수 변화에 따른 메모리 효율성과 성능을 분석하고자 한다. 실험결과, CTA 할당 개수 증가에 따라 다수의 벤치마크 프로그램에서 성능이 향상되었지만, 일부 벤치마크 프로그램에서는 CTA 할당 개수 증가에 따른 성능 향상이 발생하지 않았다. 이러한 이유로는 벤치마크 프로그램에서 생성된 CTA 개수가 적거나 동시에 수행할 수 있는 CTA 개수가 정해져 있기 때문으로 판단된다. 또한, 각 벤치마크 프로그램별로 메모리 채널 정체에 따른 메모리 스톨, 내부연결망 정체에 따른 메모리 스톨, 파이프라인의 메모리 단계에서 발생하는 스톨을 분석하여 성능과의 연관성을 파악하였다. 본 연구의 분석결과는 GPGPU 구조의 병렬성 및 메모리 효율성 향상을 위한 연구에 대한 정보로 활용될 것으로 기대된다.

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 메모리 사용량 및 컴퓨팅 리소스만 고려해서는 최적의 스케줄링을 할 수 없음을 보인다. 마지막으로 해당 프레임워크를 사용하여 응용들의 동시 실행에 따라 발생한 간섭을 측정한다.