amd-epyc

3 개의 포스트

Launching Cloudflare’s Gen 13 servers- trading cache for cores for 2x edge compute performance (새 탭에서 열림)

Cloudflare는 차세대 에지 컴퓨팅 성능을 2배로 끌어올리기 위해 AMD EPYC 5세대 'Turin' 프로세서를 기반으로 한 13세대(Gen 13) 서버를 도입했습니다. 기존 12세대 서버가 거대한 L3 캐시(3D V-Cache)에 의존했던 것과 달리, 13세대는 캐시 용량을 줄이는 대신 코어 수를 대폭 늘려 처리량을 극대화하는 전략을 선택했습니다. 이러한 하드웨어 변화는 Rust 기반의 새로운 요청 처리 계층인 'FL2'로의 전환이 있었기에 가능했으며, 이를 통해 캐시 의존성을 탈피하고 늘어난 코어 성능을 온전히 활용할 수 있게 되었습니다. ### AMD Turin 아키텍처의 혁신과 캐시 트레이드오프 AMD EPYC 5세대 Turin 프로세서는 단순한 코어 수 증설 이상의 아키텍처적 개선을 제공합니다. * **코어 밀도 및 효율성:** 12세대의 96코어에서 2배 늘어난 최대 192코어(384스레드)를 지원하며, Zen 5 아키텍처 적용으로 IPC(사이클당 명령어 처리 수)가 향상되었습니다. 코어당 전력 소모량은 오히려 32% 감소하여 전력 효율성이 개선되었습니다. * **메모리 대역폭 확장:** DDR5-6400 메모리를 지원하여 늘어난 코어들이 데이터를 신속하게 주고받을 수 있는 환경을 구축했습니다. * **캐시 감소의 한계:** 하지만 고밀도 설계를 위해 코어당 L3 캐시 용량은 12세대의 12MB에서 2MB로 크게 줄었습니다. 이는 캐시 로컬리티에 의존적인 기존 워크로드에 심각한 성능 병목을 일으킬 수 있는 구조적 변화입니다. ### 기존 FL1 스택에서의 성능 병목 분석 Cloudflare의 기존 NGINX 및 LuaJIT 기반 요청 처리 계층인 FL1은 줄어든 캐시 환경에서 심각한 지연 시간 문제를 노출했습니다. * **지연 시간 급증:** AMD uProf 도구 분석 결과, L3 캐시 미스 시 데이터 접근 시간이 50사이클에서 350사이클(DRAM 접근 시)로 7배 이상 증가하는 것을 확인했습니다. * **처리량과 지연 시간의 상충:** Turin 9965 프로세서에서 FL1을 실행했을 때 처리량(Throughput)은 62% 증가했지만, 높은 CPU 사용률 구간에서 지연 시간(Latency)이 50% 이상 늘어나는 결과가 나타나 실제 서비스 적용에 부적합 판정을 받았습니다. ### 하드웨어 튜닝 및 PQOS를 통한 최적화 실험 하드웨어의 한계를 극복하고 최적의 성능 지점을 찾기 위해 AMD와 협업하여 다양한 최적화 기술을 적용했습니다. * **하드웨어 튜닝:** 프리페처(Prefetcher) 및 데이터 패브릭(DF) 프로브 필터 조정 등을 시도했으나 성능 향상 폭은 미미했습니다. * **AMD PQOS 적용:** L3 캐시와 메모리 대역폭을 미세 조정할 수 있는 PQOS(Platform Quality of Service) 기술을 사용했습니다. * **NUMA 인지 구성:** 특정 CCD(Core Complex Die)를 FL 전용으로 할당하는 NUMA 인지형 코어 어피니티 설정을 통해, 지연 시간을 허용 범위 내로 유지하면서도 약 15%의 추가 처리량 이득을 확보하는 데 성공했습니다. ### Rust 기반 FL2 스택을 통한 성능 해방 결국 하드웨어의 잠재력을 100% 끌어올린 핵심 동력은 소프트웨어 재작성이었습니다. * **캐시 의존성 탈피:** Rust로 작성된 FL2는 효율적인 메모리 관리와 현대적인 설계를 통해 캐시 크기에 민감하게 반응하던 FL1의 한계를 극복했습니다. * **선형적 성능 확장:** FL2 도입을 통해 Turin 프로세서의 192코어 성능을 지연 시간 하락 없이 온전히 사용할 수 있게 되었으며, 이는 Cloudflare 에지 네트워크의 총 소유 비용(TCO) 최적화로 이어졌습니다. 인프라의 세대 교체 시 하드웨어 사양(코어 수, 캐시 용량 등)의 변화가 기존 소프트웨어 스택의 설계 원칙과 충돌할 수 있습니다. Cloudflare의 사례처럼 하드웨어 성능 최적화가 한계에 다다랐을 때는, Rust와 같은 현대적인 언어로 소프트웨어 아키텍처를 재설계함으로써 하드웨어의 물리적 변화를 성능 도약의 기회로 전환하는 전략이 필요합니다.

Gen 13 내부: 역대 가장 강력한 서버를 구축한 방법 (새 탭에서 열림)

Cloudflare는 Rust 기반의 새로운 요청 처리 계층인 FL2로의 전환에 맞춰, 하드웨어 성능과 효율성을 극대화한 'Gen 13' 서버를 설계했습니다. Gen 13은 192코어의 AMD EPYC Turin 프로세서와 향상된 메모리/네트워크 대역폭을 통해 이전 세대 대비 최대 2배의 처리량을 제공하면서도 전력 효율은 50% 개선했습니다. 결과적으로 하드웨어와 소프트웨어의 최적화된 결합을 통해 글로벌 네트워크 전반의 운영 비용을 절감하고 서비스 확장성을 확보하게 되었습니다. **소프트웨어 변화에 최적화된 CPU 선택** * **FL2와 L3 캐시 의존도 감소:** 이전 세대(Gen 12)는 대용량 L3 캐시가 특징인 Genoa-X를 사용했으나, Rust로 재작성된 FL2 스택은 L3 캐시 의존도가 낮아진 대신 코어 수에 따라 성능이 선형적으로 확장되는 특성을 보입니다. * **AMD EPYC 9965(Turin) 채택:** 코어당 캐시 용량은 줄었으나, 코어 수를 192개(Gen 12 대비 2배)로 늘려 총 처리량(Requests per second)을 극대화했습니다. * **전력 및 운영 효율성:** 500W TDP 설정에서 최적의 와트당 성능을 구현하며, 서버 한 대당 처리 능력을 높여 관리해야 할 노드 수를 줄임으로써 운영 복잡성을 낮췄습니다. * **미래 지향적 설계:** DDR5-6400, PCIe 5.0, CXL 2.0을 지원하며 AMD의 최신 아키텍처를 통해 더 긴 보안 지원 주기와 시스템 수명을 보장받습니다. **메모리 대역폭 및 용량의 극대화** * **12채널 구성:** AMD Turin 프로세서의 성능을 뒷받침하기 위해 12개의 메모리 채널을 모두 사용하는 '1 DIMM per channel(1DPC)' 구성을 채택했습니다. * **대역폭 33% 향상:** DDR5-6400 ECC RDIMM을 사용하여 초당 614GB의 최대 메모리 대역폭을 확보했으며, 이는 메모리 집약적인 병렬 작업 시 병목 현상을 방지합니다. * **용량 최적화:** 코어 수가 늘어남에 따라 전체 메모리 용량을 768GB로 증설하여, Cloudflare가 최적으로 판단하는 '코어당 4GB'의 메모리 비율을 유지했습니다. * **메모리 인터리빙:** 동일한 용량과 규격의 메모리를 12개 채널에 균등하게 배치하여 데이터 액세스 속도를 높이는 인터리빙 기술을 적용했습니다. **네트워크 및 스토리지 가속화** * **4배 더 빠른 네트워크:** 기존 25GbE에서 듀얼 100GbE NIC(네트워크 인터페이스 카드)로 전환하여 폭발적인 데이터 유입에도 지연 시간(SLA) 내에 처리가 가능하도록 설계했습니다. * **PCIe 5.0 기반 스토리지:** 24TB의 PCIe 5.0 NVMe 스토리지를 탑재하여 데이터 입출력 속도를 개선하고 용량을 1.5배 늘렸습니다. * **보안 강화:** 메모리 암호화뿐만 아니라 PCIe 암호화 하드웨어 지원을 추가하여 데이터 이동 시 보안성을 강화했습니다. Gen 13 서버는 단순한 사양 업그레이드를 넘어, 소프트웨어 아키텍처(Rust FL2)의 변화가 하드웨어 설계의 방향을 어떻게 바꿀 수 있는지 보여주는 사례입니다. 고밀도 컴퓨팅이 필요한 환경이라면 대용량 캐시에 의존하기보다, 최신 아키텍처 기반의 다코어 CPU와 이를 뒷받침할 수 있는 충분한 메모리 대역폭 및 네트워크 속도를 확보하는 것이 성능과 비용 효율성 측면에서 유리할 것입니다.

5세대 AMD EPYC 프로세 (새 탭에서 열림)

최신 5세대 AMD EPYC 프로세서를 탑재한 Amazon EC2 Hpc8a 인스턴스가 정식 출시되었습니다. 이 인스턴스는 이전 세대인 Hpc7a 대비 최대 40% 향상된 성능과 42% 높은 메모리 대역폭을 제공하여 계산 집약적인 고성능 컴퓨팅(HPC) 워크로드에 최적화되었습니다. 특히 기상 모델링, 유체 역학 시나리오, 복잡한 충돌 시뮬레이션 등 고도의 연산 능력이 필요한 결합형(Tightly Coupled) HPC 작업에서 탁월한 가성비를 보여줍니다. **Hpc8a 인스턴스의 주요 하드웨어 사양 및 성능** - 최대 4.5GHz의 클럭 속도를 제공하는 5세대 AMD EPYC 프로세서를 기반으로 구동됩니다. - 이전 세대(Hpc7a)와 비교했을 때 성능은 40%, 메모리 대역폭은 42% 향상되었으며, 가격 대비 성능(Price-performance)은 약 25% 개선되었습니다. - 단일 인스턴스 크기인 '96xlarge'로 제공되며, 192개의 코어와 768GiB의 메모리(코어 대 메모리 비율 1:4)를 탑재하고 있습니다. - 대규모 노드 간 통신을 위해 300Gbps 대역폭의 EFA(Elastic Fabric Adapter) 네트워킹을 지원하여 지연 시간을 최소화합니다. **HPC 최적화를 위한 아키텍처 및 유연성** - 가상화, 스토리지, 네트워킹 기능을 전용 하드웨어로 오프로드하는 6세대 AWS Nitro 카드를 사용하여 시스템 성능과 보안성을 극대화했습니다. - HPC 워크로드의 일관된 성능을 보장하기 위해 동시 멀티스레딩(SMT) 기능이 기본적으로 비활성화되어 있습니다. - 인스턴스 시작 시 사용자가 필요한 코어 수를 직접 맞춤 설정할 수 있어, 특정 워크로드 요구 사항에 맞춰 리소스를 효율적으로 조정할 수 있습니다. **통합 에코시스템 및 서비스 활용** - AWS ParallelCluster 및 AWS Parallel Computing Service(AWS PCS)와 연동하여 클러스터 생성 및 워크로드 제출 과정을 간소화할 수 있습니다. - Amazon FSx for Lustre 스토리지와 결합 시 밀리초 미만의 지연 시간과 초당 수백 기가바이트의 처리량을 확보하여 데이터 병목 현상을 해결합니다. - 현재 미국 동부(오하이오) 및 유럽(스톡홀름) 리전에서 사용 가능하며, 온디맨드 또는 세이빙 플랜(Savings Plan)을 통해 구매할 수 있습니다. 복잡한 시뮬레이션의 실행 시간을 단축하고 운영 비용을 절감하고자 하는 HPC 사용자들에게 Hpc8a 인스턴스는 강력한 선택지가 될 것입니다. 특히 대규모 노드 확장이 필요한 유체 역학이나 고해상도 기상 예측 모델을 운영 중이라면 300Gbps EFA와 개선된 메모리 대역폭을 적극 활용해 보시기 바랍니다.