콘텐츠로 건너뛰기

AMD Ryzen Threadripper 1950X 게임 모드, 벤치마킹

    1645560003

    Ryzen의 Infinity Fabric 및 메모리 하위 시스템 테스트

    인피니티 패브릭 레이턴시 및 대역폭

    256비트 Infinity Fabric 크로스바는 Zeppelin 다이 내부의 리소스를 함께 묶습니다. 그러나 Threadripper를 만들기 위해 두 번째 Zeppelin 다이를 고정하면 패브릭의 또 다른 레이어가 도입됩니다. 캐시 액세스는 각 CCX에 대해 로컬로 유지되지만 많은 양의 메모리, I/O 및 스레드 간 트래픽은 여전히 ​​두 번째 계층을 통해 흐릅니다.

    열광자들이 AMD의 Infinity Fabric이 메모리 컨트롤러와 동일한 주파수 도메인에 연결되어 있다는 사실을 깨닫는 데 오랜 시간이 걸리지 않았으므로 메모리 오버클럭은 지연 시간을 줄이고 크로스바를 통해 대역폭을 증가시킵니다. 결과적으로 지연 시간에 민감한 애플리케이션(예: 게임)의 성능이 향상됩니다.

    SiSoftware Sandra의 프로세서 다중 코어 효율성 테스트는 Infinity Fabric의 성능을 설명하는 데 도움이 됩니다. 우리는 “최상의 쌍 일치” 설정(최저 대기 시간)과 함께 다중 스레드 메트릭을 사용합니다. 이 유틸리티는 가능한 모든 구성에서 패브릭 대기 시간을 수량화하기 위해 스레드 간의 핑 시간을 측정합니다.

    코어 내 대기 시간 측정은 동일한 물리적 코어에 상주하는 두 논리적 스레드 간의 통신을 나타내며 SMT를 비활성화하면 해당 측정이 완전히 제거됩니다. 나머지 설정의 경우 조정을 통해 대기 시간이 몇 나노초 감소합니다. 그러나 이것은 더 높은 클럭 속도에 기인합니다. 과거에 보았듯이 메모리 주파수 증가는 코어 내 대기 시간에 거의 영향을 미치지 않습니다.

    CCX 내부 측정은 동일한 코어에 상주하지 않는 동일한 CCX의 스레드 간의 대기 시간을 수량화합니다. 클록 속도를 높이면 ~6ns의 대기 시간 감소가 더 커집니다.

    Cross-CCX는 두 개의 개별 CCX에 있는 스레드 간의 대기 시간을 수량화하며 오버클러킹 덕분에 비슷한 감소를 볼 수 있습니다. 특히 Ryzen 7 1800X는 기본 Threadripper 및 대부분의 오버클럭된 구성보다 훨씬 낮은 Cross-CCX 대기 시간을 특징으로 합니다. 이것은 Threadripper의 추가 패브릭 레이어에 대한 일정 형식의 프로비저닝(스케줄링 알고리즘) 때문일 수 있습니다.

    보시다시피, 다른 다이에 대한 활성 패브릭 링크가 없는 게임 모드에서 오버클럭된 Threadripper CPU는 Cross-CCX 대기 시간이 가장 낮습니다.

    Die-To-Die는 두 개의 개별 Zeppelin 다이 간의 통신을 측정합니다. 게임 모드는 운영 체제 수준에서 두 번째 Zeppelin 다이를 효과적으로 비활성화하여 다이 간 대기 시간을 완전히 제거합니다. 두 번째 다이의 언코어는 여전히 활성 상태이며, 이는 I/O 및 메모리 컨트롤러에 계속 액세스할 수 있도록 하는 데 필요합니다.

    Creator 모드는 최악의 다이 투 다이 레이턴시를 겪지만 튜닝은 이를 상당히 줄입니다. 두 가지 SMT 옵션(켜기 및 끄기)도 오버클러킹 노력으로 크게 감소합니다.

    유틸리티는 패브릭 대역폭도 측정하는데, 이는 원격 메모리에서 가져온 데이터도 패브릭을 가로질러 흐르기 때문에 성능에 매우 중요합니다. 따라서 AMD는 분산 메모리 아키텍처를 최적화하기 위해 패브릭 및 메모리 하위 시스템을 과도하게 프로비저닝합니다.

    Creator 모드와 Local/SMT 구성 모두 최고의 패브릭 대역폭을 제공하여 오버클러킹을 통해 크게 향상됩니다. Ryzen 7 1800X는 Threadripper의 게임 모드와 함께 차트 중간에 위치하며 둘 다 효과적인 8C/16T 프로세서라는 점을 고려하면 논리적입니다. SMT를 비활성화하지만 두 다이를 모두 활성 상태로 두면(로컬/SMT 꺼짐) 더 큰 액세스에서는 더 높은 성능을 제공하고 더 작은 액세스에서는 더 낮은 성능을 제공하는 고유한 프로필이 생성됩니다.

    캐시 및 메모리 지연

    우리는 기본 설정에서 DDR4-2666 메모리로 테스트했으며 오버클럭된 구성을 위해 DDR4-3200으로 늘렸습니다.

    Translation Look Aside Buffer는 최근에 액세스한 메모리 주소를 저장하여 액세스 시간을 줄이는 캐시입니다. 모든 캐시와 마찬가지로 TLB는 용량이 제한되어 있으므로 TLB에 도착하는 주소 요청은 “적중”이고 캐시 외부에 도착하는 요청은 “실패”입니다. 물론 적중률이 더 바람직하며 견고한 프리페처 성능은 적중률을 높입니다.

    순차 액세스 패턴은 거의 완전히 TLB로 프리페치되므로 순차 테스트는 프리페처 성능을 측정하는 좋은 방법입니다. 인페이지 랜덤 테스트는 동일한 메모리 페이지 내에서 랜덤 액세스를 측정합니다. 또한 TLB 성능을 측정하고 최상의 무작위 성능을 나타냅니다(공식 사양 시트에 대해 측정 벤더가 사용함). 전체 무작위 테스트는 TLB 적중과 미스가 혼합되어 있고 미스 가능성이 높기 때문에 최악의 대기 시간을 정량화합니다.

    메모리 액세스 패턴에 관계없이 가장 작은 데이터 청크는 L1 캐시에 맞습니다. 그리고 데이터 크기가 증가함에 따라 더 큰 캐시를 채웁니다.

    L1L2L3메인 메모리

    범위
    2KB – 32KB
    32KB – 512KB
    512KB – 8MB
    8MB – 1GB

    Threadripper 1950X는 모든 유형의 액세스 패턴에서 Ryzen 7 1800X보다 더 나은 L2 및 L3 대기 시간을 제공합니다. 또한 Threadripper의 L1, L2 및 L3 캐시에 대한 오버클러킹을 통해 눈에 띄는 지연 시간 감소를 발견했습니다.

    워크로드가 메인 메모리로 흘러감에 따라 변경됩니다. Threadripper의 Creator 모드(기본 설정)는 모든 액세스 패턴에서 가장 높은 대기 시간을 갖습니다. 이것은 원격 메모리에 상륙하는 메모리 액세스의 직접적인 결과입니다. 페이지 내 측정은 AMD의 86.9ns 사양을 반영하지만 최악의 경우 전체 랜덤 액세스는 120ns를 초과합니다. 프로세서와 메모리를 오버클럭하면 대기 시간이 줄어들지만 생성자 모드는 여전히 우리가 비교하는 구성을 따라잡지 못합니다. 

    로컬 설정을 사용하여 NUMA 모드로 전환하면 다른 구성에 대한 주 메모리 액세스가 크게 향상됩니다. 우리는 다시 AMD의 사양에 따라 페이지 내 메모리 액세스에 대해 ~60ns를 측정하지만 최악의 대기 시간은 100ns입니다.

    캐시 대역폭

    각 CCX에는 자체 캐시가 있으므로 Threadripper CPU에는 L1, L2 및 L3 메모리의 4가지 개별 클러스터가 있습니다. 대역폭 벤치마크는 이러한 계층의 총 성능을 보여줍니다. 

    단일 스레드 테스트에서 Ryzen 7 1800X는 Threadripper 프로세서보다 낮은 처리량을 보여줍니다. 다른 구성은 친숙한 주식 및 오버클럭 그룹으로 함께 뭉칩니다.

    다중 스레드 테스트가 더 흥미롭습니다. Ryzen 7 1800X와 두 개의 Threadripper 게임 모드가 차트 하단에 있는 것을 볼 수 있습니다. 게임 모드는 하나의 다이에서 코어를 비활성화하기 때문에 해당 캐시를 효율적으로 사용 중지합니다.

    0 0 votes
    Rating post
    Subscribe
    Notify of
    guest
    0 comments
    Inline Feedbacks
    View all comments
    0
    Would love your thoughts, please comment.x
    ()
    x