최대 64코어/128스레드의 몬스터 CPU
AMD는 64코어의 2세대 서버 CPU, AMD EPYC 7002 시리즈를 출시했습니다. 2세대 에픽은 코드네임 로마(Rome)로, 7nm 공정으로 제조하고 마이크로 아키텍처를 확장한 젠 2 CPU 코어를 사용합니다. 8개의 CPU 코어를 탑재한 CPU 코아 다이를 최대 8개 탑재하고, 메모리와 I/O 기능을 통합해 I/O 다이와 연결합니다. 8코어 × 8다이로 최대 64개의 CPU 코어를 하나의 CPU 패키지에 탑재합니다.
AMD는 에픽 7002이 가장 높은 성능의 CPU가 선언
2소켓과 1소켓
에픽 7002 시리즈 제품 구성
에픽 7002 시리즈의 제품 스펙
에픽 7002 시리즈의 개요
AMD는 8월 7일에 미국 샌프란시스코에서 열린 AMD 에픽 호라이즌에서 신제품을 설명했습니다. 최대 64코어의 AMD 에픽 7742는 1개의 CPU에 64코어 128스레드, 기본 클럭 2.25GHz, 부스트 클럭 3.4GHz, L3 캐시 총 용량 256MB며 TDP는 225W, 인터커넥트는 DDR4-3200 8채널, PCIe 4.0 128레인(듀얼 소켓 버전에선 168), 4TB 메모리, 메모리 대역폭 410GB/s, I/O 대역폭 512GB/s의 괴물 CPU입니다.
에픽 7002(로마) 시리즈는 그 동안 서버 시점을 독점해온 인텔에 대한 AMD의 두번째 도전입니다. AMD는 7nm 에픽으로 데이터센트/HPC 시장에서 위치를 다지려 합니다. 이번 발표에서 눈에 띈 건 하드웨어, 소프트웨어, 클라우드 서비스 업체의 지지입니다. 발표회 마지막에선 구글이 등장해 구글 클라우드 서비스에 신형 에픽을 탑재한다고 밝혔습니다. 1세대에서 관망세였다면 2세대는 많은 회사들이 도입하는 분위기입니다.
현재의 서버 소프트웨어 흐름에 맞춘 설계
왜 에픽이 보급되고, 2세대 에픽도 환영하는 분위기가 생긴 걸까요? 그 이유는 에픽 아키텍처에 있습니다. 에픽의 장점은 단지 CPU 코어 수가 많다는 게 전부가 아닙니다. CPU 코어 수는 확실히 많지만, 그 외에도 에픽은 클라우드 위주의 서버 시장에서 매력적인 요소를 갖췄습니다. 에픽 7002는 그 장점을 강화해 나가고 있습니다.
데이터센터 CPU로서 에픽의 큰 특징은 컴퓨팅의 메모리 대역폭과 I/O 비율을 높이고, 대역폭과 I/O 트렌젝션을 강화했다는 데 있습니다. 컴퓨팅 성능도 1세대가 32개의 젠 코어, 2세대가 64개의 젠 2 코어로 강화됐으나, 반대로 CPU 코어 수를 줄이고 메모리와 I/O 비율을 높인 제품도 라인업에 포함됐습니다. 직접 연결되는 메모리와 I/O의 수가 늘어나면 메모리 용량을 경제적으로 늘릴 수 있으며, 데이터센터에서 점점 중요해지는 가속기를 포함해 디바이스 연결해 쉬워집니다.
또 서버 소프트웨어 스택에서 작은 크기의 가상 머신과 컨테이너를 대량으로 사용하는 방향에 최적화됐다는 점도 에픽의 중요한 특징입니다. 1~4코어의 소규모 가상 머신이나 컨테이너에 최적화해 CPU 코어를 4개 단위로 묶었고, 이를 통한 모듈형 구조로 설계가 쉬워졌습니다. 또 모듈식 설계는 경제적이면서도 설계가 빠르기에 7nm 같은 첨단 공정을 빨리 도입할 수 있었습니다. 가상 머신의 수가 늘어나면 더 많은 메모리가 필요한데, 이 점에서도 메모리 채널을 중요하게 여긴 AMD의 설계가 효과를 봅니다.
그에 비해 인텔의 서버 CPU는 전통적으로 컴퓨팅을 강화하고, 여기에서 메모리와 I/O의 균형을 맞췄습니다. 메모리와 I/O의 부하가 늘어나는 지금의 클라우드에 최적화됐다고 보긴 어렵습니다. CPU 가격에 비해 메모리 채널과 I/O 채널 수가 상대적으로 적기에 메모리를 경제적으로 늘리기 어렵고, 효율적으로 I/O 디바이스를 늘리기도 어렵습니다. 대규모 가상 머신을 효율적으로 실행하는 토플로지를 고집하고 있으며, 하나의 CPU 설계를 갖고 있어 대형 서버 CPU에서 첨단 공정의 도입이 늦습니다.
AMD와 인텔은 CPU 코어 수를 경쟁하는 것처럼 보이지만, 그 뒤에는 AMD와 인텔의 서버 CPU 설계 사상이 다르고, 결과적으로는 그것이 두 회사 서버 CPU의 차이를 초래했음을 알 수 있습니다. 물론 AMD의 설계에도 단점이 있습니다. 다이 사이의 연결 대기 시간과 대역폭이 크지요. 그러나 AMD는 2세대 에픽에서 그 약점을 최대한 줄이려 합니다.
젠 2에서 CPU 코어 자체 성능이 향상
2세대 에픽은 7nm 공정으로 전환과 동시에 칩렛 구조를 더욱 강화했습니다. 또 싱글 스레드 성능을 더욱 높이고 부동소수점 연산 성능은 2배, IPC(Instruction-per-Clock)도 증가했습니다. 7nm 미세화를 통해 CPU 코어 수를 늘리고, 에픽의 특징인 메모리와 I/O 강화를 더욱 발전시켰습니다.
2세대 에픽의 CPU 코어는 라이젠 3000 시리즈와 같은 젠 2 코어입니다. 14nm의 1세대 젠보다 부동소수점 연산 파이프가 128비트에서 256비트로 확정되고, 로드/스토어 뿐만 아니라 256비트 로드2와 스토어1의 어드레스 생성을 병렬 수행해, SIMD (Single Instruction, Multiple Data)의 부동 소수점 연산 최대 성능이 2배로 올랐습니다. 또 분기 예측과 내부 명령어 캐시 확장을 통해 IPC를 향상시켰습니다. L3 캐시 용량은 1코어당 4MB로 2배로 늘었습니다.
젠 코어에서 여러 부분을 확장한 젠 2 코어
4다이 구성에서 9다이 구성으로 변경
CPU 코어 자체의 아키텍처를 확장
프론트 엔드 부분 비교
부동소수점 연산 엔진 비교
정수 연산 코어 비교
L3 캐시가 16MB로 확장
7nm 에픽의 젠 2 코어는 4개의 CPU 코어를 묶은 CCX(Core Complex)를 구성하고, 2개의 CCX로 8개의 코어를 탑재한 CPU 다이인 CCD를 사용합니다. 8코어를 탑재한 CCD 다이 크기는 74제곱mm로 매우 작아 칩렛이라 부릅니다. 다이가 작아 제조 비용이 높고, 수율이 낮은 7nm 공정으로도 저렴하게 만들 수 있습니다.
로마의 최대 구성에선 CCD가 8개, I/O 다이가 1개로 총 9개의 다이가 패키징됩니다. 1세대 네이플스는 전부 똑같은 구조의 4개 다이를 사용했습니다. 그러나 로마는 9개의 다이에 CPU와 I/O의 두 가지 다이로 구성된 하이브리드 멀티 다이를 사용합니다. 또 AMD는 에픽에서 사용하는 CPU 칩렛 CCD를 라이젠에서도 사용합니다. 다양한 제품을 쉽게 파생시킬수 있다는 점도 모듈형 설계의 장점입니다.
AMD 모듈형 설계의 변화. 불도저부터 최초의 모듈형 설계를 시작했습니다.
젠 2 세대의 모듈형 설계 CPU 제품 파생
CCX를 2개 탑재한 칩렐을 쓴 2세대 에픽
디자인을 크게 바뀐 인피니티 패브릭
AMD가 로마의 설계에서 주력한 부분 중 하나가 다이의 연결입니다. AMD는 다이와 다이 사이, 소켓과 소켓 아이ㅢ 모든 연결을 인피니티 패브릭으로 통일했습니다. 그러나 같은 인피니티 패브릭도 각 연결 부분의 구현은 크게 다릅니다. 에픽도 다이와 소켓마다 전송 방식, 비트 폭, 속도가 다릅니다.
로마는 다이 사이의 인터커넥트 대역폭과 전송 속도를 높였습니다. 1세대 에픽은 다이 사이의 대역을 패브릭 클럭 당 단방향 16바이트로 정했습니다. 2세대 에픽은 32바이트+16바이트로 확장했습니다. 이 숫자는 패브릭 클럭 당 전송 비트이며 실제 인터커넥트의 물리적 구현은 다릅니다. 16바이트와3 2바이트 물리 인터페이스로 다이가 서로 연결되진 않습니다.
1세대와 2세대 에픽의 연결 비교
다이 사이의 연결 지연 시간을 줄임
로마의 소켓 연결 전송 속도와 실제 전송 속도
로마는 다이 사이의 연결 대기 시간도 줄였습니다. 구체적으로는 1세대 네이플스가 동일 CPU 패키지 안의 다른 다이 메모리 영역에 액세스하는 경우 141ns의 지연 시간이 나옵니다. 그에 비해 2세대 로마는 CPU 패키지의 모든 CPU가 독립된 I/O 다이에 연결되는 구조지만, 대기 시간은 104ns로 줄어듭니다. 내부 인터커넥트 아키텍처를 바꿔 대기 시간을 줄입니다. 대역폭과 지연 시간은 개선됐지만 소비 에너지는 2pj/bit로 거의 같습니다.
소켓 사이의 연결은 네이플스가 PCIe와 SerDes를 공유해 9.6Gbps의 전송 속도로 연결합니다. 로마는 네이플스와 같은 메인보드를 쓰는 경우 10.7Gbps, 로마에 맞춘 메인보드에선 18Gbps의 전송 속도로 소켓 사이를 연결합니다. 1링크 단방향 16레인으로 최대 4링크입니다. 소켓 사이의 최고 대역은 거의 두배로 확장됩니다.
PCIe는 4.0으로, 레인 수는 168개로 확장
범용 I/O는 PCIe 4.0입니다. 대역폭이 3.0의 두배로 늘었습니다. 1소켓 시스템에서 PCIe 4.0은 128레인, 2소켓은 기존 메인보드에서 똑같은 128레인이나, 새 보드에선 162레인입니다.
1세대 네이플스는 PCIe 소켓 사이에서 인피니티 패브릭과 SerDes를 공유합니다. 네이플스를 소켓 사이의 연결에 64레인을 사용하기에, 2소켓이라 해도 PCIe가 128레인밖에 안 나옵니다. 하지만 로마는 소켓 사이의 인피니티 패브릭과 SerDes가 독립돼, 2소켓에서 128개 이상의 PCIe 레인이 나옵니다. 그 결과 로마를 새로운 메인보드와 조합하면 2소켓 168레인 PCIe 4.0을 지원하고, I/O 레인 수는 1.3배로 늘어납니다.
로마의 고속 I/O 구성. 차세대 2소켓 메인보드에서 168개의 PCIe를 지원
에픽은 1개의 다이에서 8채널 메모리를 지원하는데, 2세대 제품에선 이것도 확장됐습니다. 채널 수는 그대로지만 메모리 클럭이 올랐습니다. 로마는 DDR4-3200을 지원해, 2소켓은 16채널 3.2GBps로 전송, 전체 대역폭은 410GB/s가 됩니다. 1세대 에픽이 DDR4-2666에 340GB/s의 대역폭이었으니 20.6%가 늘어난 셈입니다.
로마의 메모리 대역폭 증가
컴퓨팅과 I/O 향상에 비해 메모리 대역폭의 향상폭은 적지만, 이는 지금의 메모리 아키텍처 특성상 어쩔 수가 없습니다. 2소켓에 16채널의 메모리 배선을 넣기엔 부족하니 이 이상으로 메모리 채널 수를 늘리기 어렵습니다. 메모리 용량은 최대 4TB로 256GB DIMM 모듈을 지원합니다. DRAM이 앞으로 용량이 커질 것을 염두에 둔 확장입니다.
AMD는 로마에서 멈추지 않습니다. 7nm+ 세대의 프로세스로 젠 3 코어 설계가 끝났으며, 젠 3 기반의 차세대 에픽인 밀라노가 있습니다. 또 젠 4 기반의 제노아가 설계 중입니다.