정보기술(IT) 시장에 관심 많으신 독자 여러분 안녕하세요. 여러분, 지금 쓰고 계신 노트북 PC의 용량이 무한대로 늘어났으면 좋겠다는 생각 한번씩 해보셨죠? 노트북·태블릿·스마트폰 등 내 모든 전자 기기들이 엄청난 용량의 저장 공간을 공유하면서 마치 같은 생각을 한 듯 함께 연산하는 상상은요? 자, 오늘 저는 이런 공상과학같은 인간의 상상을 실현 시킬 'CXL'이라는 컴퓨팅 규격에 대해 취재했습니다.
Compute Express Link. CXL이 최근 반도체 업계를 강타했습니다. 지난주 주식 시장이 이 기술로 들썩였죠. 일부 종목들의 주가가 떡상하기도 했습니다. 이 용어를 풀어보면요. Compute는 ‘연산하다’ 라는 뜻이고 Express는 '고속,' Link는 연결하다는 의미죠. 빠르게 연결해서 계산한다는 뜻입니다.
그러면 무엇을 서로 연결한다는 의미일까. 대표적인 게 D램 메모리와 각종 정보를 연산하는 중앙처리장치(CPU)입니다. 원래 CPU와 D램은 연결돼서 정보를 교환하지 않았냐고요? 맞습니다. 그런데 오늘 기사는 '확장성'과 '공유'라는 가치에 좀 더 집중해서 보시면 정말 쉬울 겁니다. 천천히 같이 가보시죠. 2편까지 있습니다.
먼저 기존 CPU와 D램의 구조를 한번 살펴볼게요. 서버 등 IT 기기 안에서 CPU와 D램은 ‘DDR’이라는 규격으로 서로 연결합니다. 요즘 반도체 산업에 관심 생기신 분들이라면 DDR4, DDR5 라는 규격이 익숙하시죠? 그것 맞습니다. CPU라는 연산 공장 옆에 D램이라는 재료 보관 창고를 두고요. DDR이라는 특급 고속 도로를 놓아서 각종 정보를 전달하는 것이죠. 1990년대 등장한 이 규격은 세계의 IT 산업 수준을 크게 끌어올렸습니다. 앞으로도 절대 없어지지 않을 규격이기도 하고요.
다만 DDR 규격은 몇 가지 문제가 있습니다. 오늘 기사의 핵심 가치인 '확장성'과 '공유'에 관한 문제입니다. 우선 확장성 측면에서 보시죠. DDR 규격은 CPU와 D램 사이에 여러 개의 채널을 놓습니다. 그런데 DDR 특성 상 1개 채널에 오류가 발생해도 나머지 모든 채널에 문제가 생깁니다. 비유를 하자면 4차선 특급 고속도로 중 한 차선에서 사고가 나면 나머지 3개 차선이 원활하지 않고 유난히 난리가 나고 막혀버리면서 복구도 힘든 현상이 발생합니다.
그럼 이제 여러분이 만약 D램이 더 많이 필요해서 별도의 ‘D램 창고’를 꾸려 IT 기기와 연결한다고 가정해봅시다. 이 DDR이라는 고속도로를 바깥 공간까지 주욱 뺀 뒤에 내 기존 서버와 D램 방을 연결해야 할 건데요. DDR이니까 속도는 보장이 되겠죠. 그런데 매일매일 유약한 DDR을 걱정하면서 사고가 터지지 않을지 노심초사하며 써야 합니다.
두번째 문제는 공유입니다. DDR 환경에선 별도 외부 장치나 네트워크가 따로 없다면 D램이 단 한 개 호스트, 말그대로 ‘주인’인 기기하고만 연동합니다. 데이터 센터 속에 CPU가 여러 대 있고 D램도 여러 개가 있는데 딱 정해진 수의 메모리로만, 정해진 CPU로만 연산을 해야 한다면 유연성이 참 부족한 거죠. 놀고 있는 메모리와 CPU도 많을 거고, 때론 연산에 과부하가 걸린 메모리도 많아 비효율적일 겁니다. CXL은 DDR이 가지고 있는 이 두가지 문제를 해결하기 위한 프로토콜, 그러니까 IT 하는 사람들끼리의 약속입니다.
이 CXL은 IT에 조금이라도 관심이 있는 분이라면 들어보셨을 PCIe라는 규격부터 출발합니다. Peripheral Component Interconnect Express. 주변 부품 연결을 해주는 규격입니다. 이 PCIe라는 건요. 어떠한 정보를 전달하기 위한 매개체. 그러니까 일상 생활에서 비유를 하면 ‘소리’를 전달하기 위한 공기 같은 겁니다. 이 CXL은 영어, 한국어 같은 언어입니다. PCIe로 연결이 됐더라도 CXL이라는 언어를 장착한 D램과 CPU끼리 소통이 가능하다는 거죠. PCIe가 구현하는 속도는 DDR만큼 특급 고속도로 수준은 아니고 국도 정도인데요. 속도는 상대적으로 느려도, 상대적으로 안정감이 있는 게 포인트입니다.
CXL은 속도와 용량 면에서 봤을 때 캐시 메모리 → HBM → DDR 기반의 D램 다음 계층에 위치하는 메모리 장치입니다. 다만 확장성은 다른 메모리 종류들과 비교할 수 없습니다. 데이터가 폭증의 폭증을 거듭하는 AI 시대에서 D램과 SSD를 거의 무한대로 늘리면서 속도도 어느 정도 보장되는 그 자리에 포지셔닝 했다는 거죠. 이 구상과 이야기는 2019년 ‘CXL 컨소시엄’이라는 곳을 통해 본격적으로 세상 밖으로 나오기 시작합니다.
◇CXL 규격은 3.1 버전까지 정해져 있습니다.
이제 CXL 컨소시엄을 이야기해봐야 하는데요. 삼성전자, SK하이닉스, 인텔, AMD 등 내로라하는 칩 회사만 컨소시엄에 포함된 게 아니고요. 구글, 메타, 마이크로소프트 등 세계적인 데이터 센터 회사들도 이 모임에 들어왔습니다.
이 모임은 CXL에 관한 약속을 합니다. 결성 후 2019년 처음 맺은 약속이 1.0 규격이고, 지난달엔 ‘3.1’ 규격까지 발표했죠. 규격의 진화 패턴을 봅시다. 역시 여기서도 ‘확장성’과 ‘공유’의 개념이 중요합니다.
1.0은 기존 컴퓨팅 구조에서 크게 벗어나지 않습니다. 기존 CPU와 D램이 위치하던 마더보드 내에서 확장된 CXL D램이 꽂히는 형태인데요. 삼성전자와 SK하이닉스가 마치 SSD같은 저장 장치 모양으로 출시한 ‘익스팬더’ 장치가 여기에 꽂힙니다.
2.0부터는 CXL D램이 조금 더 달라집니다. 2.0의 핵심 가치. ‘확장성’입니다. 다수의 CPU 장치 바깥으로 확장해서 갖춰진 ‘메모리 풀’ 시스템에 연결할 수 있습니다. 다만 이 풀을 확장은 한계가 있습니다. 각 CPU마다 메모리 풀에 연결된 선이 다릅니다. 이른바 ‘트리’, 나무 구조로 확장되죠. 또 메모리 모듈 안에서도 할당된 메모리만 사용 가능합니다. 메모리와 메모리, CPU와 CPU 간 정보 공유가 복잡하고 힘듭니다.
3.0부터는 이제 ‘확장’과 함께 ‘공유’ 시스템이 접목됩니다. 마치 명조하게 직조한 것처럼 네트워킹이 형성된다고 해서 ‘패브릭’이라는 전문 용어가 붙은 것 같습니다. CPU와 메모리 풀 간 통로들이 일원화되고요.
다수의 CPU, GPU가 한 개의 메모리 안으로 같이 들어가서 연산을 진행할 수 있어서요. 프로세서-메모리 풀들이 한 개 거대한 컴퓨터처럼 움직이기 시작한다는 겁니다. 지구에서 태양계로, 태양계에서 은하로 확장하는 느낌이죠? ‘캐시 코히어런트’, 그러니까 기억하거나 연산해야 할 정보들이 기기마다 다르지 않고 ‘일관화'됩니다. CPU와 메모리끼리 “말하지 않아도 아는” 모드가 되는 것입니다.
이렇게 되면 AI 시대에서도 상당히 유리합니다. 기존에는 컴퓨팅 기기들이 따로따로 연산을 진행하던 것을, 모든 CPU와 메모리들이 한 팀이 돼 계산을 할 수도 있습니다. 이렇게 되면 데이터 병목 현상이 사라지고 연산 스피드가 빨라질 수 있습니다.
이론 상으로는 CXL이 3.0 환경까지 구현이 되면요. 한 개 CPU 당 4000개 이상의 메모리 장치들이 서로 하나의 기기처럼 움직입니다. AI 시대를 맞이해 효율적 연산을 원하는 데이터 센터, 이곳에 공급되는 서버를 만드는 회사들이 이 규격에 집중할 수밖에 없는 상황입니다. 2편에서는 CXL 부품들과 현황에 대해 간략히 짚어보겠습니다.
< 저작권자 ⓒ 서울경제, 무단 전재 및 재배포 금지 >