최신연구

[김광선 교수] Low-overhead General-purpose Near-Data Processing in CXL Memory Expanders

2024-07-25
  • 1,413

[연구의 필요성]
거대언어모델과 빅데이터 등 최신 응용이 다루는 데이터의 크기가 급속도로 꾸준히 증가함에 따라 비용 효율적으로 메모리를 확장하기 위해 Compute Express Link (CXL)을 통한 메모리 확장 기술이 새로운 연결 표준으로 떠오르고 있다. 특히 CXL.mem 프로토콜은 Load/Store 명령어를 통한 메모리 시멘틱 접근으로 PCIe 대비 낮은 지연시간으로 CXL 메모리 확장기에 대한 통신을 지원한다. 이는 메모리 용량 확장에 도움이 되지만, Local 메모리 접근과 비교해 CXL link의 낮은 대역폭 및 추가적인 지연시간은 메모리 집약적 응용의 성능을 저하시키는 문제를 유발한다. 이를 해결하기 위해 메모리와 가까운 곳에 추가적인 연산 프로세서를 추가하여 메모리 집약적 연산을 오프로드하는 데이터-근처-처리(Near-Data Proccesisng, NDP) 기술을 개발할 필요가 있다. 그러나 기존의 NDP 연구는 특정 응용도메인에 특화된 하드웨어 로직을 이용하여 범용적이지 않은 문제가 있다. 반면, CPU와 GPU코어를 활용한 기존 범용 NDP기술은 메모리 집약적 연산에 최적화되지 않아 효율이 낮다. 또한 기존의 CXL.io/PCIe 를 통해 MMIO 기반 NDP 오프로딩 방식은 높은 지연시간을 가지고 있어, 짧고 빈번하게 실행되는 연산을 오프로딩하기에 적합하지 않은 문제를 가지고 있다. 따라서, 본 연구는 CXL.mem을 통해 지연시간이 낮은 NDP 오프로딩 기술 및 메모리 집약적 응용에 최적화된 효율적인 범용 NDP 하드웨어 구조를 제안한다.

[포스텍이 가진 고유의 기술]
본 연구에서는 CXL 메모리에서 범용 NDP 연산을 효율적으로 할 수 있는 M2NDP기술을 제안하였다. M2NDP는 CXL.mem 프로토콜을 활용해 낮은 지연시간으로 호스트와 NDP 컨트롤러 간의 다양한 통신을 지원하는 Memory-mapped function(M2func) 기술 및 메모리 집약적 연산에 최적화된 효율적 범용 NDP 유닛 아키텍처인 Memory-mapped µthreading(M2µthr)으로 구성되어 있다. M2func는 CXL 컨트롤러에 패킷 필터를 도입하여 미리 지정된 특정 메모리 주소 영역에 대한 접근이 발생했을 때, 주소에 대응되는 미리 지정된 기능을 실행시키는 방식으로, NDP 커널 관리 및 오프로드를 포함한 다양한 통신을 낮은 지연시간으로 지원한다. 이렇게 NDP 커널이 오프로드 된 이후에는 M2µthr아키텍처로 설계된 효율적 범용 NDP 유닛을 통해 커널 연산을 수행한다. 이 아키텍처는 CPU와 GPU 아키텍처의 하이브리드 방식으로 볼 수 있는데, 낮은 하드웨어 비용으로 응용의 메모리 수준 병렬성 활용을 극대화하기 위해 수많은 µthread를 동시에 실행하여 하드웨어 사용률을 높인다. 이로써 메모리 용량을 CXL 기술을 통해 크게 확장하면서 NDP 기술을 통해 데이터 처리를 가속하여 대용량 데이터를 다루는 응용 실행 성능을 크게 향상시킬 수 있다.

[연구의 의미]
최근 거대언어모델 등 생성형 AI 기술이 빠르게 발전하면서 언어 모델 자체가 커질 뿐만 아니라 긴 문맥을 지원하면서 대용량 메모리와 높은 대역폭의 중요성이 매우 커졌다. 한편 GPU는 메모리 용량이 매우 작은 것이 치명적인 단점인데, 이에 대한 효과적인 대안이 없어 현재 생성형AI 서비스의 비용을 낮추기 어려운 상황이다. 또한 검색증강생성(RAG) 기술도 CPU 와 GPU에서 효율적으로 지원하기 어렵다는 한계가 있다. 본 연구에서 개발한 기술은 이와 같은 응용을 포함하여, 대용량 데이터를 다루는 다양한 응용을 위해 메모리 확장과 가속을 동시에 실현할 수 있다. 이로써 미래 AI 및 빅데이터 기술의 발전과 확산에 기여할 수 있다.

[연구결과의 진행 상태 및 향후 계획]
본 연구는 2024년 11월에 컴퓨터 아키텍처 분야 최우수 국제학술대회인 IEEE/ACM  International Symposium on Microarchitecture (MICRO)에서 발표될 예정이다.  본 연구에서 개발된 기술을 바탕으로 데이터센터를 위한 확장성 높은 시스템 구조와 자원 관리 기법을 개발하여 거대언어 모델 서빙을 효율적으로 실현하기 위한 후속 연구를 진행하고 있다.

[성과와 관련된 실적]
– Hyungkyu Ham*, Jeongmin Hong*, Geonwoo Park, Yunseon Shin, Okkyun Woo, Wonhyuk Yang, Jinhoon Bae, Eunhyeok Park, Hyojin Sung, Euicheol Lim, Gwangsun Kim. “Low-overhead General-purpose Near-Data Processing in CXL Memory Expanders”, To appear in the 57th IEEE/ACM International Symposium on Microarchitecture (MICRO), 2024.

– Hyungkyu Ham, Hyunuk Cho, Minjae Kim, Jueon Park, Jeongmin Hong, Hyojin Sung, Eunhyeok Park, Euicheol Lim, Gwangsun Kim. “Near-Data Processing in Memory Expander for DNN Acceleration on GPUs” IEEE Computer Architecture Letters 20.2 (2021): 171-174

– Hyungkyu Ham, Hyunuk Cho, Hyojin Sung, Eunhyeok Park, Gwangsun Kim. Memory expansion device performing near data processing function and accelerator system including the same. 국내 특허 출원(10-2022-0071298), 미국 특허 출원(18/066,158)

– Hyungkyu Ham, Hyunuk Cho, Hyojin Sung, Eunhyeok Park, Gwangsun Kim. Host device performing near data processing function and accelerator system including the same. 국내 특허 출원(10-2022-0137080), 미국 특허 출원(18/066,161)

– Gwangsun Kim, Hyungkyu Ham, Jeongmin Hong. Controller for memory expansion, memory expander, and data processing method therefor. 국내 특허 출원(10-2024-0028438), PCT 출원 진행중

[성과와 관련된 이미지]

목록