AI 서버 이야기를 보면 GPU와 HBM이 가장 먼저 등장합니다.
그런데 AI 모델이 계속 커지면서 또 하나 중요해지는 문제가 있습니다. 바로 메모리입니다.
GPU 성능이 아무리 좋아도 처리해야 할 모델과 데이터가 메모리에 충분히 올라가지 않으면 원하는 성능을 내기 어렵습니다.
서버에 메모리를 계속 추가하면 해결될 것 같지만 실제로는 그렇게 단순하지 않습니다.
어떤 서버는 메모리가 부족한데 다른 서버는 메모리가 남을 수도 있습니다. 그렇다고 서버마다 항상 최대 용량의 메모리를 설치하면 사용하지 않는 메모리에까지 비용을 지불해야 합니다.
이 문제를 해결하기 위해 주목받는 기술 가운데 하나가 CXL입니다.
CXL은 Compute Express Link의 약자로, CPU와 메모리, AI 가속기 같은 여러 장치를 빠르게 연결하기 위한 고속 인터커넥트 기술입니다.
쉽게 말하면 서버 안에서 각각 따로 사용하던 메모리와 가속기를 더 유연하게 연결해서 필요한 곳에서 사용할 수 있도록 만드는 기술이라고 보면 이해하기 쉽습니다.
1. AI 서버에서 메모리가 중요해진 이유
AI 모델은 계속 커지고 있습니다.
모델이 커질수록 Parameter(매개변수)가 많아지고, 처리해야 할 데이터도 늘어납니다.
특히 AI Inference(추론)를 할 때는 모델의 Weight(가중치)를 메모리에서 계속 읽어와야 합니다.
메모리가 부족하면 데이터를 저장장치에서 다시 가져오거나 여러 장비에 나눠 처리해야 할 수 있습니다.
이 과정이 많아지면 성능이 떨어질 수 있습니다.
그래서 AI 서버에서는 GPU 성능뿐 아니라 얼마나 많은 메모리를 확보할 수 있는지도 중요합니다.
2. 기존 서버 메모리 구조의 한계
일반적인 서버에서는 CPU 가까이에 DDR 메모리가 설치됩니다.
해당 서버에 설치된 메모리는 기본적으로 그 서버가 사용합니다.
예를 들어 서버 A에는 1TB의 메모리가 있고 서버 B에도 1TB가 있다고 해보겠습니다.
서버 A는 업무가 많아서 메모리가 부족한데 서버 B는 절반도 사용하지 않는 상황이 생길 수 있습니다.
그렇다고 서버 B의 남는 메모리를 단순히 서버 A에 옮겨 사용할 수는 없습니다.
결국 서버 A에 메모리를 추가로 설치해야 합니다.
이런 방식이 데이터센터 전체로 확대되면 사용되지 않는 메모리가 상당히 많아질 수 있습니다.
3. CXL은 메모리를 더 유연하게 연결한다
CXL의 중요한 특징 가운데 하나는 Memory Expansion(메모리 확장)입니다.
서버에 기본적으로 장착된 메모리 외에 CXL을 통해 추가 메모리를 연결할 수 있습니다.
쉽게 보면 서버의 메모리 공간을 외부 장치를 통해 확장하는 방식입니다.
CPU 입장에서는 비교적 빠른 연결을 통해 추가 메모리를 사용할 수 있습니다.
AI나 데이터 분석처럼 많은 메모리를 필요로 하는 업무에서는 이런 구조가 도움이 될 수 있습니다.
4. PCIe와 CXL은 완전히 다른 기술일까
CXL을 이해할 때 PCIe도 함께 알아두면 좋습니다.
PCIe(Peripheral Component Interconnect Express, 고속 주변장치 연결 규격)는 서버와 PC에서 GPU, SSD, 네트워크 카드 등을 연결할 때 사용하는 대표적인 인터페이스입니다.
CXL은 PCIe의 물리적인 연결 기반을 활용하면서 그 위에 메모리와 캐시 일관성을 위한 기능을 추가하는 방식입니다.
즉 기존 PCIe 생태계를 완전히 버리고 새 연결방식을 처음부터 만드는 구조는 아닙니다.
CXL Consortium(컴퓨트 익스프레스 링크 컨소시엄)은 CXL을 CPU와 가속기, 메모리 버퍼, 스마트 I/O 장치 사이에서 고대역폭·저지연 연결과 메모리 의미론을 제공하는 개방형 표준으로 설명하고 있습니다.
5. CXL.cache와 CXL.mem은 무엇인가
CXL 관련 자료를 보면 CXL.cache와 CXL.mem이라는 표현이 나옵니다.
이름이 조금 어렵지만 역할을 구분해 보면 이해하기 쉽습니다.
CXL.cache는 장치와 CPU가 캐시 데이터를 일관되게 사용할 수 있도록 하는 기능과 관련이 있습니다.
CXL.mem은 CPU가 CXL 장치에 연결된 메모리에 접근할 수 있도록 하는 기능입니다.
AI 서버에서 메모리 확장이나 공유 이야기를 할 때 CXL.mem이 중요한 이유가 여기에 있습니다.
CPU와 외부 메모리 장치를 단순한 저장장치처럼 연결하는 것이 아니라 시스템 메모리와 더 밀접하게 사용할 수 있도록 하는 것입니다.
6. Memory Pooling이 중요한 이유
CXL에서 특히 주목받는 개념이 Memory Pooling(메모리 풀링)입니다.
메모리 풀링은 여러 서버가 사용할 수 있는 메모리를 하나의 자원처럼 구성하는 방식입니다.
예를 들어 서버마다 1TB씩 무조건 설치하는 대신 별도의 메모리 풀을 만들어 필요한 서버에 필요한 만큼 할당하는 구조를 생각할 수 있습니다.
서버 A의 업무량이 늘어나면 더 많은 메모리를 배정하고, 업무량이 줄어들면 다시 회수할 수 있습니다.
CXL 2.0에서는 스위칭과 메모리 풀링 지원이 추가됐고, 이를 통해 메모리 사용률을 높이고 필요한 시점에 용량을 배정하는 구조가 가능해졌습니다.
7. 남는 메모리를 줄일 수 있다
데이터센터를 운영할 때는 항상 최대 사용량을 예상해 서버를 구성해야 하는 경우가 많습니다.
평소에는 256GB만 사용하는 서버라도 특정 업무가 시작되면 512GB가 필요할 수 있습니다.
이런 상황에 대비하려고 처음부터 512GB를 설치하면 평소에는 절반이 놀게 됩니다.
이를 Stranded Memory(사용되지 못하고 남는 메모리)라고 표현하기도 합니다.
CXL 기반 메모리 풀링을 사용하면 이런 남는 메모리를 줄일 가능성이 있습니다.
필요할 때 필요한 서버에 메모리를 배정하는 구조가 가능하기 때문입니다.
CXL Consortium도 메모리 풀링의 목적 가운데 하나로 서버마다 과도하게 메모리를 설치하지 않고 전체 메모리 활용률을 높이는 점을 설명하고 있습니다.
8. CXL Switch가 필요한 이유
여러 서버와 여러 메모리 장치를 연결하려면 중간에서 연결을 관리하는 장치가 필요합니다.
이때 CXL Switch(CXL 스위치)가 사용될 수 있습니다.
쉽게 보면 네트워크 스위치와 비슷한 역할이라고 생각할 수 있습니다.
여러 서버와 CXL 메모리 장치를 연결하고 어떤 서버가 어떤 장치를 사용할지 관리하는 것입니다.
단순히 하나의 CPU와 하나의 메모리 장치를 연결하는 것보다 훨씬 유연한 구조를 만들 수 있습니다.
9. 메모리를 필요한 서버에 나눠줄 수 있다
예를 들어 4개의 서버가 하나의 CXL 메모리 풀에 연결되어 있다고 해보겠습니다.
서버 A가 AI 분석 업무를 시작하면서 메모리가 부족해졌습니다.
반면 서버 B와 C는 현재 사용량이 많지 않습니다.
CXL 기반 구조에서는 전체 메모리 자원을 상황에 따라 더 유연하게 배분할 수 있습니다.
이런 방식이 제대로 구현되면 서버마다 사용하지 않는 메모리를 과도하게 설치할 필요가 줄어듭니다.
대규모 데이터센터에서는 작은 차이도 서버 수천 대에 적용되면 상당한 비용 차이가 날 수 있습니다.
10. AI 서버에서 특히 관심을 받는 이유
AI 서버는 일반 서버보다 메모리 요구량이 큰 경우가 많습니다.
모델 크기가 계속 증가하고 하나의 서버에서 여러 AI 작업을 실행할 수도 있기 때문입니다.
특히 Large Language Model(대규모 언어 모델)을 운영할 때 메모리 용량이 부족하면 처리할 수 있는 모델 크기나 동시에 처리할 수 있는 작업량에 제한이 생깁니다.
CXL은 이런 환경에서 HBM을 직접 대체한다기보다 서버가 사용할 수 있는 전체 메모리 계층을 확장하는 기술에 가깝습니다.
이 차이는 중요합니다.
11. CXL 메모리와 HBM은 역할이 다르다
CXL이 등장하면 HBM을 대체할 수 있는 것처럼 생각할 수 있지만 두 메모리는 목적이 다릅니다.
HBM(High Bandwidth Memory, 고대역폭 메모리)은 GPU 바로 옆에서 엄청난 양의 데이터를 빠르게 전달하는 것이 중요합니다.
그래서 GPU와 HBM은 매우 짧은 거리에서 넓은 대역폭으로 연결됩니다.
CXL 메모리는 HBM보다 GPU에서 멀리 위치할 수 있고 지연시간도 다릅니다.
대신 서버 전체의 메모리 용량을 늘리거나 여러 서버 사이에서 메모리를 효율적으로 사용하는 데 장점이 있습니다.
즉 HBM이 가장 빠른 작업공간이라면 CXL 메모리는 그보다 넓은 추가 작업공간을 제공하는 쪽에 가깝습니다.
12. DDR 메모리와도 경쟁만 하는 기술은 아니다
CXL 역시 DDR 메모리를 완전히 없애기 위한 기술이라고 보기는 어렵습니다.
CPU 바로 옆에 설치된 DDR 메모리는 빠르고 안정적인 기본 메모리 역할을 계속 담당할 수 있습니다.
CXL은 기본 메모리가 부족할 때 추가 용량을 제공하거나 데이터센터 전체에서 메모리를 효율적으로 배분하는 역할을 할 수 있습니다.
결국 AI 서버는 HBM, DDR, CXL 메모리가 각각 다른 역할을 맡는 계층형 구조로 발전할 가능성이 있습니다.
13. 메모리 계층이라는 개념이 중요해진다
AI 서버에는 한 종류의 메모리만 있는 것이 아닙니다.
GPU 가까이에는 HBM이 있습니다.
CPU에는 DDR 메모리가 연결됩니다.
그보다 용량이 크지만 속도가 느린 SSD도 있습니다.
여기에 CXL 메모리가 추가될 수 있습니다.
각각 속도와 용량, 비용이 다릅니다.
가장 빠른 메모리는 비싸고 용량을 크게 만들기 어렵습니다.
반대로 저장장치는 저렴하고 용량은 크지만 속도가 느립니다.
그래서 어떤 데이터를 어느 메모리에 둘 것인지가 중요해집니다.
14. CXL은 단순히 메모리를 더 꽂는 기술이 아니다
처음 CXL을 보면 서버의 메모리 슬롯을 늘리는 기술 정도로 생각하기 쉽습니다.
하지만 실제 의미는 더 큽니다.
여러 서버가 메모리 자원을 공유하고 필요에 따라 할당받는 구조로 발전할 수 있기 때문입니다.
지금까지는 서버 한 대의 하드웨어 자원이 비교적 고정되어 있었다면 CXL은 메모리를 보다 유연한 자원으로 바꾸는 방향을 제시합니다.
이 점 때문에 클라우드 데이터센터에서도 관심을 갖는 것입니다.
15. CXL 2.0에서 메모리 풀링이 본격적으로 등장했다
CXL은 버전이 올라가면서 기능이 계속 확대되었습니다.
CXL 2.0에서는 Switching(스위칭)과 Memory Pooling(메모리 풀링), Persistent Memory(영구 메모리) 지원 등이 추가됐습니다.
여러 CXL 장치를 하나의 스위치에 연결할 수 있고, 서버에서 필요한 메모리를 보다 유연하게 사용할 수 있는 기반이 만들어진 것입니다.
단순히 CPU와 장치 하나를 연결하던 단계에서 여러 장치를 관리하는 구조로 확장된 셈입니다.
16. CXL 3.0에서는 Fabric 개념이 더 커졌다
CXL 3.0에서는 CXL Fabric(CXL 패브릭) 기능이 더 확대됐습니다.
Fabric은 여러 CPU와 장치, 메모리를 하나의 연결망처럼 구성하는 개념입니다.
CXL 3.0에서는 메모리 공유와 풀링 기능이 강화되고 여러 단계의 스위치 연결과 장치 사이의 Peer-to-Peer(장치 간 직접 통신) 같은 기능도 확장됐습니다. 공식 사양에서는 64GT/s 전송률과 함께 확장된 패브릭 기능과 메모리 공유 기능을 설명합니다.
이 단계가 되면 단순히 서버 한 대의 메모리를 늘리는 수준을 넘어 여러 서버와 메모리 자원을 하나의 시스템처럼 연결하는 방향으로 발전합니다.
17. Fabric Manager는 어떤 역할을 할까
여러 서버와 메모리가 하나의 CXL Fabric에 연결되면 누군가는 전체 자원을 관리해야 합니다.
이때 등장하는 것이 Fabric Manager(패브릭 관리자)입니다.
어떤 메모리를 어느 서버에 배정할지 관리하고 장치 상태를 확인하는 역할을 합니다.
쉽게 말하면 공유 창고의 물건을 어떤 부서에 얼마나 나눠줄지 관리하는 시스템과 비슷합니다.
CXL 환경이 커질수록 이런 관리 기능도 중요해집니다.
18. 메모리를 공유한다고 항상 더 빠른 것은 아니다
CXL이 메모리 문제를 해결해준다고 해서 모든 데이터를 CXL 메모리에 넣으면 되는 것은 아닙니다.
CPU 바로 옆에 있는 DDR이나 GPU 옆의 HBM보다 접근 지연시간이 커질 수 있습니다.
그래서 자주 사용하고 빠른 응답이 필요한 데이터는 가까운 메모리에 두고, 상대적으로 덜 민감한 데이터는 CXL 메모리로 보내는 방식이 필요할 수 있습니다.
어떤 데이터를 어느 메모리에 배치할지가 중요합니다.
이런 작업을 Memory Tiering(메모리 계층화)이라고 부르기도 합니다.
19. 소프트웨어도 함께 발전해야 한다
CXL 하드웨어를 설치했다고 모든 프로그램이 자동으로 메모리를 효율적으로 사용하는 것은 아닙니다.
운영체제와 소프트웨어가 CXL 메모리를 인식하고 어떤 데이터를 어디에 둘 것인지 판단해야 합니다.
AI 프로그램에서도 자주 사용하는 데이터와 덜 사용하는 데이터를 구분해야 할 수 있습니다.
결국 CXL은 반도체와 서버 하드웨어만의 기술이 아니라 운영체제와 소프트웨어까지 함께 발전해야 효과를 제대로 볼 수 있는 기술입니다.
20. 서버 비용을 줄일 가능성이 있는 이유
서버마다 최대 메모리를 설치하면 초기 구축비용이 높아집니다.
실제로는 항상 모든 메모리를 사용하는 것도 아닙니다.
CXL Memory Pooling(메모리 풀링)을 이용해 여러 서버가 필요한 만큼 메모리를 나눠 쓸 수 있다면 전체 메모리 사용률을 높일 수 있습니다.
예를 들어 기존에는 서버 10대마다 각각 1TB를 넣었다면 실제 사용량에 맞춰 공유 메모리 자원을 구성하는 방법을 생각할 수 있습니다.
물론 실제 시스템에서는 성능과 장애 대응까지 함께 고려해야 하지만 자원 활용률을 높일 수 있다는 점은 CXL의 큰 장점입니다.
21. 데이터센터 전력과도 연결된다
메모리는 데이터를 저장하는 장치이지만 전력도 소비합니다.
사용하지 않는 메모리를 서버마다 과도하게 설치하면 전력과 비용이 낭비될 수 있습니다.
메모리를 필요한 곳에 필요한 만큼 배분할 수 있다면 전체 시스템 효율을 높이는 데 도움이 될 수 있습니다.
AI 데이터센터에서는 GPU뿐 아니라 메모리와 냉각장치까지 많은 전력을 사용하기 때문에 이런 효율 개선도 중요합니다.
22. CXL이 SSD를 대체하는 것은 아니다
CXL 메모리 용량이 커지면 SSD가 필요 없어질 것처럼 생각할 수도 있습니다.
하지만 역할이 다릅니다.
메모리는 빠르지만 전원이 꺼졌을 때 데이터를 유지하는 방식과 비용에서 저장장치와 차이가 있습니다.
SSD는 장기간 데이터를 저장하는 역할을 합니다.
CXL은 저장장치를 대체하는 기술보다는 CPU와 메모리, 가속기 사이의 데이터 접근 구조를 더 유연하게 만드는 기술로 보는 것이 맞습니다.
23. 모든 서버에 바로 적용되지는 않는다
새로운 인터페이스 기술이 등장했다고 기존 데이터센터가 한 번에 모두 바뀌는 것은 아닙니다.
CXL을 사용하려면 CPU와 서버 플랫폼, 메모리 장치, 스위치, 운영체제까지 지원해야 합니다.
기존 서버를 그대로 사용하면서 모든 기능을 적용할 수 없는 경우도 있습니다.
그래서 실제 데이터센터에서는 새 서버를 도입하는 과정에서 단계적으로 CXL 적용이 확대될 가능성이 높습니다.
24. 메모리 회사에도 새로운 시장이 될 수 있다
CXL이 확대되면 메모리 반도체 업체에도 새로운 시장이 생길 수 있습니다.
지금까지 서버 메모리는 주로 DIMM 형태로 CPU에 직접 연결했습니다.
앞으로는 CXL을 이용한 Memory Expander(메모리 확장 장치)나 공유 메모리 시스템 같은 제품이 늘어날 수 있습니다.
단순히 DRAM 칩을 판매하는 것에서 벗어나 컨트롤러와 소프트웨어가 결합된 메모리 솔루션 시장이 커질 가능성도 있습니다.
25. AI 시대에 CXL을 계속 보게 되는 이유
AI 모델이 커지면서 GPU 성능만 높여서는 해결되지 않는 문제가 늘어나고 있습니다.
GPU 옆에서는 HBM 대역폭이 중요합니다.
CPU 쪽에서는 DDR 메모리 용량도 중요합니다.
그리고 전체 서버에서 필요한 메모리를 얼마나 효율적으로 배치할지도 중요해지고 있습니다.
CXL은 바로 이 세 번째 문제와 깊게 연결됩니다.
서버의 메모리를 고정된 부품으로만 보는 것이 아니라 필요에 따라 확장하고 공유할 수 있는 자원으로 바꾸려는 것입니다.
26. CXL을 정리해보면
CXL(Compute Express Link)은 CPU와 메모리, AI 가속기 같은 장치를 고속으로 연결하고 메모리를 보다 유연하게 사용할 수 있도록 만든 개방형 인터커넥트 기술입니다.
특히 CXL 2.0 이후 Memory Pooling(메모리 풀링)과 스위칭이 추가되면서 여러 서버가 메모리를 더 효율적으로 사용하는 방향으로 발전했고, CXL 3.0에서는 패브릭과 메모리 공유 기능이 더욱 확대됐습니다.
제가 보기에는 CXL의 핵심은 단순히 서버에 메모리를 몇 GB 더 추가하는 데 있지 않습니다.
지금까지는 서버 한 대마다 CPU와 메모리가 하나의 고정된 세트처럼 움직였다면 CXL은 메모리를 데이터센터 전체에서 좀 더 유연하게 활용할 수 있는 자원으로 바꾸려는 기술에 가깝습니다.
물론 HBM이나 DDR을 당장 대체하는 기술은 아닙니다.
HBM은 GPU 가까이에서 가장 빠른 데이터를 공급하고, DDR은 CPU의 기본 메모리 역할을 하며, CXL 메모리는 부족한 용량을 확장하거나 여러 시스템 사이에서 메모리를 효율적으로 사용하는 역할을 맡을 수 있습니다.
결국 AI 서버가 커질수록 중요한 것은 GPU가 얼마나 빠른지만이 아닙니다.
GPU가 사용할 HBM, CPU가 사용할 DDR, 추가 메모리와 저장장치를 어떻게 연결하고 배치할 것인지까지 전체 구조를 함께 봐야 합니다.
그 점에서 CXL은 AI 서버 시대에 메모리를 더 많이 넣는 기술이라기보다 메모리를 더 효율적으로 쓰기 위한 연결 기술이라고 이해하는 것이 가장 쉽습니다.