3P by GN⁺ | ★ favorite | 댓글 1개
  • AMD EPYC 9575F 실측은 Zen 5 코어 반복 설명보다 서버용 메모리 서브시스템 변화에 초점을 맞춰 Turin의 실제 차이를 보여줌
  • 단일 스레드 대역폭은 읽기 약 52GB/s, 쓰기 약 48GB/s, add 약 95GB/s 수준이며, 전체 소켓 읽기는 이론상 576GB/s의 거의 99%에 도달함
  • 서버용 Turin은 CCD와 I/O 다이 사이에 GMI3-W로 2개 GMI 링크를 쓰고, 쓰기 링크 폭도 링크당 32B로 늘어 데스크톱 Zen 5보다 CCD 대역폭이 큼
  • 메모리 지연시간은 비부하 상태에서 Genoa와 비슷하지만, 코어 간 지연시간은 Intra-CCD 약 45ns, Inter-CCD 약 150ns, 소켓 간 약 260ns로 Genoa보다 높아짐
  • 9575F는 64코어가 단일 스레드에서 최대 5GHz에 도달하고 128스레드 Cinebench 2024에서 약 4.3GHz를 유지해, 고주파수·상대적 저코어 수 엔터프라이즈 SKU의 성격이 뚜렷함

EPYC 9575F로 본 Turin의 변화

  • Turin 분석은 AMD EPYC 9575F 실측 데이터를 중심으로 진행됨
    • StorageReview의 Jordan을 통해 해당 CPU를 테스트할 수 있었음
    • Zen 5 코어는 모바일, 데스크톱, 변형 비교에서 이미 다뤄졌기 때문에 이번 초점은 메모리 서브시스템에 맞춰짐
  • AMD의 Turin 출시 슬라이드는 Serve the Home에서 확인할 수 있으며, 여기서는 자체 측정 데이터가 더 큰 비중을 차지함

CCD 대역폭을 키운 GMI 구성

  • 1T 결과에서 EPYC 9575F의 단일 스레드 메모리 대역폭은 다음 수준임
    • 읽기: 약 52GB/s
    • 쓰기: 약 48GB/s
    • add, 즉 Read-Modify-Write: 약 95GB/s
  • 단일 코어도 CCD 전체 메모리 대역폭의 상당 부분을 사용할 수 있음
    • 읽기는 전체 CCD 읽기 대역폭의 절반에 조금 못 미침
    • 쓰기는 전체 CCD 쓰기 대역폭의 약 55%
    • add는 전체 CCD add 대역폭의 3분의 2 이상
  • 이 차이는 서버용 Turin의 GMI3-W 구성에서 나옴
    • EPYC 9575F는 I/O 다이와 연결되는 GMI 링크가 2개임
    • Ryzen 9950X는 단일 GMI 링크를 사용함
    • 서버용 GMI 쓰기 링크는 링크당 32B로, 데스크톱 Zen 5의 링크당 16B보다 큼

12채널 메모리와 전체 소켓 성능

  • Turin은 12채널 메모리를 지원하며 최대 DDR5-6400MT/s까지 가능함
    • DDR5-6400MT/s는 특정 검증 시스템에서만 지원됨
    • 해당 속도는 채널당 1개 DIMM 구성에서만 가능함
  • 테스트 시스템은 DDR5-6000MT/s로 동작함
    • 대부분의 시스템은 채널당 1개 DIMM 구성에서 DDR5-6000MT/s를 지원함
    • 채널당 2개 DIMM을 사용하면 메모리 속도는 4400MT/s로 낮아짐
    • DIMM 슬롯이 채널당 2개인 메인보드에서 채널당 1개 DIMM만 쓰면 5200MT/s를 예상할 수 있음
  • 전체 9575F 소켓의 읽기 대역폭은 이론상 576GB/s의 거의 99%에 도달함
    • 쓰기: 435GB/s
    • add: 453GB/s
  • AMD Volcano Platform에서는 2개 9575F 사이의 소켓 간 대역폭도 측정됨
    • 해당 플랫폼은 두 CPU 사이에 3개 GMI 링크만 갖고 있음
    • 결과는 Bergamo 테스트와 매우 비슷했으며, Bergamo 시스템도 같은 3개 GMI 링크 구성이었음

부하 지연시간과 코어 간 지연시간

  • Turin의 비부하 메모리 지연시간은 Genoa와 매우 비슷함
  • Hot Chips 2024에서 Ampere Computing이 AmpereOne 칩과 AMD Genoa CPU의 부하 상태 메모리 지연시간 그래프를 공개했고, 이를 참고해 유사한 부하 지연시간 테스트가 만들어짐
  • 테스트는 메모리 대역폭 벤치마크로 IOD-CCD 링크 또는 전체 메모리 시스템을 채운 뒤, 남은 코어 또는 CCD로 메모리 지연시간을 측정하는 방식임
    • 단일 CCD 테스트에서는 한 CCD의 7개 코어에서 메모리 대역폭 벤치마크를 실행하고 8번째 코어에서 지연시간을 측정함
    • 전체 시스템 테스트에서는 9575F의 7개 CCD에서 메모리 대역폭 벤치마크를 실행하고 8번째 CCD에서 지연시간을 측정함
  • 부하 상태에서 9575F의 메모리 지연시간 증가는 조건별로 비슷한 수준임
    • 단일 CCD 부하에서는 비부하 대비 약 39ns 증가함
    • 전체 시스템 부하에서는 비부하 대비 약 31ns 늘어남
  • 코어 간 지연시간은 Genoa보다 높아졌고, 특히 CCD 내부 증가가 두드러짐
    • Intra-CCD 지연시간: 약 45ns
    • Inter-CCD 지연시간: 약 150ns
    • Socket to Socket 지연시간: 약 260ns

클럭 속도와 제품 포지션

  • EPYC 9575F는 단일 스레드 테스트에서 64개 코어 모두 최대 5GHz에 도달할 수 있었음
  • 메모리 대역폭 테스트에서는 한 CCD의 8개 코어 모두를 5GHz로 실행할 수 있었음
  • Cinebench 2024에서 128개 스레드를 모두 사용했을 때는 약 4.3GHz 범위를 유지함
  • Level1Techs의 Wendell은 웹 서버/TLS 트랜잭션 워크로드에서 약 4.9GHz 올코어를 확인했으며, 해당 워크로드는 벡터화가 덜 된 작업임
  • Turin 라인업은 높은 코어 수와 높은 주파수 SKU를 함께 제공함
    • AMD는 9755, 9965 같은 높은 코어 수 SKU를 보유함
    • 9575F처럼 낮은 코어 수와 매우 높은 주파수를 갖춘 SKU도 제공함
    • 64코어가 ‘낮은 코어 수’로 취급되는 점 자체가 서버 CPU 시장의 변화를 보여줌
  • Turin은 Naples에서 Rome으로 넘어갈 때 같은 급격한 혁명보다는 Milan에서 Genoa로 넘어갈 때처럼 메모리 대역폭 증가, 코어 수 증가, 코어 업데이트가 결합된 진화에 가까움

댓글과 토론

Hacker News 의견들
  • AMD EPYC 9175F가 가장 특이함: 16코어에 L3 캐시 512MB라니, 코어당 라이선스 비용을 줄이려는 고객용으로 보임
    그게 아니라면 이렇게 비싼 칩에 코어를 이렇게 적게 넣는 건 별로 말이 안 됨. Oracle이 아직도 이런 라이선스 방식을 쓰는지 모르겠지만, 그렇다면 이제 그만해야 함
    HFT처럼 전체 알고리즘을 L3에 올려 절대적인 최저 지연시간을 노리는 용도도 가능하겠고, 칩렛마다 가장 좋은 코어만 쓰고 싶은 경우일 수도 있음. 그래도 아마 소프트웨어 라이선스 때문일 가능성이 큼

    • 이산 사건 시뮬레이션도 좋은 예시임. 스파이킹 신경망 같은 건 정확히 시뮬레이션하려면 pending spike queue를 통해 직렬화되므로 본질적으로 단일 스레드에 가까움
      모든 상태를 로컬 캐시에 유지하고 가장 빠른 코어를 골라 실행하는 구성이 최선임. 16개를 병렬로 돌릴 수 있으면 탐색 공간을 그만큼 줄일 수 있음
      이런 문제에서는 CCD 간 지연시간을 걱정할 필요가 거의 없음. 주기적으로 물리 코어 간 교차를 하는 유전 알고리즘 같은 걸 돌려도 코어 간 대역폭 요구는 작음
    • 단일 스레드 애플리케이션은 많고, 코드를 병렬화하도록 다시 쓰기 위해 프로그래머에게 수만 달러를 쓰는 것보다 초고속 CPU에 수천 달러 쓰는 편이 더 쌀 때가 많음
      말한 것처럼 소스나 권리가 없는 서드파티 코드라면 애초에 다시 쓰는 게 불가능한 경우도 많음
    • 캐시 512MB라니 놀라움. 몇 년 전 쓰던 Xeon의 캐시가 어릴 때 쓰던 시스템의 RAM만큼 크다는 걸 보고 신기했는데, 밀레니얼 세대라 Commodore 같은 고대 기계가 아니라 Quake도 돌리던 실제 PC였음
      그런데 512MB면 꽤 넉넉함. Puppy Linux를 통째로 L3 캐시에 올릴 수 있을지도 궁금함
    • MATLAB Parallel Server도 코어당 라이선스를 씀
      https://www.mathworks.com/products/matlab-parallel-server/li...
    • 많은 알고리즘은 메모리 대역폭에 제약을 받음. 16코어 워크스테이션에서도 16스레드보다 적을 때 최고 성능이 나오는 작업을 여러 번 돌려봄
      알고리즘을 여러 스레드 수로 테스트한 뒤 최적 스레드 수를 쓰는 건 흔한 방식임. 메모리 집약적인 알고리즘은 비교적 적은 코어 수에서 최고 성능이 자주 나옴
  • Phoronix가 최근 196코어 Turin DenseAmpereOne 192코어를 비교 리뷰했음
    Ampere 권장가는 5.5천 달러, EPYC는 1.5만 달러였고, Turin 196은 성능이 1.6배 더 좋았으며 Ampere는 전력 효율이 1.2배 더 좋았음
    Phoronix 리뷰 기준 실제 성능/달러로 보면 Ampere 192코어가 Turin Dense 196코어보다 1.7배 좋음. 5.5천 달러로 AmpereOne 192코어 CPU(274W)를 사거나 Turin Dense 48코어 CPU(300W)를 살 수 있는 셈임
    Ampere는 내년에 256코어, 3nm, 12채널 메모리 제품을 출시할 예정이라 원시 성능 면에서 Turin Dense와 Sierra Forest에 더 잘 맞설 가능성이 있음. 지금의 강점은 성능/달러
    Qualcomm의 Nuvia 기반 서버 칩 성능도 매우 궁금함. ARM 클라이언트 코어 개선이 단서가 된다면 AWS Graviton, Google Axion, Microsoft Cobalt, Nvidia Grace, Alibaba Yitian 같은 자체 칩들이 더 나은 Neoverse 코어와 어떻게 경쟁할지도 흥미로움. Nuvia 대 ARM 대 AmpereOne 구도임
    지금은 아마 서버 CPU의 황금기임. 7년 전만 해도 Intel Xeon뿐이었는데 이제 선택지가 많아짐

    • AMD도 성능/W에서 이기는데, X86은 ARM/RISC의 효율을 절대 따라갈 수 없다고 믿던 사람들에게 꽤 의미 있는 결과임
      요즘 많은 데이터센터는 가용 전력과 그에 따른 냉각이 더 큰 제약이 되기도 해서 Turin에는 좋은 신호임
    • 성능/달러 비교에서 가장 비싼 Turin 권장가 모델과 비교하고 있음. 그 모델은 성능/달러가 최고인 제품이 아니라, 집적도전력당 성능을 극대화하려는 사람들이 사는 모델이고 이 부분에서는 Ampere를 앞섬
      성능/달러만 본다면 Zen5c가 아니라 코어 수가 더 적은 Zen5 모델을 봐야 하고, 이쪽은 192코어 9965보다 성능/달러가 두 배임
      Ampere에 같은 방식이 잘 안 통하는 이유는 192코어 3.2GHz 모델이 이미 거의 최고 성능/달러에 가깝기 때문임
    • 차이는 EPYC CPU는 구할 수 있지만 Ampere CPU는 손에 넣기 어렵다는 데 있음
    • Ampere의 권장가는 대다수 시스템 벤더가 실제로 내는 가격에 꽤 가까움. 반면 대부분의 벤더는 EPYC나 Xeon을 권장가의 거의 50% 할인으로 살 수 있다고 보면 됨
    • 정말 흥미로운 시대이고, Intel의 추락은 매우 안타까움. 다만 많은 이들이 경고해왔듯 Intel은 이 상황을 예견했어야 했음
  • 정말 어마어마한 규모임. 20년 전만 해도 CPU당 코어가 1~2개라 듀얼 소켓 서버에서 4코어면 운이 좋은 편이었음
    이제 단일 서버가 거의 400코어를 가질 수 있음. 물론 ARM 코어를 쓰면 더 많을 수도 있지만, 적어도 지금은 이 정도 성능을 내지는 못함

    • 2개 칩에서 700개 넘는 스레드로 400GbE NIC 2개를 포화시키고, 칩당 500W라 스레드당 2W 미만임. 이 모든 게 2U 패키지에 들어감
      20년 전이면 랙 여러 개 분량의 장비였을 것임
    • 반대로 그 당시에는 20년의 발전이면 코어가 1000배 빨라질 것이라 기대했을 텐데, 실제로는 대략 5배에 가까움
    • 클러스터에서 돌리는 빅데이터 작업 중 어느 정도가 이제 Spark보다 duckdb를 쓰는 단일 대형 머신에서 훨씬 빠를지 궁금함
    • 요즘은 대부분의 서비스가 단일 서버에 들어가고도 하루 수백만 사용자를 처리할 수 있음
      월 1000달러 미만으로 강력한 전용 서버를 빌려 수만 달러를 아낄 수 있다면, 지나치게 비싼 클라우드 서비스에 어떤 영향을 줄지 궁금함. 그 돈이면 전임 관리자도 고용하고 남을 수 있음
    • 맞음. 최초의 듀얼코어 서버 칩은 2005년쯤 90nm Denmark/Italy/Egypt Opteron과 Paxville Xeon으로 나왔고, Intel 쪽은 2007년이 되어서야 본격화됐던 것으로 앎
  • Hetzner에 AMD Turin 베어메탈 서버가 올라오면 배포해보고 싶음. 이전 세대도 가성비가 좋았는데 이번 세대는 한 단계 더 좋아 보임

  • 12년 된 Dell PowerEdge에 듀얼 Xeon을 아직 돌리고 있음. 1세대 EPYC 서버가 언제쯤 eBay에서 싸구려 매물로 풀릴지 궁금함

    • 1~3세대 EPYC는 매우 싸게 구할 수 있지만 메인보드가 비쌈
      PCIe 레인과 RAM 용량이 주 목적이 아니라면 3세대 미만은 별로 권하지 않음. 현재 세대 일반 소비자용 CPU가 코어 수는 절반이나 1/4이어도 연산 성능은 더 좋고 전력도 훨씬 적게 먹음
    • 개인적으로 1세대 EPYC는 2세대가 있고 더 널리 쓰이며 충분히 싸기 때문에 별로 좋지 않음. 실제로 홈랩에서 epyc 7302와 MZ31-AR0 메인보드를 쓰고 있음
      코어당 성능이 너무 낮고 NUMA 관련 문제가 있으며, 공정도 더 나쁨. 2세대 연산 다이는 TSMC 7nm임
    • EPYC 칩은 잘 모르겠지만, Ryzen 5 시리즈 장비는 그 주 Amazon에서 거의 공짜처럼 풀렸음
      9 5950X를 242파운드에 샀음
    • 별로 가치 없음. eBay에서 9654를 2000달러에 사고 메인보드에 1000달러를 쓰면 됨. 전체 시스템은 7000달러 정도임
      아니면 Epyc 7282 같은 조합도 쉽게 구할 수 있고 괜찮음
    • 이미 그렇게 됐고, 성능은 그다지 좋지 않음
  • ChipsAndCheese는 새 기술 매체 중에서도 정말 내용을 아는 몇 안 되는 곳임. 특히 이런 심층 벤치마크에서 강함
    Anandtech, TechReport, HardOCP 같은 오래된 기술 사이트들이 사라진 상황에서, 예전 스타일의 깊이 있는 글을 따라갈 수 있는 새 매체가 있어 반가움

    • 흥미롭게도 Slashdot은 원래 Chips & Dips라는 사이트에서 시작했음. 비슷한 영감일지도 궁금함
    • HardOCP를 말하려던 것 같음
    • Chips and Cheese는 사라진 LostCircuits를 가장 떠올리게 함. 대부분의 기술 사이트는 애플리케이션 벤치마크 목록에 집중하지만, C&C는 LC가 그랬듯 아키텍처에 대한 긴 글과 하위 시스템 마이크로벤치마크를 결합함
  • Substack으로 바뀐 게 싫은 사람에게는 https://old.chipsandcheese.com/2024/10/11/amds-turin-5th-gen...가 있음
    적어도 지금은 가능함

  • 코어가 16개뿐인데 L3 캐시 512MB인 부품은 특정 워크로드용임이 분명함

    • Oracle은 EE와 옵션을 코어당 4만~10만 달러 이상, 거기에 0.5를 곱하는 방식으로 과금할 수 있고, 어떤 워크로드는 캐시에 매우 민감함
      그래서 고캐시, 고대역폭, 고클럭, 대용량 메모리를 갖춘 16코어 CPU[1]를 2소켓으로 쓰는 구성이 100만 달러가 넘는 라이선스 비용 대비 가장 효율적일 수 있음
      [1] https://www.amd.com/en/products/processors/server/epyc/9005-...
    • 이 부품의 토폴로지가 정말 특이함. 물리적으로는 128코어 부품과 같은 실리콘인데, 각 연산 칩렛에서 코어 하나만 남기고 모두 비활성화한 형태임
      캐시를 최대한 많이 남기려고 112개 코어를 꺼서 16개 코어만 남긴 셈임
      다만 항상 상대적으로 느린 칩렛 간 버스를 타게 되므로 코어 간 지연시간은 좋지 않을 것임
    • 최신 AMD 칩이 L3 캐시를 매핑해서 캐시가 아니라 TCM처럼 쓸 수 있는지 궁금함
      예전 비-X86 프로세서들은 이를 지원했고, 메모리 컨트롤러를 초기화할 수 있도록 그 모드로 부팅하는 경우도 많았음. 오늘날에도 가능하다면 DRAM 없는 대형 시스템 같은 흥미로운 임베디드 용도가 생길 수 있음
  • “접근한 시스템은 메모리를 6000MT/s로 구동했고, DDR5-6000 MT/s는 대부분의 시스템이 채널당 DIMM 1개 구성에서 지원한다. 채널당 DIMM 2개를 쓰면 메모리 속도는 4400 MT/s로 내려가고, 채널당 DIMM 2개짜리 메인보드에서 채널당 DIMM 1개를 쓰면 5200 MT/s를 예상하라”는 부분이 있는데, 이 속도들이 모두 ECC 메모리 기준인지 궁금함

    • 맞음. 서버는 ECC RAM만 사용함