Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Enjoy members-only rewards and discounts
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

AMD Rome – 실제입니까? 아키텍처와 초기 HPC 성능(영문)

Summary: 현재 HPC에서는 AMD의 최신 세대 EPYC 프로세서 코드-명명 된 로마를 소개 합니다.

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Garima Kochhar, Deepthi Cherlopalle, Joshua Weage. HPC 및 AI 혁신 실습, 2019 년 10 월

Cause

 

Resolution


현재 HPC 환경에서는 AMD의 최신 세대 Epyc 프로세서SLN319015_en_US__1iC_External_Link_BD_v1 코드에 대 한 소개 가 필요 하지 않습니다. HPC에서 로마 기반 시스템 을 평가 하 고 최근 몇 개월 동안이 프로세서 아키텍처를 지 원하는 최근에 발표SLN319015_en_US__1iC_External_Link_BD_v1서버 를 Dell Technologies. 로마 시리즈의 첫 번째 블로그에서는 로마 프로세서 아키텍처에 대해 설명 하 고,이를 HPC 성능에 맞게 조정 하 고 초기 마이크로 벤치 마크 성능을 제공 합니다. 후속 블로그에서는 CFD, CAE, molecular dynamics, 날씨 시뮬레이션 및 기타 응용 프로그램의 도메인 전반에 걸친 애플리케이션 성능을 설명 합니다.


 

아키텍처

 

로마는 AMD의 2 세대 EPYC CPU로 서 1 세대 Naples을 새로 고칩니다. 이 블로그에서 마지막 해 Naples에 대해 설명 했습니다.

HPC 이점을 얻을 수 있는 Naples와 로마 간의 가장 큰 아키텍처 차이점 중 하나는 로마에서의 새로운 입출력입니다. 로마에서 각 프로세서는 그림 1과 같이 최대 9 chiplets 로 구성 된 다중 칩 패키지입니다. 모든 입출력 및 메모리 기능을 포함 하는 중앙 14nm IO 주사위 1 개가 있습니다. 여기에는 메모리 컨트롤러, 소켓 내의 무한대 연결 및 소켓 간 접속 및 PCI-e가 포함 됩니다. 3200 MT/s에서 DDR4를 실행 하는 8 개의 메모리 채널을 지 원하는 소켓 당 8 개의 메모리 컨트롤러가 있습니다. 단일 소켓 서버는 최대 130 PCIe Gen4 레인을 지원할 수 있습니다. 이중 소켓 시스템은 최대 160 PCIe Gen4 레인을 지원할 수 있습니다.

SLN319015_en_US__3Fig1-로마 (2 개)

(그림. 1 개의 중앙 IO 주사위와 최대 8 개의 코어를 포함 하는 1 개의 로마 멀티 칩 패키지)

중앙 IO 주사위는 최대 8 개의 7nm 코어 chiplets. Core chiplet는 Core Cache 주사위 또는 CCD 라고 합니다. 각 CCD에는 Zen2 마이크로 아키텍처, L2 캐시 및 32MB L3 캐시를 기반으로 한 CPU 코어가 있습니다. Ccd 자체에는 2 개의 ccx (Core Cache Complexes)가있으며, SLN319015_en_US__1iC_External_Link_BD_v1 각 ccx에는 최대 4 개의 코어 및 16Mb 캐시의 L3 캐시가 있습니다. 그림. 2에는 CCX가 나와 있습니다.

SLN319015_en_US__5Fig2-로마 (2 개)

(그림. 4 개의 코어 및 공유 된 16mb L3 캐시를 포함 하는 2 개의 CCX)

서로 다른 로마 CPU 모델 에는 SLN319015_en_US__1iC_External_Link_BD_v1여러 코어 수가 SLN319015_en_US__1iC_External_Link_BD_v1 있지만 모두에는 하나의 중앙 IO가 있습니다.

상단 끝에는 64 코어 CPU 모델 (예: EPYC 7702)이 있습니다. lstopo 출력은 소켓 당 16 개의 CCXs가 있고, 각 CCX에는 4 개의 코어가 있으며,이는 그림에 표시 된 것과 같습니다 &. 따라서 소켓 당 64 코어를 생성 합니다. CCX 당 16MB l3, 즉, CCD 당 32MB l3은이 프로세서에 총 256MB L3 캐시를 제공 합니다. 하지만, 로마의 총 L3 캐시는 모든 코어가 공유 하지 않습니다. 각 CCX의 16MB L3 캐시는 독립적 이며 그림 1에 표시 된 것 처럼 CCX의 core를 통해서만 공유 됩니다.

EPYC 7402과 같은 24 코어 CPU에는 128MB L3 캐시가 있습니다. 그림에서 lstopo 출력. 3 & 4에서는이 모델에 CCX 당 3 개의 코어와 소켓 당 8kb가 포함 되어 있다는 것을 보여 줍니다.

SLN319015_en_US__8Fig31-로마 (2 개)

SLN319015_en_US__9Fig32-로마 (2 개)

(그림 3 & 64 코어 및 24 코어 cpu에 대 한 4 lstopo 출력 출력)

CCDs 수에 관계 없이 각 로마 프로세서는 사분면 전체에 균등 하 게 분산 된 CCDs와 함께 논리적으로 4 개의 사분면 으로 구분 되어 있으며, 각 사분면에서 2 개의 메모리 채널을 사용할 수 있습니다. 중앙 IO 주사위는 소켓의 4 개 사분면을 논리적으로 지 원하는 것으로 간주 될 수 있습니다.


맨 위로 이동

 

 

로마 아키텍처 기반 BIOS 옵션

 

로마에 있는 중앙 입출력을 사용 하면 Naples 측정 되는 메모리 지연 시간이 단축 됩니다 SLN319015_en_US__1iC_External_Link_BD_v1 . 또한 CPU를 단일 NUMA 도메인으로 구성 하 여 소켓의 모든 코어에 대해 균일 한 메모리 액세스를 설정할 수 있습니다. 이에 대 한 설명은 아래에 나와 있습니다.

로마 프로세서에서 4 개의 논리 사분원을 사용 하면 CPU를 서로 다른 NUMA 도메인으로 분할할 수 있습니다. 이 설정을 소켓 당 NUMA 또는 NPS라고 합니다.

  • NPS1은 로마 CPU가 소켓의 모든 코어와이 단일 NUMA 도메인에 있는 모든 메모리를 포함 하는 단일 NUMA 도메인 임을 의미 합니다. 메모리는 8 개의 메모리 채널을 통해 인터리브 됩니다. 소켓의 모든 PCIe 디바이스가이 단일 NUMA 도메인에 속합니다.
  • NPS2는 두 개의 NUMA 도메인으로 CPU를 분할 하 고, 각 NUMA 도메인의 소켓에 절반의 코어와 메모리 채널의 절반을 포함 합니다. 메모리가 각 NUMA 도메인의 4 개 메모리 채널에서 인터리브 됨
  • NPS4는 CPU를 4 개의 NUMA 도메인으로 분할 합니다. 각 사분면은 여기에 있는 NUMA 도메인 이며, 메모리는 각 사분면의 2 개 메모리 채널을 통해 인터리브 됩니다. PCIe 디바이스는 해당 디바이스에 대 한 PCIe 루트가 있는 IO 상주 구성 요소에 따라 소켓에서 4 개의 NUMA 도메인 중 하나에 로컬로 로컬 됩니다.
  • 일부 Cpu에서 모든 NPS 설정을 지원할 수 있는 것은 아닙니다.

사용할 수 있는 경우, NPS4는 최상의 메모리 대역폭을 제공 하 고, 가장 낮은 메모리 지연 시간이 필요 하기 때문에 응용 프로그램에서 NUMA를 인식 하는 경향이 있기 때문에 HPC 하는 것이 좋습니다. NPS4를 사용할 수 없는 경우 CPU 모델-NPS2 또는 NPS1에서 지원 되는 가장 높은 NPS를 사용 하는 것이 좋습니다.

로마 기반 플랫폼에서 사용할 수 있는 여러 가지 NUMA 옵션이 있을 경우 PowerEdge BIOS를 사용 하 여 MADT 열거형에서 두 가지 core 열거 방법을 사용할 수 있습니다. 선형 열거형은 코어 번호를 순서 대로 입력 하 고, 다음 소켓으로 이동 하기 전에 CCX, CCD, 소켓 1 개를 채웁니다. 32c CPU에서 2 ~ 31은 첫 번째 소켓, 두 번째 소켓의 코어 32-63에 해당 합니다. 라운드 로빈 열거는 NUMA 지역에서 코어 번호를 계산 합니다. 이 경우에도 번호가 매겨진 코어는 두 번째 소켓의 홀수 번호의 첫 번째 소켓에 있습니다. 편의상 HPC에 대 한 선형 열거를 권장 합니다. NPS4에 구성 된 이중 소켓 64c 서버에 대 한 선형 코어 열거의 예는 Figure. 5를 참조 하십시오. 이 그림에서 4 개 코어의 각 박스는 CCX이 고, 각 인접 8 코어의 집합은 CCD입니다.

SLN319015_en_US__11Fig4-로마 (2 개)

(그림: 이중 소켓 시스템에서5 개의 선형 코어 열거, 소켓 당 64c, 8 CCD CPU 모델의 NPS4 구성)

다른 로마 관련 BIOS 옵션을 기본 입출력 디바이스라고 합니다. 이는 InfiniBand 대역폭과 메시지 속도를 위한 중요 한 튜닝 조절기입니다. 이를 통해 플랫폼은 하나의 입출력 디바이스에 대 한 트래픽의 우선 순위를 지정할 수 있습니다. 이 옵션은 단일 소켓 및 2-소켓 로마 플랫폼에서 사용할 수 있으며 플랫폼의 InfiniBand 디바이스를 BIOS 메뉴에서 기본 디바이스로 선택 하 여 모든 CPU 코어가 활성 상태인 경우 전체 메시지 속도를 확보 해야 합니다.

Naples와 마찬가지로, 로마도 하이퍼 스레딩 또는 논리 프로세서를 지원 합니다. HPC의 경우이 비활성화 된 상태로 유지 되지만 일부 응용 프로그램의 경우 논리 프로세서를 활성화 하 여 이점을 얻을 수 있습니다. Molecular dynamics 애플리케이션 연구에서 후속 블로그를 찾습니다.

Naples와 마찬가지로, 로마도 CCX를 NUMA 도메인으로사용할 수 있습니다. 이 옵션은 각 CCX를 NUMA 노드로 노출 합니다. CPU 당 16 개의 CCXs가 포함 된 이중 소켓 Cpu를 사용 하는 시스템에서이 설정은 32 NUMA 도메인을 노출 합니다. 이 예에서 각 소켓에는 8 개의 CCDs, 즉 16ccx가 있습니다. 각 CCX는 자체 NUMA 도메인으로 활성화 되어 2-소켓 시스템에서 소켓 및 32 당 최대 16 개의 NUMA 노드를 제공할 수 있습니다. HPC의 경우, 기본 옵션인 disabled (비활성화)에서 CCX를 NUMA 도메인으로 두는 것이 좋습니다. 이 옵션을 활성화 하면 가상화 환경에 유용 하 게 활용할 수 있습니다.

Naples와 마찬가지로, 로마는 성능 명확성 또는 전력 확정 모드에서 시스템을 설정할 수 있도록 합니다. 성능 명확성 향상을 위해 시스템은 CPU 모델에 대해 예상 되는 빈도에 따라 여러 서버에 걸친 가변성을 줄입니다. 전원 명확성을 위해 시스템은 CPU 모델의 사용 가능한 최대 TDP에서 작동 합니다. 이 amplifies는 제조 프로세스의 부품 변동에 포함 되어 일부 서버는 다른 서버 보다 빠를 수 있습니다. 모든 서버는 CPU의 최대 전력 소비량을 사용 하 여 전력 소비를 결정적으로 만들 수 있지만 여러 서버에 걸쳐 일부 성능 변화를 허용할 수 있습니다.

PowerEdge 플랫폼에서 기대 하는 대로 BIOS에는 시스템 프로필이라는 메타 옵션이 있습니다. 성능 최적화 시스템 프로필을 선택 하면 터보 부스트 모드를 활성화 하 고, C-상태를 비활성화 하 고, 최적 슬라이더를 설정 하 여 성능을 최적화 합니다.


맨 위로 이동

 

 

성능 결과-스트림, HPL, InfiniBand 마이크로 벤치 마크

 

독자 들 중 상당수가이 섹션으로 바로 이동할 수 있기 때문에,에서 알아보겠습니다.

HPC 및 AI 혁신 실습에서는 64 서버 로마 기반 클러스터를 구축 했습니다. 여기서는 Minerva를 호출 하 고 있습니다. 동종의 Minerva 클러스터 외에도 평가할 수 있었던 몇 가지 다른 로마 CPU 샘플이 있습니다. 우리의 testbed은 표 1과 표 2에 설명 되어 있습니다.

(표. 이 연구에서 계산한 1 개의 로마 CPU 모델)

CPU 소켓 당 코어 수 Config 기본 클록 TDP
7702 64c CCX 당 4c 2.0 g h z 200W
7502 32c CCX 당 4c 2.5GHz 180W
7452 32c CCX 당 4c 2.35 g h z 155W
7402 24c CCX 당 3c 2.8GHz 180W

(Testbed2 개)

구성 요소 세부 정보
서버 PowerEdge C6525
프로세서 표를 참조 하십시오. 1 개의 듀얼 소켓
Memory 256 GB, 16x16GB 3200 MT/s DDR4
상호 연결 Connectx-3-6 Mellanox Infini 대역 HDR100
운영 체제 Red Hat Enterprise Linux 7.6
커널 3.10.0.957.27.2.e17.x86_64
디스크 240 GB SATA SSD M. 2 모듈


맨 위로 이동

 

 

스트리밍합니다

 

그림. 6에서는이 테스트를 NPS4 모드로 실행 하 여 로마에 대 한 메모리 대역폭 테스트를 제공 합니다. Dell 듀얼 소켓 PowerEdge C6525에서 270-300 GB/s 메모리 대역폭을 측정 합니다. 1은 표에 나와 있는 4 개의 CPU 모델에 걸쳐 서버에 있는 모든 코어를 사용 하는 경우에만 가능 합니다. 1. CCX 당 코어를 하나만 사용 하는 경우, 시스템 메모리 대역폭은 모든 코어가 측정 된 것 보다 ~ 9-17% 더 높습니다.

대부분의 HPC 워크 로드는 시스템의 모든 코어를 완벽 하 게 구독 하거나, HPC center는 각 서버에서 여러 작업을 수행 하는 높은 처리량 모드로 실행 됩니다. 따라서 모든 코어 메모리 대역폭은 시스템의 코어 당 메모리 대역폭과 메모리 대역폭을 보다 정확 하 게 나타냅니다.

그림. 6은 소켓 당 8 개의 메모리 채널만 지원 하지만 2667 MT/s에서 실행 되는 이전 세대 EPYC Naples 플랫폼에서 측정 된 메모리 대역폭을 플롯 합니다. 로마 플랫폼은 Naples 보다 5% ~ 19%의 총 메모리 대역폭을 제공 하며,이는 3200 MT/s 보다 빠른 속도로 발생 합니다. 소켓 당 64c를 사용 하는 경우에도 로마 시스템은 2GB/s/코어를 최대 2 개까지 제공할 수 있습니다.

SLN319015_en_US__12icon 참고: 5-10% 성능 변동 (STREAM Triad results)이 동일 하 게 구성 된 여러 개의 로마 기반 서버에서 측정 되었습니다. 따라서 아래 결과는 범위의 최고 끝으로 간주 해야 합니다.
 

다른 NPS 구성과 비교 하는 경우 (예를 들어, 그림 1에 나와 있는 것과 같이 NPS4) NPS1와 비교 하 여 더 높은 메모리 대역폭을 비교 합니다.

SLN319015_en_US__13Fig5-로마 (2 개)

(그림. 6 개의 듀얼 소켓 NPS4 스트림 Triad 메모리 대역폭)

SLN319015_en_US__14Fig6-로마 (2 개)

(그림. 7 NPS1 vs NPS2 vs NPS 4 메모리 대역폭)


맨 위로 이동

 

 

InfiniBand 대역폭과 메시지 속도

 

그림. 8은 단일 방향 및 양방향 테스트를 위한 단일 코어 InfiniBand 대역폭을 그립니다. 100 Gbps에서 실행 되는 testbed used HDR100이 고 그래프는 이러한 테스트에 대 한 예상 라인 속도 성능을 보여 줍니다.

SLN319015_en_US__15fig6-IBBW (2)

그림. 8 개의 InfiniBand 대역폭 (단일 코어))

SLN319015_en_US__16fig7-MR (2)

그림. 9 InfiniBand 메시지 속도 (모든 코어)

테스트 중인 두 서버에 있는 소켓의 모든 코어를 사용 하 여 다음에 메시지 속도 테스트를 수행 했습니다. BIOS에서 선호 하는 입출력을 사용 하 고 있고 Connectx-3-6 HDR100 어댑터가 기본 설정 디바이스로 구성 된 경우, 그림 1에 나와 있는 것 처럼 기본 IO가 활성화 되어 있지 않은 경우 보다 모든 코어 메시지 전송률이 훨씬 높습니다. 이는 HPC을 튜닝 하는 경우 특히 다중 노드 애플리케이션 확장성을 위해이 BIOS 옵션의 중요성을 보여 줍니다.


맨 위로 이동

 

 

HPL

 

로마 마이크로 아키텍처는 8 FLOPS/cycle을 Naples 하는 16 DP/사이클을 사용 중지할 수 있습니다. 이를 통해 로마 4x는 Naples를 통해 이론적인 최고 FLOPS, 향상 된 부동 소수점 기능, 2 배에서 코어 수 (64c vs 32c)까지 확장 됩니다. 그림. 10은 Naples 기반 시스템의 이전 결과와 함께 테스트 한 4 개의 로마 CPU 모델에 대해 측정 된 HPL 결과를 보여 줄 것입니다. 로마 HPL 효율성은 그래프에 표시 되는 막대 위의 백분율 값으로 명시 되며, 더 높은 TDP CPU 모델의 경우 더 높습니다.

테스트는 전원 명확성 모드에서 실행 되 고 성능에 대 한 5%의 델타는 64가 동일 하 게 구성 된 서버에서 측정 되었으며,이는 이러한 성능 밴드에 대 한 결과입니다.

SLN319015_en_US__17Fig9-로마 (2 개)

(그림. NPS4에서 10 개의 단일 서버 hpl)

다음 다중 노드 HPL 테스트가 실행 되었고 이러한 결과는 그림. 11에 나와 있습니다. EPYC 7452에 대 한 HPL 효율성은 64 노드 배율로 계속 90% 이상 이지만, 102%에서 97%까지 효율성을 유지 하 고, 최대 99%까지 더 높은 평가를 수행 해야 합니다.

SLN319015_en_US__18Fig10-로마 (2 개)

(그림. 11 개의 다중 노드 hpl, 이중 소켓 epyc 7452 Over HDR100 InfiniBand)


맨 위로 이동

 

 

Summary 및 다음 단계

 

로마 기반 서버의 초기 성능 연구에서는 첫 번째 HPC 벤치 마크에 예상 되는 성능이 표시 됩니다. 최상의 성능을 위해 구성 하는 경우 BIOS 튜닝이 중요 하 고, BIOS HPC 작업 부하 프로 파일을 사용 하 여 공장에서 구성 하거나 Dell EMC 시스템 관리 유틸리티를 사용 하 여 설정할 수 있습니다.

HPC 및 AI 혁신 실습 에는 클러스터 minervaPowerEdge 64 서버 로마 새로운 기능이 포함 되어 있습니다. 새로운 Minerva 클러스터에 대 한 애플리케이션 성능 검토를 설명 하는 이후 블로그가이 공간을 확인 하십시오.


맨 위로 이동

 

Article Properties


Last Published Date

06 May 2021

Version

5

Article Type

Solution