CXL 이란?
CXL, 컴퓨트 익스프레스 링크(Compute Express Link)는 프로세서, 메모리 확장 및 가속기 간에 업계에서 지원하는 캐시 일관성 상호 연결입니다.
CXL은 기존의 컴퓨팅 시스템의 메모리 용량의 물리적 한계를 극복하고, D램의 용량을 획기적으로 확장할 수 있는 차세대 인터페이스 기술입니다.
CXL 개념과 특징

CXL은 PCI Express(PCIe)의 물리 계층과 데이터 링크 계층을 기반으로 하면서, 캐시 일관성 프로토콜을 추가한 인터페이스입니다.
CXL은 CPU와 가속기, 메모리, 저장장치 등을 보다 효율적으로 활용하기 위해 2019년에 설립된 CXL 컨소시엄에서 제안된 표준입니다.
CXL 특징
- 캐시 일관성
- CXL은 CPU와 장치 간에 캐시 일관성을 유지하여, 메모리 접근 지연 시간을 줄이고, 소프트웨어 스택의 복잡성을 감소시킵니다.
- 캐시 일관성이란 CPU와 장치가 동일한 메모리 주소 공간을 공유하고, 메모리의 데이터를 일관되게 유지하는 기능입니다. 별도로 설명하겠습니다.
- 캐시 일관성이 없는 경우, CPU와 장치는 메모리의 데이터를 동기화하기 위해 복잡한 소프트웨어 로직을 수행해야 하며, 동기화가 완료되기까지 계산을 더이상 진행할 수 없으므로 성능 저하와 오버헤드를 초래합니다.
- 메모리 확장
- CXL은 기존의 DDR 인터페이스로는 시스템에 탑재할 수 있는 D램 용량에 한계가 있어, 이를 극복할 수 있는 새로운 대안입니다.
- CXL은 CPU 메모리 공간과 연결된 장치의 메모리들간의 메모리 일관성을 유지하므로, 장치의 메모리를 CPU의 메모리처럼 사용할 수 있습니다.
- 이를 통해 시스템의 메모리 용량을 테라바이트급까지 확장할 수 있습니다.
- 고대역폭
- CXL은 PCIe 5.0의 물리 계층과 데이터 링크 계층을 기반으로 하므로, PCIe 5.0의 고대역폭을 그대로 활용할 수 있습니다.
- PCIe 5.0은 단일 레인당 32GT/s의 속도를 제공하며, 16레인의 경우 64GB/s의 대역폭을 지원합니다.
- 이는 PCIe 4.0의 두 배의 성능입니다. CXL은 이러한 고대역폭을 통해 CPU와 장치 간에 빠른 데이터 전송을 가능하게 합니다.

캐시 일관성이란?
캐시(cache)는 컴퓨터에서 데이터나 값을 미리 복사해 놓는 임시 장소를 말합니다. 캐시는 CPU와 메모리 혹은 CPU의 메모리공간에 연결되어 있는 장치들 사이에 존재하며, CPU가 메모리에 접근할 때마다 발생하는 지연 시간을 줄여주고, 성능을 향상시킵니다.
읽기 쓰기 속도를 매우 빠르게 할 수 있는 메모리로 구현되기 때문에, 일반 DRAM보다 빠르고 비싼 반도체입니다.
- 캐시 일관성(cache coherence)이란, 여러 개의 캐시가 공유하는 메모리의 데이터를 동일하게 유지하는 것을 말합니다.
- 캐시 일관성은 멀티 코어 및 메모리 공간에 연결된 장치로 구성된 시스템에서 중요한 문제입니다.
- 왜냐하면, 각 코어 및 장치가 자신들의 캐시를 가지고 있고,
- 다른 장치가 변경한 메모리의 데이터가 반영되지 못하게 되면, 캐시에 있는 데이터와 실제 장치의 메모리에 있는 데이터가 불일치하게 되고,
- 이러한 데이터의 불일치는 CPU에서 동작하는 SW가 오동작하는 가능성이 있기 때문입니다.
캐시 일관성을 유지하기 위해서는, 캐시에 있는 데이터를 변경할 때마다, 메모리에도 반영하고, 다른 코어의 캐시에도 알려주어야 합니다.
이를 위해, 캐시 일관성 프로토콜(cache coherence protocol)이라는 하드웨어나 소프트웨어의 규칙이 필요합니다. 캐시 일관성 프로토콜은 캐시에 있는 데이터의 상태를 표시하고, 캐시 간에 메시지를 주고받아서, 캐시의 데이터를 동기화하거나 무효화합니다.

CXL은 세 가지 유형의 장치를 지원합니다.
- 캐시형 장치는 CPU와 캐시 일관성을 유지하며, 가속기나 메모리 확장 장치에 사용됩니다.
- 메모리형 장치는 CPU의 메모리 공간에 매핑되며, 메모리 확장 장치에 사용됩니다.
- IO형 장치는 기존의 PCIe 장치와 호환되며, 저장장치나 네트워크 장치에 사용됩니다.
CXL과 LLM의 관계

챗GPT와 같은 AI SW는 LLM(Large Language Model)이라고 불립니다. LLM의 특징은 계산을 해야 할 parameter의 개수가 매우 많다는 점입니다. (예: 수십 또는 수백 억 개)
LLM은 대규모의 텍스트 데이터를 학습하는 과정에서 위에 언급한 parameter들의 최적값을 계산하게 되고, 결정된 parameter를 사용하면, 다양한 자연어 처리(NLP) 작업에 적용할 수 있는 범용적인 언어 이해 능력을 갖습니다.
LLM은 결정을 해야 할 parameter의 개수가 매우 많기 때문에, 학습과 추론에 많은 컴퓨팅 자원이 필요합니다.
이를 위하여, LLM은 CPU와 GPU, TPU 등의 가속기를 사용하여 병렬 처리를 수행하여 계산의 속도를 높입니다. 아울러 계산을 해야 할 parameter의 양이 굉장히 많기 때문에, 메모리 용량이 충분한 D램을 사용하여 parameter와 중간 결과를 저장하고 다시 계산하는 반복 과정을 거치게 됩니다.
CXL은 다음과 같은 기능을 제공함으로써 LLM 연산처리를 향상 시킬 수 있습니다.
- LLM의 학습과 추론에 필요한 컴퓨팅 자원들을 연결하는 역할을 합니다.
- CPU와 가속기, 메모리, 저장장치 등을 캐시 일관성을 유지하면서 고대역폭으로 연결하여, LLM의 연산 및 수행 성능을 향상 시킵니다.
- LLM의 메모리 용량을 확장하는 역할을 합니다.
- CXL은 CPU의 메모리 공간과 연결된 장치의 메모리를 하나의 메모리 공간으로 관리하여, LLM의 parameter와 중간 결과를 저장할 수 있는 메모리 용량을 획기적으로 확장합니다.
- LLM의 확장성과 유연성을 제공하는 역할을 합니다.
- CXL 스위치, CXL 메모리 풀, CXL 로드 밸런서 등의 기능을 통해, 다수의 CXL 장치를 연결하고, 부하를 분산하고, 보안을 강화할 수 있습니다. CXL은 또한 CXL 호스트와 장치 간에 핫 플러그 기능을 지원하여, LLM의 업그레이드와 교체를 용이하게 합니다.
CXL은 CPU의 메모리 공간과 연결된 장치의 메모리 간에 메모리 일관성을 유지하므로, 장치의 메모리를 CPU의 메모리처럼 사용할 수 있게 되고, 이를 통해 시스템의 메모리 용량을 테라바이트급까지 확장할 수 있습니다.
마치며

결론적으로, CXL은 CPU와 메모리, 가속기 등을 캐시 일관성을 유지하면서 고속, 저지연으로 연결하는 새로운 인터페이스 기술이라 말할 수 있습니다.
CXL은 기존의 DDR 인터페이스로는 시스템에 탑재할 수 있는 D램 용량 한계를 극복할 수 있는 새로운 메모리 확장 기술입니다. 메모리 용량을 테라바이트급까지 확장할 수 있으며, 데이터 집약적인 작업에 유용하게 활용될 수 있습니다.
특히, parameter의 개수가 매우 많은 LLM과 같은 인공지능 작업에서 컴퓨팅 자원의 연결, 메모리 용량의 확장, 확장성과 유연성의 제공 등의 역할을 하여, LLM의 성능을 향상시킬 수 있습니다.
관련주는 무조건 삼성전자가 탑픽입니다. 그리고 생산라인이 증설될 경우 추가 매출이 발생할 수 있는 검사장비 공급업체들인 네오셈, 엑시콘, 큐알티 등이 있을 수 있습니다.
![A logo representing a calm, happy Sweden countryside village with only blue color palette [and has a minimalist and modern style] [incorporating elements of nature] [with a touch of Scandinavian design] [that reflects a sense of community]](https://raonstad.com/wp-content/uploads/2024/03/img-rsVXmvlyKd0umO7b2rMmaUnI.png)