HPC 가상 머신의 상태 검사

완료됨

Azure는 비정상 가상 머신을 식별하는 데 도움이 되는 여러 자동화된 테스트를 제공합니다. 이러한 자동화된 테스트를 사용하면 비정상 VM(가상 머신)이 발견될 때 그리고 고객이 비정상 VM에 액세스하기 전에 비정상 VM을 제거할 수 있습니다. 그러나 이러한 자동화된 테스트가 비정상 VM을 발견하지 못하는 경우가 있습니다.

참고

Azure의 자동화된 상태 검사는 지속적으로 업데이트되고 개선됩니다.

일부 HPC(고성능 컴퓨팅) 애플리케이션, 특히 밀결합된 HPC 애플리케이션은 비정상 VM에 민감합니다. 이러한 민감도로 인해 HPC 애플리케이션에서 런타임 오류가 발생하거나 예상보다 느리게 실행될 수 있습니다. 밀결합된 HPC 애플리케이션의 규모가 커질수록 비정상 VM이 발생할 가능성도 높아집니다.

예방 조치로, 자체적인 상태 검사를 실행해야 하며, 특히 밀결합된 HPC 애플리케이션을 대규모로 실행하는 경우에는 상태 검사를 꼭 실행하는 것이 좋습니다. 자체 상태 검사를 실행하면 대규모 HPC 애플리케이션을 계속해서 최적의 상태로 실행할 수 있는 가능성이 높아집니다.

VM 상태 검사에서 InfiniBand 네트워크, 메모리, 스토리지, CPU 코어 등의 구성 요소가 정상적으로 작동하고 기대한 성능을 보이는지 확인하는 것이 좋습니다.

InfiniBand 상태 검사

대부분의 시나리오에서 ping-pong 테스트(메시지 송신 및 수신)를 통해 지점 간 InfiniBand 대기 시간 및 대역폭을 측정하면 InfiniBand 네트워크의 상태를 확인하는 데 충분합니다.

Intel IMP-MPI1 PingPong 테스트는 Azure Marketplace의 CentOS HPC 7.7+ 이미지에 미리 빌드된 상태로 제공되는 유용한 옵션입니다. Intel MPI(메시지 전달 인터페이스) 환경에 포함된 버전과 HPC-X MPI 환경에 포함된 버전이 있습니다. 하지만 일반적으로 HPC-X 버전을 사용하면 최상의 대기 시간 및 대역폭 성능을 얻을 수 있습니다. Intel IMP-MPI1 PingPong 테스트를 실행하는 스크립트는 IMB-MPI 벤치마크 프로젝트에서 사용할 수 있습니다.

다음 표에서는 HPC VM에서 HPC-X Intel IMB-IMP1 PingPong 벤치마크를 사용하여 측정한 예상 InfiniBand 네트워크 대기 시간 및 대역폭을 보여줍니다. 다음 범위를 벗어나는 값은 비정상으로 간주됩니다.

VM SKU 예상 네트워크 대기 시간 예상 네트워크 대역폭
HB120_v2 < 2μs > 23.0GB/s
HC44 < 2μs > 11.5GB/s
HB60 < 2μs > 11.5GB/s

다른 도구와 벤치마크로 osu-micro-benchmarksMellanox ClusterKit를 생각해 볼 수 있습니다. 후자는 HPC-X 환경의 CentOS HPC 7.7+ Azure Marketplace 이미지에도 미리 설치되어 있습니다. ClusterKit 스크립트 예제는 Azure 상태 검사 스크립트 프로젝트에서 사용할 수 있습니다.

메모리 상태 검사

메모리 대역폭을 측정하는 것은 VM의 메모리가 정상인지 확인하는 좋은 방법입니다. Intel MLC(메모리 대기 시간 검사기)는 메모리 대역폭을 벤치마킹하는 데 유용한 도구입니다. 다른 옵션은 스트림 벤치마크를 빌드하고 실행하거나 메모리 대역폭을 측정할 수 있는 ClusterKit를 사용하는 것입니다. 예제 스크립트는 Azure 상태 검사 스크립트 프로젝트에서 찾을 수 있습니다.

다음 표에서는 Intel MLC를 실행하는 각 HPC VM에서 측정된 예상 메모리 대역폭을 보여 줍니다. 이러한 범위를 벗어나는 메모리 대역폭은 비정상으로 간주됩니다.

VM SKU 예상 메모리 대역폭
HB120_v2 > 300GB/s
HC44 > 200GB/s
HB60 > 250GB/s

스토리지 상태 검사

사용 중인 스토리지 솔루션과 예상 I/O 성능을 이해한 다음, I/O 벤치마크를 실행하여 예상 I/O 성능을 확인하는 것이 중요합니다. 다음과 같은 여러 I/O 벤치 마크 도구 중에 선택할 수 있습니다.

스토리지 상태를 측정하려면 최대 I/O 처리량을 만들어서 IOPS 벤치마크를 생성합니다. 그런 다음, 측정된 I/O 벤치마크 결과를 스토리지 솔루션의 예상 I/O 성능과 비교합니다.

IOR 스크립트 예제는 IOR 및 mdtest 프로젝트에서 찾을 수 있습니다. FIO 스크립트 예제는 FIO 프로젝트에서 찾을 수 있습니다.

CPU 코어 상태

CPU 코어가 정상 상태이고 예상된 성능을 보이는지 확인하는 좋은 방법은 최대 FLOPS(초당 부동 소수점 연산)를 측정하는 것입니다. 그런 다음, 측정된 결과를 이론적인 예상 FLOPS와 비교합니다.

HPL(High Performance Linpack)을 사용하여 최대 FLOPS를 측정할 수 있습니다. HPL을 실행할 때의 장점은 일부 잘못된 메모리 DIMM(이중 인라인 메모리 모듈)을 식별하는 데 도움이 될 수 있다는 것입니다. 또한 긴밀하게 결합된 통신을 위해 제한된 테스트를 수행하기 때문에 HPC 클러스터의 전반적인 상태를 평가하는 데 도움이 될 수 있습니다.

HPC 데이터센터는 새 HPC 시스템에서 굽는 데 HPL을 자주 사용합니다. HPL 스크립트 예제는 linpack 프로젝트에서 찾을 수 있습니다.