• 검색 결과가 없습니다.

CPU와 GPU 간의 병목현상 해결에 관한 연구 이진호

N/A
N/A
Protected

Academic year: 2021

Share "CPU와 GPU 간의 병목현상 해결에 관한 연구 이진호"

Copied!
2
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

한국컴퓨터정보학회 하계학술대회 논문집 제28권 제2호 (2020. 7)

3

● 요 약

본 논문에서는 컴퓨팅 시스템에서 발생 할 수 있는, CPU와 GPU 간의 병목현상을 개선방안으로 통신 방 식에 대해 비교 분석하였다. CPU와 GPU 간에 발생할 수 있는 병목현상의 해결방법으로, 두 구성 요소 간 의 성능 구성 외의 통신방식을 개선 방법으로 PCIe와 NVLink를 비교하고, 성능 극대화 방안을 모색한다.

NVLink 연결 방식의 통신 방식을 변경하였을 때 성능을 비교해 봄으로써 병목현상 해소 및 성능 향상에 우수한 결과를 낼 수 있다.

키워드: 병목현상(Bottleneck), 통신방식(Communication method), GPU(Graphics Processing Unit)

CPU와 GPU 간의 병목현상 해결에 관한 연구

이진호O, 조한진*

O다원컴퓨팅(주),

*극동대학교 에너지IT공학과

e-mail: [email protected]O, [email protected]*

A Study of solving the bottleneck between CPU and GPU

Jin-Ho LeeO, Han-Jin Cho*

ODAWON COMPUTING, INC,

*Dept. of Energy IT Engineering, Far East University

I. Introduction

병목현상은 두 구성 요소의 성능 차이로 인해, 한 구성 요소가 다른 구성 요소의 잠재 성능을 제한하는 것을 말한다. 직렬 처리방식으 로 정보를 받아들일 때, 순차적으로 입력을 받아 해석하고 계산하여, 최종적으로 출력해내는 CPU와 병렬처리방식으로 입력된 정보를 동시다발적으로 처리하는 GPU 간에 발생할 수 있는 병목현상으로 성능 차이와 통신 방식에 의한 현상이 있다.

II. Preliminaries

1.1 병목현상 개선 방안

병목현상은 CPU와 GPU 간에서만 발생하는 것은 아니지만, 두 구성 요소간의 상호 작용과 원리를 보면 CPU와 GPU는 서로 밀접하게 연관되어 있다. CPU가 전송하는 명령어는 GPU에 의해 실행되어 화면에 이미지가 나타나게 된다. 만약 GPU가 CPU보다 처리 속도가 빠르면, 다음 명령이 오기 전까지 GPU는 유휴 상태가 된다. 반대로 CPU가 GPU의 처리 속도보다 빠르게 명령어를 전송할 경우, CPU의 최대 계산 능력이 상대적으로 느린 GPU 속도에 의해 제한이 된다.

따라서 성능 차이가 큰 CPU와 GPU를 사용해 성능을 제한하는 일이 없어야 하며, 서로 극대화된 성능을 발휘할 수 있도록 구성해야 한다. 성능 구성뿐만 아니라 통신 방식을 개선하여 병목현상을 일부

해결 할 수 있다.

1.2 PCI-Express PCIe와 NVLink 기술의 차이점

두 프로토콜은 모두 고속 시리얼 링크(Serial-Link)를 기반으로 하지만, 서로 다른 두 프로토콜이다.

NVLink는 GPU 간의 직접 상호 통신 링크로 개발되었다. 이를 통해 GPU는 최소한의 하드웨어 인터페이스로 고도의 병렬 작업을 할 수 있다.

PCIe는 마더보드에 탑재된 주변장치용 링크로서 개선된 범용 버스 의 일종이다. 두 경우 모두 링크가 많을수록 더 많은 데이터를 전송할 수 있다.

NVLink는 PCIe4보다 약 70% 더 많은 데이터를 전송 할 수 있지만, PCI4는 NVLink보다 훨씬 더 유연하다. NVLink는 그래픽 카드들이 서로 통신하고 서버 성능을 높이기 위해 개발된 브릿지이다.

즉, 성능 우선을 기대한다면 NVLink가 적절하다.

1.3 속도와 확장성이 향상된 상호연결의 필요성

AI 및 고성능 컴퓨팅(HPC)에서의 컴퓨팅 수요가 증가함에 따라, GPU 시스템이 함께 하나의 거대한 가속기 역할을 할 수 있도록,

(2)

한국컴퓨터정보학회 하계학술대회 논문집 제28권 제2호 (2020. 7)

4 GPU 간의 원활한 연결이 가능한 멀티 GPU 시스템에 대한 필요성이 대두되고 있다.

하지만 표준인 PCIe의 제한된 대역폭으로 인해 병목현상이 발생하 는 경우가 많다. 가장 강력한 엔드 투 엔드 컴퓨팅 플랫폼을 구축하려면, 속도와 확장성이 향상된 상호연결이 필요하다.

Fig. 1. NVidia DGX-1V

Fig. 1을 보면 CPU와 GPU 간을 PCIe 스위치로 연결할 경우 32GB/sec의 속도이고, 4개의 GPU끼리 NVLink * 1 Link로 연결시 50GB/sec, 또는 2 Link로 2개씩 연결시 100GB/sec의 속도가 가능하다.

Fig. 2. IBM AC922

Fig. 2를 보면 CPU와 GPU 간을 NVLink * 2 Link로 연결하면 150GB/sec, 2개의 GPU끼리 NVLink * 2 Link로 연결하여 150GB/sec의 속도가 가능하다.

즉, NVLink 는 PCIe 타입 대비 4.6배의 대용량 대역폭을 통해 피어투피어 통신을 최적화 할 수 있다.

III. The Proposed Scheme

가장 중요한 것은 기술적인 차이도 있지만, 통신 방식에 따라 CPU와 GPU가 직접 통신하느냐 중간에 PCIe 스위치를 거쳐 통신하느 냐에 따라 매우 다른 결과를 낸다.

NVLink 통신이 가능한 CPU의 경우 중간에 PCIe 스위치를 거치지 않고, 직접 통신하기에 양방향 300GB/s, 단방향 150GB/s가 가능하다.

하지만 중간에 PCIe 스위치로 구성된 서버의 경우, GPU 간의 통신방식은 NVLink로 통신하지만, CPU와 GPU의 통신 방식은 PCIe 스위치를 통한 통신을 하기에 32GB/s의 속도로 통신한다.

NVLink 통신 방식을 선택하면 보다 나은 성능 구현이 가능하다.

IV. Conclusions

현재 CPU와 GPU 간의 NVLink 통신 방식을 지원 하는 서버 제조사는 극히 일부이다. 시스템의 활용 방향에 따라 구성이 달라지긴 하지만, AI 빅데이터를 처리하기 위한 머신러닝과 딥러닝 등의 대량의 병렬연산이 필요한 환경에서는 NVLink 활용이 중요한 것으로 보인다.

NVLink 통신이 가능한 CPU를 선정하여 GPU 간의 처리 속도를 향상시키는 것이 무엇보다 중요하고, 지속적으로 기술 개발이 이루어 져야 하는 분야이다.

이 통신 방법이 X86 시스템에도 도입이 된다면, 다양한 GPU 사용 분야에서 보다 나은 성능 향상이 될 것으로 판단된다.

REFERENCES

[1] https://www.intel.co.kr/

[2] https://www.nvidia.com/

[3] https://images.nvidia.com/content/volta-architecture/pdf/v olta-architecture-whitepaper.pdf

[4] IBM Power Advanced Compute(AC) AC922 Server

수치

Fig.  1을  보면  CPU와  GPU  간을  PCIe  스위치로  연결할  경우  32GB/sec의 속도이고,  4개의 GPU끼리 NVLink  *  1  Link로 연결시  50GB/sec,  또는 2 Link로 2개씩 연결시 100GB/sec의 속도가 가능하다.

참조

관련 문서

분임조 목표를 달성하기 위해 개선해야 할 과제를 선정하고, 계획에 의해 해결해 나간다..

저장・보관시설의 안전을 확보하기 위하여 필요한 곳에는 유해화학물질을 취급하는 시설 또는 일반인의 출입을 제한하는 시설이라는 것을 명확하게 알아볼 수

셋째, 동일 패널을 대상으로 연속적 조사·분석이 이루어질 수 있도록 설계하였 다. 시계열로 농산어촌 마을 변화 상황에 대한 유의미한 고찰을 할 수 있도록 연속

MXNet은 대부분의 하드웨어를 지원하고 GPU 수 중가에 따라 학습 성능이 비례하게 증가하므로 분산 환경에 최적화 되어 있습니다.. 즉, 매우 규모가 큰 프로젝트도

정도 관리 항목 정도 관리 목표 정밀도 냄새의 차이가 없어야 한다.. 2인 이상이 냄새를

김인애(2002)의 ‘ 상업계 여고생의 진로 의식와 효율적인 진로지도에 관한 연구’ 에 서는 실업계고등학교 학생들이 건전한 직업관을 가지고 직업을 선택할 수

이에 따라 열기관을 다루는 기계공의 역할이 중요했고, 이들은 우수한 성능을 가진 열기관을 만들기 위해 노력하게 되었다..

학습 속도를 유지하고 분류 성능을 높일 수 있는 방법은 기존 사용하고 있던 활성화 함 수를 바꿔주는 것이 좋다고 생각하여 컨벌루션 신경회로망에서 사용하여 유명하게