KAIST, GPU 대규모 출력 데이터 난제 해결

기술 모식도.(KAIST 제공)/뉴스1
기술 모식도.(KAIST 제공)/뉴스1

(대전=뉴스1) 김태진 기자 = 국내 연구진이 그래픽 연산 장치(GPU)에서 큰 출력 데이터를 발생시킬 때 메모리 장애를 발생하지 않고 고속 전송 및 저장이 가능한 데이터 처리 기술을 개발했다.

한국과학기술원(KAIST)은 전산학부 김민수 교수 연구팀이 한정된 크기의 메모리를 지닌 GPU를 이용해 수백 만개 이상의 스레드들로 초병렬 연산을 하면서 수 테라바이트의 큰 출력 데이터를 발생시킬 때에도 메모리 에러를 발생시키지 않고 해당 출력 데이터를 메인 메모리로 고속으로 전송 및 저장할 수 있는 데이터 처리 기술(일명 INFINEL)을 개발했다고 7일 밝혔다.

최근 AI의 활용이 급속히 증가하면서 지식 그래프와 같이 정점과 간선으로 이뤄진 그래프 구조의 데이터의 구축과 사용도 점점 증가하고 있는데, 그래프 구조의 데이터에 대해 난이도가 높은 초병렬 연산을 수행할 경우 그 출력 결과가 매우 크고 각 스레드의 출력 크기를 예측하기 어렵다.

또 GPU는 근본적으로 중앙처리장치(CPU)와 달리 메모리 관리 기능이 매우 제한적이기 때문에 예측할 수 없는 대규모의 데이터를 유연하게 관리하기가 쉽지 않다.

이러한 이유로 지금까지는 GPU를 활용해 ‘삼각형 나열’과 같은 난이도가 높은 그래프 초병렬 연산을 수행할 수 없었다.

이에 연구팀은 INFINEL 기술을 개발했다.

이 기술은 GPU 메모리의 일부 공간을 수백 만개 이상의 청크(chunk)라 불리는 매우 작은 크기의 단위들로 나누고 관리하면서 초병렬 연산 내용이 담긴 GPU 커널(kernel) 프로그램을 실행하고 각 스레드가 메모리 충돌 없이 빠르게 자신이 필요한 청크 메모리들을 할당받아 자신의 출력데이터를 저장할 수 있도록 한다.

또 GPU 메모리가 가득 차도 무중단 방식으로 초병렬 연산과 결과 출력 및 저장을 지속할 수 있다.

이 기술을 사용하면 가정에서 사용하는 메모리 크기가 작은 GPU로도 수 테라바이트 이상의 출력데이터가 발생하는 고난도 연산을 빠르게 수행할 수 있다.

연구팀은 INFINEL 기술의 성능을 다양한 실험 환경과 데이터 셋을 통해 검증했으며, 종래의 최고 성능 동적 메모리 관리자 기술에 비해 약 55배, 커널을 2번 실행하는 2단계 기술 대비 약 32배 연산 성능 향상을 확인했다.

카이스트 전산학부 김민수 교수

김민수 교수는 “생성형 AI나 메타버스 시대에는 GPU 컴퓨팅의 대규모 출력 데이터를 빠르게 처리할 수 있는 기술이 중요해질 것으로 예상되며, INFINEL 기술이 그 일부 역할을 할 수 있을 것”이라고 말했다.

박성우 KAIST 박사과정(제1 저자) 등이 참여한 이번 연구의 성과는 국제 학술지 ‘PPoPP’에 지난 4일 게재됐다.

memory4444444@news1.kr