25대의 컴퓨터가 2000초에 걸쳐 풀어낼 수 있는 연산을 단 '1대'의 GPU 컴퓨터로 절반 수준의 시간 안에 처리할 수 있게 하는 연산 프레임워크가 국내에서 개발됐다. 특히 이 연산 프레임워크는 엔비디아(NVIDIA)에 의존 없이 메모리를 관리할 수 있는 기술도 갖췄다.
KAIST는 전산학부 김민수 교수 연구팀이 한정된 용량의 메모리가 탑재된 GPU로 1조 간선 규모의 그래프 연산을 고속으로 처리할 수 있는 일반 연산 프레임워크(일명 '지플럭스(GFlux)')를 개발했다고 27일 밝혔다.
지플럭스는 그래프 연산을 GPU에 최적화된 단위 작업인 '지테스크(GTask)'로 나누고, 이를 GPU에 효율적으로 배분·처리하는 특수한 스케줄링 기법을 핵심 기술로 개발됐다.
그래프를 GPU 처리에 최적화된 자체 개발 압축 포맷인 HGF로 변환해 SSD와 같은 저장장치에 저장 및 관리하는 방식이다.
실제 연구팀은 기존 표준 포맷인 CSR로 그래프를 저장할 때 9테라바이트(TB)에 이르던 1조 간선 규모의 그래프 크기를 HGF 포맷을 통해 절반 수준(4.6TB 가량)으로 줄일 수 있었다.
또 GPU에서는 메모리 정렬 문제로 그간 사용되지 않았던 3바이트(B)의 주소 체계를 최초로 활용해 GPU 메모리 사용량을 25%가량 절감했다.
연구팀은 삼각형 개수 세기 등 고난도 그래프 연산으로 지플럭스 기술의 성능도 검증했다. 삼각형 개수 세기는 그래프에서 서로 연결된 세 개의 정점을 이루는 삼각형 형태의 관계를 모두 찾아 개수를 세는 연산으로 데이터 분석 및 인공지능에서 널리 활용된다.
검증은 700억 간선 규모의 그래프를 대상으로 진행됐다. 이 결과 지플럭스는 GPU가 장착된 단일 컴퓨터만으로 1184초 만에 삼각형 개수 세기 연산을 처리하는 데 성공했다.
이는 단일 컴퓨터로 삼각형 개수 세기 연산을 성공적으로 처리한 사례 중 최대 규모의 그래프다. 기존 최고 성능 기술은 고속 네트워크로 연결된 컴퓨터 25대가 2000초 동안 삼각형 개수 세기 연산을 처리한 것으로 알려졌다.
연구팀은 지플럭스의 또 다른 강점으로 엔비디아의 쿠다(CUDA) 통합 메모리(Unified Memory)에 전혀 의존하지 않는 점을 꼽는다. 쿠다는 엔비디아의 GPGPU를 활용할 수 있게 하는 소프트웨어 스택으로, CUDA 코어가 장착된 NVIDIA GPU에서만 작동한다.
연구팀은 메모리 부족에 따른 연산 실패를 방지할 수 있도록 메인 메모리와 GPU 메모리를 통합적으로 관리하는 GTask 전용 메모리 관리 기술이 지플럭스 프레임워크에 핵심 기술로 포함됐다는 점도 강조했다.
김민수 교수는 "최근 인공지능(AI) 분야에서는 지식 체계나 데이터베이스를 그래프로 저장해 활용하는 사례가 급증하고 있다"며 "하지만 일반적으로 그래프 연산은 GPU 메모리의 제한 때문에 비교적 단순한 연산만 처리할 수 있는 한계를 보였다. 지플럭스 기술은 이러한 문제를 효과적으로 해결하는 데 기여할 것으로 기대된다"고 말했다.
지금 뜨는 뉴스
한편 이번 연구는 과기정통부 IITP SW스타랩과 한국연구재단 중견 과제의 지원을 받아 수행됐다.
대전=정일웅 기자 jiw3061@asiae.co.kr
<ⓒ투자가를 위한 경제콘텐츠 플랫폼, 아시아경제(www.asiae.co.kr) 무단전재 배포금지>