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.

인텔 Cascade Lake 프로세서를 사용한 HPC의 BIOS 특성 분석(영문)

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

2019년 4월 HPC 및 AI Innovation Lab의 Varun Bawa, Savitha Pareek 및 Ashish K Singh이 작성한 문서

Resolution

Dell EMC는 2세대 인텔 제온® 프로세서 스케일러블 제품군 프로세서(아키텍처 코드명 "Cascade Lake")의 출시를 통해 더 많은 코어 수와 더 빠른 메모리 속도의 이점을 누리면서 HPC 애플리케이션에 도움이 되도록 PowerEdge 14세대 서버를 업데이트했습니다.

이 블로그에서는 첫 번째 결과를 소개하고 일부 HPC 벤치마크 및 애플리케이션에서 최신 인텔 제온® Cascade Lake 프로세서가 장착된 Dell EMC PowerEdge C6420에서 사용할 수 있는 다양한 BIOS 튜닝 옵션이 미치는 영향에 대해 논의합니다. 본 연구에 사용된 Cascade Lake 프로세서, BIOS 옵션 및 HPC 애플리케이션에 대한 간략한 설명이 아래에 나와 있다.

Cascade Lake 는 Skylake에 대한 Intel의 후속 제품입니다. Cascade Lake 프로세서는 최대 28개의 코어, 6개의 DDR4 메모리 채널을 최대 2933MT/s의 속도로 지원합니다. Skylake와 마찬가지로 Cascade Lake는 32 DP FLOP/사이클을 허용하는 AVX512 명령어 세트로 추가 벡터화 성능을 지원합니다. Cascade Lake는 이미지 분류, 음성 인식, 언어 번역, 객체 탐지 등과 같은 AI 및 DL 워크로드의 성능을 가속화하는 VNNI(Vector Neural Network Instructions)를 도입했습니다. VNNI는 추론 성능을 가속화하기 위해 8비트 명령도 지원합니다.

Cascade Lake에는 일부 사이드 채널 취약성에 대한 하드웨어 완화 기능이 포함되어 있습니다. 이를 통해 스토리지 워크로드의 성능이 향상될 것으로 예상됩니다. Innovation Lab의 향후 연구를 확인하십시오.

Skylake 및 Cascade Lake는 소켓 호환이 가능하므로 시스템 BIOS에 표시되는 프로세서 튜닝 노브는 이러한 프로세서 세대 전체에서 비슷합니다. 이 연구에서는 과거에 Skylake에 게시된 것과 유사한 다음과 같은 BIOS 튜닝 옵션을 살펴보았습니다.

프로세서 설정:

  • 인접 캐시 행 프리페치: 인접 캐시 라인 프리페치 메커니즘은 자동 하드웨어 프리페치를 허용하며 프로그래머의 개입 없이 작동합니다. 활성화하면 추가 캐시 라인의 요청 여부에 관계없이 두 개의 64바이트 캐시 라인을 128바이트 섹터에 수용할 수 있습니다.
  • 소프트웨어 프리페처: 이렇게 하면 데이터가 필요하기 전에 캐시에 데이터를 로드하여 지연을 방지할 수 있습니다. 예: L2 프리페치 명령어를 사용하는 것보다 훨씬 앞서 주 메모리에서 L2 캐시로 데이터를 프리페치한 다음 L1 프리페치 명령과 함께 사용하기 직전에 L2 캐시에서 L1 캐시로 데이터를 프리페치합니다. 여기서 활성화로 설정하면 프로세서가 모든 메모리 요청에 대해 추가 캐시 라인을 프리페치합니다.
  • SNC(하위 NUMA 클러스터): SNC를 활성화하는 것은 단일 소켓을 각각 물리적 코어의 절반과 소켓의 메모리의 절반을 갖는 두 개의 NUMA 도메인으로 분할하는 것과 유사합니다. 유틸리티가 인텔 제온 E5-2600 v3 및 v4 프로세서에서 사용할 수 있었던 다이 클러스터 옵션 과 유사하다는 것을 알 수 있습니다. SNC는 COD와 다르게 구현되며, 이러한 변경 사항은 클러스터 온 다이 옵션을 사용했던 이전 세대와 비교할 때 Cascade Lake의 원격 소켓 액세스를 향상시킵니다. 운영 체제 수준에서 SNC가 활성화된 듀얼 소켓 서버에는 4개의 NUMA 도메인이 표시됩니다. 도메인 중 두 개는 서로 더 가깝고(동일한 소켓에서) 다른 두 도메인은 UPI를 통해 원격 소켓까지 더 멀리 떨어져 있습니다. 이는 다음과 같은 OS 툴을 사용하여 확인할 수 있습니다. numactl –H 이며 그림 1에 설명되어 있습니다.
SLN316864_en_US__1image001(1)
그림 1: NUMA 노드 레이아웃

시스템 프로파일:

시스템 프로파일은 터보 모드, Cstate, C1E, Pstate 관리, Uncore 주파수 등과 같은 여러 성능 및 전원 관리에 중점을 둔 BIOS 옵션을 차례로 설정하는 메타 옵션입니다.  이 연구에서 비교한 다양한 시스템 프로파일은 다음과 같습니다.
  • 성능
  • PerformancePerWattDAPC
  • PerformancePerWattOS
두 개의 HPC 벤치마크와 두 개의 HPC 애플리케이션을 사용하여 이러한 BIOS 옵션이 Cascade Lake 성능에 미치는 영향을 파악했습니다. 표 1 및 표 2에 이 연구에 사용된 서버 및 HPC 애플리케이션의 구성이 설명되어 있다.
애플리케이션 Domain 버전 벤치 마크
HPL(High Performance Linpack) 계산 - 선형 방정식의 조밀한 시스템 해결 인텔 MKL - 2019 업데이트 1에서 문제 크기 총 메모리의 90%, 92% 및 94%
스트림 메모리 대역폭 5.4 깡패
Wrf 기상 연구 및 예측 3.9.1 코누스 2.5km
ANSYS® Fluent®  유체 역학 19.2 Ice_2m,
Combustor_12m,
Aircraft_wing_14m,
Exhaust_System_33m

표 1: 적용 사례 및 벤치마크

구성 요소 세부 정보
서버 PowerEdge 서버 C6420
프로세서 인텔® 제온® Gold 6230 CPU @ 2.1GHz, 20코어
메모리 192GB – 16GB 2933MT/s DDR4 12개
운영 체제 Red Hat Enterprise Linux 7.6Red Hat Enterprise Linux 7.6
커널 3.10.0-957.el7.x86_64
컴파일러 인텔 Parallel Studio 클러스터 Edition_2019_Update_1

표 2 서버 구성

여기에 표시된 모든 결과는 단일 서버 테스트를 기반으로 합니다. 클러스터 수준 성능은 단일 서버 성능의 제약을 받습니다. 성능 비교를 위해 다음과 같은 메트릭이 사용되었습니다.
  • 스트림 – 스트림 벤치마크에서 보고한 트라이어드 점수입니다.
  • HPL – GFLOP/초.
  • Fluent - Fluent에서 보고한 문제 해결 등급입니다.
  • WRF – Conus 2.5km에 대해 지난 719개 간격 동안 계산된 평균 시간 단계

벤치마크 및 애플리케이션 결과

그래프 표기법 약어:

시스템 프로파일:

Perf – 성능SLN316864_en_US__2a2 OS – PerformancePerWattOS SLN316864_en_US__3a3 DAPC – PerformancePerWattDAPCSLN316864_en_US__4a1
하위 NUMA 클러스터링: SNC = 0(SNC = 비활성화): SNC = 1(SNC = 활성화됨: 그래프에서 스트라이핑으로 서식 지정)
SW – 소프트웨어 프리페처: SW = 0(SW = 비활성화): SW = 1(SW = 활성화됨)

SLN316864_en_US__5image006
 그림 2: 고성능 Linpack

그림 2는 다양한 BIOS 옵션에서 HPL의 결과를 문제 크기 = 90%, 즉 N=144476과 비교합니다. 그래프는 서로 다른 BIOS 구성에서 HPL을 실행하는 동안 얻은 절대 기가플롭스를 보여줍니다. 이렇게 얻은 기가플롭은 y축에 표시되며, 높을수록 좋습니다.
다음은 그래프의 관찰 결과입니다.
  • 소프트웨어 프리페치로 인한 HPL 성능 차이가 1% 미만입니다.
  • SNC가 HPL 성능에 미치는 큰 영향 없음(SNC=비활성화 시 0.5% 향상).
  • 성능 시스템 프로파일은 OS 및 DAPC에 비해 최대 6% 더 우수합니다.
 SLN316864_en_US__6image008
그림 3: 스트림

그림 3은 서로 다른 BIOS 구성에서의 STREAM 결과를 비교한 것입니다.
그래프는 STREAM Triad를 실행하는 동안 얻은 초당 기가바이트 단위의 메모리 대역폭을 표시합니다. 얻어진 메모리 대역폭(GB/초)은 y축에 표시되며 높을수록 좋습니다. 초당 기가바이트의 특정 값과 관련된 BIOS 구성은 x축에 표시됩니다.
다음은 그래프의 관찰 결과입니다.
  • SNC=활성화 시 메모리 대역폭이 최대 3% 향상됩니다.
  •  STREAM 메모리 대역폭의 소프트웨어 프리페치로 인한 성능 편차가 크지 않습니다. 
  •  시스템 프로파일 간에 편차가 없습니다.
   SLN316864_en_US__7a4
그림 4: 메모리 대역폭 – SNC

그림 4는 이러한 구성에서 스트림 트라이어드 메모리 대역폭 점수를 보여줍니다. 전체 시스템 메모리 대역폭은 ~220GB/s입니다. 로컬 소켓의 코어 20개가 로컬 메모리에 액세스할 때 메모리 대역폭은 ~109GB/s로, 전체 시스템 대역폭의 절반입니다. 이 중 절반인 ~56GB/s는 로컬 메모리에 액세스하는 동일한 NUMA 노드와 동일한 소켓의 다른 NUMA 노드에 속하는 한 NUMA 노드에서 메모리에 액세스하는 10개 스레드의 메모리 대역폭입니다. 스레드가 원격 소켓의 QPI 링크를 통해 원격 메모리에 액세스할 때 메모리 대역폭이 ~33GB/s로 42% 감소합니다. 이는 데이터가 로컬이 아닌 경우 SNC 모드에서 대역폭 손실이 상당히 발생한다는 것을 나타냅니다.

SLN316864_en_US__8image012
 그림 5: Wrf

그림 5는 서로 다른 BIOS 옵션에서 WRF의 결과를 비교합니다. 사용된 데이터 세트는 기본 "namelist.input" 파일이 있는 conus2.5km입니다.
그래프는 서로 다른 BIOS 구성에서 WRF-conus2.5km 데이터 세트를 실행하는 동안 얻은 절대 평균 시간 단계를 초 단위로 표시합니다. 얻은 평균 시간 단계는 y축에 표시되며 낮을수록 좋습니다. 평균 시간 단계의 특정 값과 연결된 상대 프로파일이 x축에 표시됩니다.
다음은 그래프의 관찰 결과입니다.
  • SNC=활성화 시 성능이 2% 향상됩니다.
  •  소프트웨어 프리페치가 활성화된 경우와 비활성화된 경우의 성능 차이는 없습니다.
  •  성능 프로필이 PerformancePerWattDAPC 프로필보다 1% 더 우수함
  SLN316864_en_US__9a7
 SLN316864_en_US__10a6
그림 6에서 그림 9는 각각 Ice_2m, Combustor_12m, Aircraft_Wing_14m 및 Exhaust_System_33m 데이터 세트를 사용하여 Fluent-를 실행하는 동안 얻은 솔버 등급을 표시합니다. 얻어진 솔버 등급은 y축에 표시되며, 높을수록 좋습니다. 평균 시간의 특정 값과 연결된 상대적 프로파일은 x축에 표시됩니다.
다음은 위 그래프의 전반적인 관찰 결과입니다.
  • SNC=활성화 시 최대 4% 향상된 성능
  • 소프트웨어 프리페치가 성능에 미치는 영향은 없습니다.
  • DAPC 및 OS 프로파일에 비해 성능 프로파일의 성능이 최대 2% 향상됩니다.

결론

이 연구에서는 인텔 제온 Gold 6230 프로세서를 사용할 때 다양한 BIOS 튜닝 옵션이 성능에 미치는 영향을 평가했습니다. 여러 벤치마크 및 애플리케이션에서 여러 BIOS 옵션의 성능을 관찰한 결과 다음과 같은 결론을 내렸습니다.
  • 소프트웨어 프리페치는 테스트된 데이터 세트의 성능에 큰 영향을 미치지 않습니다. 따라서 소프트웨어 프리페처를 기본값, 즉 활성화된 상태로 유지하는 것이 좋습니다.
  • SNC=활성화 시 Fluent 및 Stream에서 2-4% 성능 향상, SNC = 비활성화에 비해 WRF에서 약 1% 성능 향상. 따라서 더 나은 성능을 얻으려면 SNC를 활성화하는 것이 좋습니다 .
  • 성능 프로필은 PerformancePerWattDAPC 및 PerformancePerWattOS보다 2-4% 더 우수합니다. 따라서 HPC 에 대한 성능 프로파일을 권장합니다 .
범용 HPC 클러스터에 대해서는 하이퍼 스레딩을 해제하는 것이 좋습니다. 사용하는 애플리케이션에 따라 이 기능의 이점을 테스트하고 적절하게 사용하도록 설정해야 합니다.

이 연구에서 다루지 않은 것은 시스템이 x4 DRAM 구성(32GB, 64GB DIMM)이 있는 메모리로 구성된 경우 사용할 수 있는 ADDDC(Adaptive Double DRAM Device Correction)라고 하는 메모리 RAS 기능입니다. 시스템에 x8 기반 DIMM(8GB, 16GB)이 있고 이러한 구성에서 중요하지 않은 경우 ADDDC를 사용할 수 없습니다. HPC 워크로드의 경우 조정 가능한 옵션으로 사용할 수 있는 경우 ADDDC를 비활성화로 설정하는 것이 좋습니다.

 

Article Properties


Affected Product

High Performance Computing Solution Resources, Poweredge C4140, Red Hat Enterprise Linux Version 7

Last Published Date

10 Apr 2021

Version

4

Article Type

Solution