본문으로 이동

삼성전자의 스케일러블 메모리 개발 키트(SMDK)가 메모리를 확장하는 방법

  • 메일
CXL(Compute Express Link)의 상호연결된 표준에서 최적화된 이종 메모리 개발을 용이하게 하는 오픈소스 소프트웨어 툴킷인 SMDK(스케일러블 메모리 개발 키트)를 삼성전자가 발표하면서 인 메모리 데이터베이스(IMDB), 가상 머신(VM), 인공지능과 머신러닝(AI/ML) 같은 데이터 집약적 애플리케이션이 엣지 클라우드를 비롯한 다양한 컴퓨팅 환경에서 훨씬 더 높은 메모리 대역폭과 용량을 활용할 수 있는 기회가 열렸다. 이번 발표는 삼성전자가 첨단 메모리 하드웨어에 대한 수요를 충족하고 강력한 소프트웨어 환경으로 그 도입을 용이하게 함으로써 고객 가치를 만들어내는 종합적 솔루션 제공업체로 진화하고 있음을 보여준다.
DB Acceleration을 설명하는 인포그래픽
DB Acceleration을 설명하는 인포그래픽

SMDK에서 특별히 중요한 점은 호환 가능한 애플리케이션 프로그래밍 인터페이스, 즉 호환 가능 API이다. 이 API는 최종 사용자가 CXL 표준에서 애플리케이션 소프트웨어에는 변경을 적용하지 않고도 메모리 가상화를 비롯한 이종 메모리 전략을 구현할 수 있도록 한다. 또한 별도의 최적화 API는 애플리케이션 소프트웨어가 특수한 시스템의 요구에 맞게 조정되게 함으로써 높은 수준의 최적화를 지원한다. 이런 노력의 결과로 고성능 컴퓨팅(HPC) 시스템 개발자는 이제 기존의 DRAM과 5월에 발표된 삼성 CXL 메모리 익스팬더 같은 CXL 기반 메모리를 결합하여 메모리 채널과 용량 제한을 눈에 띄게 증대시킬 수 있다. SMDK는 CXL 기반 메모리를 훨씬 더 쉽게 도입할 수 있게 하고 프로세스를 빠르게 할 뿐만 아니라 첨단 애플리케이션에서 생성되는 폭발적인 양의 데이터를 관리할 방법을 찾는 조직에 새로운 가능성을 열어준다. CXL: 컴퓨팅 아키텍처의 중요한 신규 옵션 우리는 데이터가 기하급수적으로 늘어나는 시대에 살고 있으며 대부분의 데이터는 기계 학습에서 생성된다. 이런 데이터들 중에서도 특히 고성능, 저지연 메모리로 이득을 볼 수 있는 데이터 집약적 작업 및 AI/ML 등에 이용되는 데이터의 양이 늘고 있다. 기존 메모리 아키텍처는 오늘날의 CPU와 가속기를 완전히 활용하기 위한 충분한 데이터 제공을 버거워하고 있다. 이는 데이터와 데이터 이동에 크게 집중하는 차세대 애플리케이션에서 중요하게 고려해야 할 사항이다. CXL 표준은 호스트 프로세서(CPU, GPU 등)가 마더보드에 있는 표준 DIMM 슬롯 너머의 DRAM에 액세스하도록 하여 미디어 속성(지속성, 지연 시간, 대역폭, 내구성 등)과 서로 다른 미디어(DDR4, DDR5, LPDDR5 및 차세대 대체 미디어)에 대한 새로운 수준의 유연성을 제공한다. 특히 CXL은 PCle 5.0 물리적 계층과 전자 인터페이스를 활용하는 CXL.io 프로토콜을 기반으로 한 인터페이스를 제공함으로써 메모리 액세스와 호스트 프로세서 간 통신, 그리고 메모리 리소스를 공유해야 하는 기기 간에 매우 낮은 지연 시간의 상호 연결 경로를 제공한다. 이를 통해 새로운 기회가 열린다. 삼성 CXL 메모리 익스팬더는 첫 번째 예시이고 미래에는 NVDIMM을 메인 메모리의 백업으로 사용하거나 호스트의 메인 메모리를 CXL 기반 메모리와 비동기식으로 공유하는 방식, NVDIMM, 컴퓨팅 스토리지, 그리고 궁극적으로 랙 수준의 CXL 기반 세분화 같은 새로운 길이 열릴 것이다.
CXL 메모리 익스팬더와 이종 메모리의 첫 번째 하드웨어 솔루션을 설명하는 인포그래픽
CXL 메모리 익스팬더와 이종 메모리의 첫 번째 하드웨어 솔루션을 설명하는 인포그래픽

CXL 기반 모듈의 삼성 메모리 익스팬더는 올해 초 출시되었으며 이종 메모리의 첫 번째 하드웨어 솔루션이다. CXL은 메모리가 더 높은 용량과 더 큰 대역폭으로 서버 베이에 확장되도록 하지만 이종 메모리 환경은 근본적인 과제를 제시한다. 다양한 메모리 유형의 성능을 다양한 인터페이스에 부착된 서로 다른 속성과 지연 시간에 맞게 조정하고 극대화해야 한다는 것이다. 여러 개의 메모리 유형을 관리하는 데서 오는 근본적인 과제와 메모리 익스팬더를 최대한 편리하고 구현하기 쉽게 만들고자 하는 욕구를 바탕으로 삼성전자는 SMDK를 개발하기 시작했고 이는 하드웨어와 소프트웨어를 모두 아우르는 종합적 메모리 솔루션을 제공하겠다는 삼성전자의 약속을 이행하기 위해 내디딘 중대한 한 걸음이다. SMDK의 작동 방식 SMDK는 아래 그림에서 볼 수 있듯이 애플리케이션과 하드웨어 사이에 있는 소프트웨어 도구 및 API의 모음이다. SMDK는 메인 메모리와 메모리 익스팬더가 우선순위와 용도, 대역폭, 보안에 적합하게 쉽게 조정되거나 애플리케이션에 맞춰 조정하지 않고 있는 그대로 사용되는 다양한 다목적 메모리 시나리오를 지원한다.
애플리케이션과 하드웨어 사이에 있는 소프트웨어 도구 및 API의 모음인 SMDK를 설명하는 인포그래픽
애플리케이션과 하드웨어 사이에 있는 소프트웨어 도구 및 API의 모음인 SMDK를 설명하는 인포그래픽

따라서 이 툴킷은 새로운 메모리를 도입해야 하는 부담을 덜어주고 사용자가 이종 메모리의 이점을 빠르게 누릴 수 있게 한다. SMDK는 이를 다음과 같은 네 가지 수준의 접근법으로 달성한다. •  서로 지연 시간이 다른 온보드 DIMM 메모리와 메모리 익스팬더(CXL) 메모리를 구분하고 각 메모리 풀이 사용되는 방식을 최적화하는 메모리 영역 계층. •  두 영역의 메모리가 애플리케이션에 하나로 보이게 하고 확장성 속에서 메모리 지형을 관리하는 메모리 풀 관리. •  커널과 애플리케이션 간의 통신을 처리하고 애플리케이션의 필요(지연 시간, 용량, 대역폭 등)에 따라 메모리를 할당하는 지능형 계층화 엔진(Intelligent Tiering Engine). •  두 개의 API: 최종 사용자가 애플리케이션에 변경 사항을 적용할 필요 없이 메모리 익스팬더에 액세스할 수 있게 하는 호환 API와 애플리케이션 최적화를 통해 더 높은 수준의 성능을 확보하는 데 사용되는 최적화 API. 호환 API를 통한 투명한 메모리 관리는 Linux 프로세스/가상 메모리 관리자(VMM) 디자인을 물려받고 확장하며 Linux 커널의 디자인과 강점을 빌리고 CXL 메모리로 호환성을 유지함으로써 달성된다. 지금까지의 진전 상황과 미래의 비전 메모리 익스팬더와 SMDK를 초기에 받아들인 파트너와 고객 풀 스택 데모 프로젝트에는 IMDB와 VM이 있는데, 두 영역에서 모두 즉각적으로 이점을 누릴 수 있다. 그 뒤를 바짝 쫓는 것은 데이터 집약적인 AI/ML 및 엣지 클라우드 애플리케이션이다. 전반적으로 메모리 익스팬더와 SMDK의 결합은 용량과 대역폭을 모두 늘려 데이터 센터 애플리케이션의 서비스 품질을 개선할 가능성이 있다. 장기적으로 본다면 이 프로젝트의 목표는 소프트웨어 개발 키트를 넘어 P2P 통신을 기반으로 한 차세대 아키텍처에서 누구나 새로운 하이브리드 메모리 시스템의 이점을 활용할 수 있는 더 광범위한 확장 가능한 메모리 개발 환경(SMDE)을 제공하는 것이다. 모든 종류의 첨단 컴퓨팅 애플리케이션이 메모리에 그 어느 때보다 더 큰 성능을 요구하는 상황에서 삼성전자는 이종 환경에서 더 효율적인 메모리 사용을 용이하게 하는 소프트웨어 개발 환경을 만드는 것으로 응답했다. SMDK는 데이터 사용이 계속해서 폭발적으로 증가하면서 삼성전자가 첨단 메모리 하드웨어에 대한 수요를 충족하고 강력한 소프트웨어 환경으로 첨단 메모리 하드웨어의 도입을 촉진함으로써 고객 가치를 만들어내는 솔루션 제공업체로 어떻게 진화하고 있는지 보여주는 한 가지 사례일 뿐이다.