CXL 메모리 솔루션: iT란 무엇인가?

컴퓨터 메모리가 부족해서 답답한 적이 있으신가요? 하지만 USB를 꽂듯이 간편하게 메모리를 추가할 수는 없는데 말이죠. USB 메모리? CXL 기술은 바로 이 문제를 해결하기 위해 탄생했습니다. 이 기술은 메모리를 위한 “외부 확장 시스템’처럼 작동하여, 서버나 워크스테이션이 전용 케이블과 확장 카드를 통해 대용량의 외부 메모리를 유연하게 추가할 수 있게 해줄 뿐만 아니라, 여러 대의 시스템이 하나의 메모리 풀을 공유할 수 있도록 합니다. CXL 기술 덕분에, 과거에는 고가의 메인프레임에서만 가능했던 1TB 규모의 시스템 메모리가 고성능 컴퓨팅 및 인공지능 분야에서 점차 보편화되고 있습니다.

CXL 기사 헤더 이미지란 무엇인가? CXL 메모리 솔루션: 정확히 무엇인가?

CXL은 왜 등장하게 되었을까?

기존 서버 메모리는 개별 보관함이 있는 대형 아파트 건물로 비유할 수 있습니다. 각 방(각 서버)에는 고유한 저장 공간이 있지만, 그 공간의 크기는 입주할 때 고정되며, 이웃의 보관함이 비어 있다 해도 그 공간을 빌릴 수는 없습니다. 인공지능, 클라우드 컴퓨팅, 빅데이터의 성장에 따라 이 모델은 세 가지 심각한 문제를 드러내기 시작했습니다.

물리적 슬롯이 다 차면 메모리를 더 추가할 수 없습니다. 각 서버 마더보드의 메모리 슬롯 수는 제한되어 있으며, 일반적으로 8개, 12개 또는 16개입니다. 시중에서 구할 수 있는 최대 용량의 메모리 모듈로 모든 슬롯을 채운다 해도 총 용량은 여전히 한계에 부딪히게 됩니다. 애플리케이션에 필요한 메모리 용량이 그 한계를 초과할 경우, 기존 시스템에 메모리를 추가하는 대신 더 비싸고 고사양의 서버를 구입하는 것만이 유일한 해결책입니다.

메모리 자원은 공유할 수 없어 막대한 낭비가 발생합니다. 대규모 데이터 센터에서는 서버마다 트래픽이 가장 많이 발생하는 시점이 서로 다른 경우가 많습니다. 하지만 기존 아키텍처에서는 이러한 유휴 메모리 자원을 필요로 하는 서버가 이를 “빌려” 사용할 수 없습니다. 업계 통계에 따르면 데이터 센터의 메모리 사용률은 대개 50% 미만인 것으로 나타나며, 이는 하드웨어 투자 비용의 거의 절반이 유휴 상태로 방치되고 있음을 의미합니다.

갑작스러운 수요에 대응하기 위해 기업들은 과도한 투자를 할 수밖에 없다. 프로젝트에 평소보다 두 배의 메모리 용량이 가끔 필요할 때, 기존의 해결책은 최대 수요를 감당할 수 있는 하드웨어를 구입하는 것이었습니다. 하지만 이렇게 지출된 비용은 대부분의 시간 동안 사용되지 않는 용량에 쓰이게 됩니다. 게다가 일단 이러한 하드웨어 모듈이 설치되면, 서로 다른 프로젝트 간에 유연하게 재배치하거나 비즈니스 성장에 따라 쉽게 확장할 수 없습니다.

이것은 세 가지 문제를 한 번에 해결하기 위한 것이었습니다 – 제한된 물리적 역량, 자원 공유의 어려움, 그리고 낮은 투자 효율성 – 엔지니어들이 CXL 기술을 개발했습니다. 이 기술은 메모리가 연산 장치에 연결되는 방식을 근본적으로 변화시켜, 메모리를 필요에 따라 연결하고 동적으로 할당할 수 있는 자원으로 탈바꿈시킵니다.

CXL이란 무엇이며 어떻게 작동하나요?

CXL은 표준 PCIe 물리 인터페이스를 기반으로 하는 개방형 통신 프로토콜입니다. 그 정식 명칭은 컴퓨트 익스프레스 링크, 이를 CPU와 외부 메모리 장치 간의 고속, 일관성 있고 지연 시간이 짧은 통신을 가능하게 하는 일련의 “언어 규칙”으로 생각할 수 있습니다. CXL의 독특한 점은 CPU가 외부 메모리를 접근하기 위해 우회 경로를 거쳐야 하는 주변 장치로 취급하는 것이 아니라, 마치 자신의 일부인 것처럼 다룰 수 있게 해준다는 것입니다.

캐시 일관성

다음과 같은 상황을 상상해 보세요. 여러분과 동료가 같은 온라인 문서를 편집하고 있다고 가정해 봅시다. 각자 로컬 사본을 저장한 뒤 수정을 가하면, 병합할 때 충돌이 발생하게 됩니다. 과연 누구의 변경 사항이 우선시될까요? 컴퓨터 메모리도 똑같은 문제에 직면해 있습니다. CPU 내부에는 메인 메모리에서 최근에 사용된 데이터의 사본을 보관하는 “캐시'라고 불리는 매우 빠르고 작은 저장 공간이 있습니다. CPU가 메모리에 접근할 때, 훨씬 더 빠른 캐시에서 먼저 데이터를 읽습니다. 하지만 로컬 DDR 메모리와 외부 CXL 메모리 모두에 동일한 데이터의 사본이 저장되어 있고, 한 사본이 수정되면 다른 사본도 그에 따라 업데이트되어야 합니다. 그렇지 않으면 CPU가 잘못된 데이터를 읽을 수 있습니다. 이 문제를 ”캐시 일관성(cache coherence)“이라고 합니다. CXL에는 이를 처리하기 위한 전용 하위 프로토콜이 포함되어 있어, 모든 사본이 일관성을 유지하도록 CPU와 외부 메모리 간에 지속적으로 ”통신“합니다.

메모리 풀링 및 유연한 할당

기존 방식에서는 각 서버가 자체 슬롯에 있는 메모리만 사용할 수 있습니다. CXL은 “풀링”이라는 개념을 도입합니다”: 여러 대의 CXL 메모리 장치를 CXL 스위치에 연결하여 하나의 대용량 메모리 풀을 구성한 다음, 여러 대의 서버가 필요에 따라 이 풀에서 메모리를 “끌어올” 수 있게 할 수 있습니다. 이는 마치 사무실 건물에서 각 사무실에 설치된 개별 정수기를 복도 한가운데에 위치한 중앙 급수대로 대체하여, 모든 사람이 필요할 때마다 물을 마시는 것과 같습니다. 이 물 공급소의 총 용량은 개별 정수기 10대의 합계보다 작을 수 있지만, 사용량이 가장 많은 시간이 서로 겹치지 않기 때문에 여전히 모든 사람의 필요를 충족시킬 수 있습니다. 마찬가지로, CXL 메모리 풀을 통해 데이터 센터 관리자는 각 서버의 실시간 부하에 따라 메모리를 동적으로 할당할 수 있습니다. 즉, 부하가 높을 때는 더 많은 메모리를 제공하고, 유휴 상태일 때는 메모리를 회수함으로써, 더 적은 양의 하드웨어로 더 많은 컴퓨팅 작업을 지원할 수 있습니다.

CXL 메모리 풀 및 스위치 CXL 메모리 솔루션: 무엇인가요?

CXL 기술에는 무엇이 포함되나요?

CXL은 물리적 하드웨어부터 소프트웨어 구성에 이르기까지 모든 요소를 아우르는 완벽한 메모리 솔루션입니다. 이 시스템을 고속도로에 비유해 볼 수 있습니다. 도로 자체(물리적 연결)는 단지 기초에 불과하며, 차량이 질서 정연하게 이동할 수 있도록 하기 위해서는 교통 규칙(통신 프로토콜)이 필요하고, 차량이 어디로 가야 하고 어떤 차선을 이용해야 할지 안내하기 위해서는 교통 관리 시스템(소프트웨어 구성)이 필요합니다. 이 계층 중 하나라도 빠지면 고속도로는 제대로 작동할 수 없습니다.

하드웨어 계층: 눈에 보이는 구성 요소

CXL 기술의 물리적 구성 요소에는 다양한 유형의 장치가 포함되며, 이들은 함께 메모리 확장을 위한 인프라를 형성합니다. 가장 일반적인 하드웨어는 CXL 메모리 확장 카드인데, 이는 그래픽 카드와 모양이 비슷하며 서버 마더보드의 기존 PCIe 슬롯에 직접 꽂을 수 있습니다. 이 카드에는 메모리 칩이 납땜되어 있거나 메모리 모듈을 장착할 수 있는 슬롯이 있습니다. 카드가 삽입되면 시스템은 추가된 메모리 용량을 인식합니다. 또 다른 하드웨어 폼 팩터로는 CXL 메모리 모듈이 있는데, 이는 소형 SSD처럼 크기가 더 작으며 전용 서버 드라이브 베이에 설치할 수 있어 고밀도 구축에 적합합니다.

CXL 하드웨어 유형 CXL 메모리 솔루션: 무엇인가요?

여러 대의 서버나 메모리 장치를 연결해야 할 때 CXL 스위치가 활용됩니다. 이는 네트워크 스위치와 유사하지만, 네트워크 패킷을 스위칭하는 대신 메모리 액세스 요청을 스위칭합니다. 관리자는 CXL 스위치를 통해 여러 CXL 메모리 카드를 연결하여 통합된 대용량 메모리 풀을 구성한 다음, 여러 서버가 해당 풀의 리소스를 동시에 공유할 수 있도록 할 수 있습니다. 장거리 연결의 경우, 전용 CXL 케이블을 사용하면 수 미터에서 수십 미터에 이르는 거리에서도 고속 전송을 유지할 수 있어, 메모리 장치를 서버와 다른 랙에 배치할 수 있습니다.

프로토콜 계층: 통신을 위한 언어 규칙

CXL 프로토콜 레이어 CXL 메모리 솔루션: 정확히 무엇인가?

하드웨어가 뼈대라면, 프로토콜은 모든 것이 원활하게 작동하도록 하는 영혼과도 같습니다. CXL 프로토콜은 각각 서로 다른 역할을 담당하는 세 가지 병렬 하위 프로토콜로 구성되어 있습니다. 이 프로토콜들은 서로 간섭 없이 동시에 작동할 수 있습니다.

  • 첫 번째 하위 프로토콜은 CXL.io, 이 모듈의 역할은 장치 탐색 및 초기화입니다. 서버에 CXL 메모리 카드를 삽입하면, CXL.io 이 기능은 CPU가 장치를 인식하고, 용량 및 지원 모드 등의 기본 정보를 읽어들이며, 해당 장치에 대한 주소 공간을 할당하도록 하는 역할을 합니다. 이 과정은 그래픽 카드나 네트워크 카드를 꽂는 것과 매우 유사합니다.
  • 두 번째 하위 프로토콜은 CXL.cache라고 합니다., 이는 CXL의 핵심 기능 중 하나입니다. CXL.cache는 CPU 캐시와 외부 메모리 간의 데이터 일관성을 유지합니다. 앞서 설명한 바와 같이, CPU가 특정 데이터를 수정하면 CXL.cache는 외부 메모리에 있는 해당 데이터 사본도 함께 업데이트되도록 보장하며, 그 반대의 경우도 마찬가지입니다.
  • 세 번째 하위 프로토콜은 CXL.mem이라고 합니다, 이는 실제 데이터 읽기 및 쓰기 작업을 처리합니다. CPU가 CXL 메모리에서 데이터를 읽어야 할 때, CXL.mem은 요청을 전송하고 데이터를 반환하며, CPU가 CXL 메모리에 데이터를 써야 할 때도 CXL.mem이 마찬가지로 전송 작업을 수행합니다.

소프트웨어 계층: 모든 것이 원활하게 작동하도록 하는 구성 및 관리

소프트웨어 구성을 통해 운영 체제와 애플리케이션이 이 새로운 메모리를 실제로 사용할 수 있게 됩니다. BIOS에서 관리자는 CXL 기능을 활성화하고 리소스를 할당해야 합니다. 운영 체제 수준에서, 리눅스를 예로 들면, CXL 메모리는 별도의 NUMA 노드로 인식되며, 관리자는 명령어를 사용하여 프로그램이 로컬 메모리를 우선적으로 사용할지 아니면 CXL 메모리를 우선적으로 사용할지 지정할 수 있습니다. 최신 운영 체제는 메모리 계층화도 지원하는데, 이는 가장 활발하게 사용되는 데이터를 빠른 로컬 DDR에 자동으로 유지하고, 사용 빈도가 낮은 데이터는 CXL 메모리로 이동시킵니다. 운영 체제가 CXL 메모리를 일반 메모리처럼 관리하기 때문에, 대다수의 애플리케이션은 CXL 메모리를 사용하기 위해 코드를 수정할 필요가 없습니다.

oscoo 2b 배너 1400x475 1 CXL 메모리 솔루션: 무엇인가요?

CXL 대 기존 메모리 솔루션

양상기존 DDR 솔루션CXL 솔루션
용량 상한선마더보드의 메모리 슬롯 수와 최대 모듈 용량에 제한을 받으며, 한도에 도달하면 더 이상 확장할 수 없습니다.메인보드를 교체하지 않고도 CXL 확장 카드나 스위치를 통해 메모리를 계속 추가할 수 있습니다
리소스의 유연성각 서버의 메모리 용량은 고정되어 있으며, 서버 간에 재할당할 수 없습니다.메모리 풀링을 지원하며, 여러 서버가 필요에 따라 공통 메모리 풀을 공유할 수 있습니다
비용 효율성최대 수요를 감당하기 위해 대용량 메모리를 구매함; 일일 사용률은 대개 50% 미만임더 적은 총 메모리 용량으로 동일한 워크로드를 처리할 수 있으며, 활용률은 80%를 초과할 수 있습니다.
확장 연산시스템을 종료하고 메모리 모듈을 직접 삽입하거나 제거해야 하며, 하드웨어 교체가 필요할 수 있습니다.핫 플러그 및 동적 할당을 지원하며, 온라인 상태에서 메모리 리소스를 추가하거나 제거할 수 있습니다.
적합한 시나리오극한의 성능 요구 사항과 안정적인 워크로드를 갖춘 소규모 배포대규모 데이터 센터, AI 훈련, 클라우드 컴퓨팅 및 탄력적인 리소스가 필요한 기타 시나리오

표에서 볼 수 있듯이, 기존의 DDR 솔루션은 여전히 극한의 성능과 간편한 배포 측면에서 장점을 가지고 있지만, 높은 비용과 경직된 리소스 관리라는 대가를 치러야 합니다. 반면 CXL 솔루션은 접근 속도를 약간 희생하는 대신 확장 가능한 용량, 공유 가능한 리소스, 그리고 더 나은 비용 효율성이라는 막대한 이점을 제공합니다. 실제 데이터 센터 운영 환경에서 이러한 절충은 종종 매우 가치 있는 선택입니다. 왜냐하면 미사용 메모리로 인한 낭비는 약간의 속도 차이보다 훨씬 더 큰 문제이기 때문입니다.

CXL의 사용 사례

CXL은 기존 메모리를 대체하기 위한 것이 아니라, 기존 메모리가 해결하기 어려운 특정 시나리오를 해결하기 위해 고안되었습니다. 아래의 세 가지 분야는 CXL이 가장 성숙한 도입 사례를 보유하고 있으며 가장 확실한 가치를 제공하는 영역입니다.

인공지능과 대규모 모델 훈련

수천억 개의 파라미터를 가진 대규모 언어 모델을 훈련하려면 모델 파라미터 전체와 훈련 데이터, 중간 계산 결과를 동시에 메모리에 불러와야 합니다. 모델 크기가 단일 서버의 메모리 용량을 초과할 경우, CXL을 사용하면 한 대의 서버에 수 테라바이트 규모의 CXL 메모리를 직접 연결하여 모든 데이터를 단일 노드 내에 보관할 수 있습니다. 이를 통해 프로그래밍 모델이 크게 간소화되고 훈련 효율이 향상됩니다. 대규모 모델을 다루는 중규모 팀에게 CXL은 고가의 메인프레임을 구매하는 것보다 더 경제적인 대안을 제공합니다.

데이터 센터 메모리 풀링

대규모 클라우드 데이터 센터에서는 서로 다른 테넌트와 애플리케이션의 피크 부하가 종종 서로 다른 시간에 발생합니다. CXL 스위치와 CXL 메모리 풀을 구축함으로써, 데이터 센터는 모든 유휴 메모리를 공유 풀로 모아 각 서버의 실시간 요구 사항에 따라 동적으로 할당할 수 있습니다. 업계 추정에 따르면 이 접근 방식을 통해 메모리 활용도를 일반적인 40~50%에서 80% 이상으로 높일 수 있으며, 이는 동일한 하드웨어 투자로 거의 두 배에 달하는 컴퓨팅 워크로드를 지원할 수 있음을 의미합니다.

클라우드 컴퓨팅과 가상 머신 밀도

클라우드 서비스 제공업체들은 수익을 높이기 위해 단일 물리적 서버에서 가능한 한 많은 가상 머신(VM)을 실행하고자 합니다. 하지만 각 VM에는 고정된 양의 메모리가 할당되어야 하며, 해당 메모리가 실제로 많이 사용되지 않더라도 다른 VM이 이를 사용할 수 없습니다. 그 결과, 서버는 CPU 리소스가 소진되기 훨씬 전에 메모리가 부족해지는 경우가 많아, 생성할 수 있는 VM의 수가 제한됩니다. CXL 메모리 풀을 사용하면 클라우드 플랫폼이 메모리를 오버서브스크립션이나 동적 조정을 위한 탄력적인 리소스로 활용할 수 있습니다. 즉, VM이 할당된 메모리보다 적은 양을 사용할 경우, 남은 메모리를 회수하여 다른 VM에 할당할 수 있습니다. 이 기술을 통해 클라우드 제공업체는 동일한 물리적 서버에서 더 많은 테넌트를 호스팅할 수 있어 운영 비용을 절감할 수 있습니다.

이 세 가지 주요 사용 사례 외에도, CXL은 고성능 컴퓨팅 분야의 대규모 시뮬레이션, 인메모리 데이터베이스(예: SAP HANA)의 용량 확장, 실시간 빅데이터 분석 엔진(예: Apache Spark)의 가속화 등에도 활용됩니다. 이러한 애플리케이션들이 공통적으로 갖는 특징은 메모리 용량에 대한 매우 높은 요구와 지연 시간에 대한 어느 정도의 허용 범위를 동시에 필요로 한다는 점인데, 이는 바로 CXL이 뛰어난 성능을 발휘하는 영역입니다.

CXL의 현황 및 향후 전망

CXL은 연구실 단계를 넘어 실제 환경에 도입되기 시작했습니다. 하드웨어 측면에서 인텔의 4세대 제온 스케일러블(Xeon Scalable) 및 AMD의 4세대 EPYC 프로세서는 CXL 1.1 또는 2.0을 기본적으로 지원합니다. 델(Dell), HPE, 인스퍼(Inspur), 슈퍼마이크로(Supermicro)와 같은 주요 서버 제조사들은 자사의 하이엔드 제품군에 CXL 메모리 옵션을 제공하고 있습니다. 삼성전자와 마이크론은 현재 128GB에서 512GB 용량의 CXL 메모리 모듈을 양산 중이며, 일부 제품은 핫 플러그 기능을 지원합니다. 소프트웨어 측면에서는 리눅스 커널이 5.18 버전부터 CXL을 기본적으로 지원해 왔으며, 주요 클라우드 운영 체제들도 CXL 메모리 풀링 기능을 점차 개선하고 있습니다.

앞으로 CXL은 두 가지 주요 방향으로 발전해 나갈 전망이다. 첫 번째는 프로토콜 업그레이드다. CXL 2.0은 메모리 풀링 및 스위치 지원을 도입했으며, 이미 시범 운영 중입니다. CXL 3.0은 대역폭을 64GB/s로 늘리고 다단계 스위칭을 추가하며, 2026년 이후 보급될 것으로 예상됩니다. PCIe 7.0을 기반으로 하는 CXL 4.0은 대역폭을 다시 약 2배로 늘릴 계획입니다. 두 번째 축은 배포 방식의 진화입니다. 단기적으로는 CXL이 로컬 DDR을 보완하는 “2차 메모리” 역할을 합니다. 중기적으로는 메모리 풀링이 대규모 데이터 센터의 표준이 되어, 메모리를 컴퓨팅 및 스토리지와 마찬가지로 동적으로 할당할 수 있게 될 것입니다. 장기적으로는 CXL과 DDR이 공존할 것으로 보입니다. 지연 시간에 민감한 핵심 워크로드에는 DDR을, 대용량 공유 확장 메모리에는 CXL을 사용할 것입니다.

CXL 기술은 오랫동안 컴퓨팅 업계를 괴롭혀 온 의문, 즉 ‘왜 메모리는 스토리지처럼 유연하게 확장하고 공유할 수 없는가?’에 대한 해답으로 등장했습니다. CXL 기술은 정교한 프로토콜 설계를 통해 기존 PCIe 인프라 위에 캐시 일관성 및 메모리 풀링과 같은 핵심 기능을 구축합니다. 하드웨어에서 소프트웨어에 이르기까지, 단일 시스템 확장에서 데이터센터 전체의 자원 공유에 이르기까지, CXL은 우리가 메모리를 바라보는 방식을 점차 변화시키고 있습니다. 물론 이 기술은 아직 초기 단계에 있으며, 프로토콜의 성숙도, 생태계의 완성도, 그리고 비용 절감을 이루기까지는 시간이 걸릴 것입니다. 하지만 확실한 것은, AI 모델이 계속 성장하고 데이터 크기가 물리적 한계를 끊임없이 뛰어넘는 가운데, 메모리를 고정된 슬롯에서 해방시키는 CXL이 고성능 컴퓨팅 분야에서 점점 더 필수적인 인프라 요소가 될 것이라는 점입니다.

맨 위로 스크롤

문의하기

아래 양식을 작성해 주시면 곧 연락드리겠습니다.

문의 양식 제품