개요
최근에 Dell EMC PowerEdge C4140에는 새로운 "Configuration M" 솔루션이 추가되었습니다. 이 최신 옵션은 C4140 제품군에 포함되므로, 이 문서에서는 HPL, GROMACS 및 NAMD를 비롯한 다양한 HPC 애플리케이션에 대해 Configuration M 성능과 Configuration K 성능을 평가한 연구 결과를 제공합니다.
개요
PowerEdge C4140은 2소켓 1U 랙 서버입니다. 여기에는 인텔 Skylake 프로세서, 최대 24개의 DIMM 슬롯, 4개의 이중 너비 NVIDIA Volta GPU 카드 지원이 포함됩니다. C4140 서버 제품군에서 NVLINK를 지원하는 두 가지 구성은 Configuration K와 Configuration M입니다. 두 토폴로지에 대한 비교는 그림 1에 나와 있습니다. 이러한 두 구성 간의 두 가지 주요 차이점은 아래에 설명되어 있습니다.
p2pBandwidthLatencyTest
그림 2: C4140 Configuration K 및 M에서 P2P가 비활성화된 상태의 카드 간 레이턴시
p2pBandwidthLatencyTest는 CUDA SDK에 포함된 마이크로 벤치마크입니다. GPUDirect™ P2P(Peer-to-Peer)가 활성화된 상태와 비활성화된 상태에서 카드 간 레이턴시와 대역폭을 측정합니다. 이 프로그램은 대역폭을 동시에 측정하지 않기 때문에 이 테스트에서 중점적으로 다루게 되는 부분은 레이턴시입니다. 애플리케이션에서 사용 가능한 실제 대역폭에 대한 설명은 아래의 HPL 세션에서 확인할 수 있습니다. 그림 2에 나와 있는 숫자는 마이크로초로 측정한 단방향 카드 간 레이턴시 100배의 평균값입니다. 코드가 한 카드에서 다른 카드로 1바이트를 보낼 때마다 이 차트에서 P2P 비활성화 번호가 선택되며, P2P가 활성화된 경우 NVLINK를 통해 데이터가 전송되기 때문입니다. Configuration M의 PCIe 레이턴시는 PCIe 토폴로지가 서로 다르기 때문에 Configuration K보다 1.368us 작습니다.
HPL(High Performance Linpack)
그림 3(a)는 1, 2, 4 및 8개의 V100-SXM2 GPU를 갖춘 C4140 플랫폼의 HPL 성능을 보여줍니다. 1~4개의 GPU 결과는 단일 C4140에서 도출되며, 8개의 GPU 성능 결과는 2개의 서버에 걸쳐 도출됩니다. 이 테스트에서 사용된 HPL 버전은 NVIDIA에서 제공하며 최근에 릴리스된 CUDA 10 및 OpenMPI로 컴파일되었습니다. HPL 결과로부터 다음과 같은 측면을 관찰할 수 있습니다.
1) 단일 노드. 테스트에서 4개의 GPU를 모두 사용할 경우, Configuration M은 Configuration K보다 최대 16% 더 빠릅니다. HPL 애플리케이션이 컴퓨팅을 시작하기 전에 모든 카드가 데이터를 동시에 전송할 때 각 GPU 카드에 대해 사용 가능한 D2H(Device-to-Host) 및 H2D(Host-to-Device) PCIe 대역폭을 측정합니다. 이 정보는 HPL이 N*N 매트릭스를 모든 GPU 메모리에 동시에 복사할 때 각 카드의 실제 PCIe 대역폭에 대한 유용한 정보를 제공합니다. 그림 3(b)와 같이 Configuration M의 D2H와 H2D 개수가 모두 훨씬 더 많으며 이론적으로 PCIe x16의 처리량에 도달하고 있습니다. 이는 해당 하드웨어 토폴로지와 일치합니다. Configuration M의 각 GPU에는 CPU에 대한 전용 PCIe x16 링크가 있기 때문입니다. Configuration K에서 4개의 V100은 모두 PLX PCIe 스위치를 통해 단일 PCIe x16 링크를 공유해야 하므로 각각 2.5GB/s만 사용할 수 있습니다. 대역폭 차이 때문에 Configuration M은 4개의 16GB N*N 매트릭스를 각 GPU의 전역 메모리에 복사하는 데 1.33초가 걸렸고 Configuration K는 5.33초가 걸렸습니다. 전체 HPL 애플리케이션은 약 23~25초 동안 실행됩니다. 모든 V100-SXM2는 동일하고 컴퓨팅 시간도 동일하기 때문에 데이터 복사를 통해 이 4초가 절약되면서 Configuration M이 16% 빨라집니다.
2) 다중 노드. 8개의 GPU가 있는 2개의 C4140 노드 결과는 2개의 노드에서 HPL이 15% 이상 개선된 것으로 나타났습니다. 즉, Configuration M은 위의 경우 단일 노드의 4개 카드와 동일한 이유로 Configuration K보다 노드 간 확장성이 뛰어납니다.
3) 효율성. 소비 전력은 iDrac으로 측정되었습니다. 그림 3(c)는 와트를 시계열로 보여줍니다. 두 시스템 모두 최대 약 1850W에 도달합니다. GFLOPS 숫자가 더 높기 때문에 Configuration M은 더 높은 와트당 성능과 HPL 효율성을 제공합니다.
HPL은 시스템 수준 벤치마크이며 그 결과는 CPU, GPU, 메모리 및 PCIe 대역폭과 같은 구성 요소에 의해 결정됩니다. Configuration M은 두 CPU 간의 균형을 맞추도록 설계되었기 때문에 이 HPL 벤치마크에서 Configuration K보다 성능이 뛰어납니다.
GROMACS
GROMACS는 복잡한 결합 상호작용이 많은 단백질, 지질, 핵산 등의 생화학적 분자를 시뮬레이션하기 위해 설계된 오픈 소스 분자 역학 애플리케이션입니다. 버전 2018.3은 3백만 개의 원자가 있는 물 3072 데이터 세트에서 테스트되었습니다.
그림 4: C4140 Configuration K 및 M에서 다중 V100을 사용한 GROMACS 성능 결과
그림 4는 Configuration K보다 Configuration M의 성능이 향상되었음을 보여줍니다. 데이터 경로에 차이가 없기 때문에 두 구성에서 단일 카드 성능은 동일합니다. 2개 및 4개의 GPU가 있는 경우 Configuration M은 K보다 5% 더 빠릅니다. 2개 노드에서 테스트하면 Configuration M의 성능이 최대 10% 향상됩니다. 가장 큰 이유는 대역폭을 더 많이 제공하고 더 많은 데이터가 GPU에 빠르게 공급되도록 하는 PCIe 연결 수가 증가했기 때문입니다. GROMACS는 GPU를 통해 크게 가속되지만 이 애플리케이션은 CPU와 GPU를 동시에 사용하여 계산하므로 GROMACS가 클러스터에서 최상위 애플리케이션인 경우 강력한 CPU를 사용하는 것이 좋습니다. 이 그래프는 더 많은 서버와 더 많은 GPU를 사용한 GROMACS 성능 확장도 보여줍니다. GPU 및 서버 수가 많을수록 애플리케이션의 성능이 향상되지만 GPU를 추가하는 것에 따라 성능이 선형적으로 비례하지는 않습니다.
NAMD(NAnoscale Molecular Dynamics)
NAMD는 대규모 생체 분자 시스템의 고성능 시뮬레이션을 위해 설계된 분자 역학 코드입니다. 이러한 테스트에는 사전 빌드 바이너리가 사용되지 않았습니다. 대신, NAMD가 최신 소스 코드(NAMD_Git-2018-10-31_Source)를 사용하여 CUDA 10.0에서 빌드되었습니다. 그림 4는 STMV 데이터 세트(1,066,628개 원자, 주기적, PME)를 사용한 성능 결과를 도표로 나타낸 것입니다. F1atpase(327,506개의 원자, 주기적, PME) 및 apoa1(92,224개의 원자, 주기적, PME)과 같은 소규모 데이터 세트를 대상으로 한 테스트를 통해 Configuration M과 Configuration K 간의 유사한 비교가 이루어졌지만 편의상 여기에서 설명하지 않았습니다.
그림 5: C4140 Configuration K 및 M에서 다중 V100을 사용한 NAMD 성능 결과
GROMACS와 마찬가지로 4배 더 많은 PCIe 대역폭은 NAMD의 성능에 도움이 됩니다. 그림 5는 STMV 데이터 세트에서 2개 및 4개의 카드가 있는 Configuration M의 성능이 Configuration K보다 각각 16% 및 30% 더 높은 것을 보여줍니다. 하나의 GPU만 테스트할 때 PCIe 대역폭은 동일하므로 단일 카드 성능은 동일한 것으로 예상됩니다.
결론 및 향후 작업
이 블로그에서는 PowerEdge C4140의 서로 다른 두 NVLINK 구성에서 HPL, GROMACS 및 NAMD를 사용한 HPC 애플리케이션 성능을 비교했습니다. HPL, GROMACS 및 NAMD는 Configuration K보다 Configuration M에서 10% 더 나은 성능을 제공합니다. Configuration M은 Configuration K의 모든 장점과 더 많은 PCIe 링크를 제공하고 PCIe 스위치가 없기 때문에 모든 테스트에서 최소한 Configuration K와 동일한 성능을 제공합니다. 향후 RELION, HOOMD 및 AMBER와 같은 다른 애플리케이션과 V100 32G GPU를 사용한 테스트를 통해 추가 테스트를 진행할 예정입니다.