GKE에서 HPC 워크로드 실행을 위한 권장사항

Google Kubernetes Engine (GKE)은 고성능 컴퓨팅 (HPC) 워크로드를 위한 확장 가능한 고성능 플랫폼을 제공합니다. 고성능과 운영 효율성을 달성하려면 GKE에서 제공하는 HPC 전용 VM 계열과 같은 워크로드에 최적화된 인프라를 사용하면 됩니다. 이 문서에서는 GKE에서 HPC 애플리케이션을 실행하도록 최적화하기 위해 인프라와 워크로드를 관리하는 권장사항을 설명합니다.

모든 GKE 권장사항의 통합 개요는 GKE 권장사항을 참고하세요.

인프라 및 노드 구성

이 섹션에서는 HPC 워크로드의 기본 인프라와 GKE 노드를 구성하기 위한 권장사항을 설명합니다.

컴퓨팅 집약적인 워크로드에 H4D VM 선택

애플리케이션에 적합한 하드웨어를 선택합니다. H4D VM은 컴퓨팅 집약적 HPC 애플리케이션의 처리량을 극대화하도록 설계되었습니다. H4D VM은 다중 노드 워크로드에 고성능, 저렴한 비용, 확장성을 제공합니다. H4D는 컴퓨팅 집약적 및 HPC에 적합한 컴퓨팅 최적화 인스턴스를 제공하는 컴퓨팅 최적화 머신 계열에 속합니다.

H4D 머신 시리즈에 대한 자세한 내용은 컴퓨팅 최적화 머신 계열: H4D 머신 시리즈를 참고하세요.

HPC에 최적화된 GKE 클러스터를 만드는 방법은 H4D로 고성능 컴퓨팅 워크로드 실행을 참고하세요.

노드 할당 가능 리소스 고려

노드의 총 리소스 용량과 워크로드에 할당 가능한 리소스의 차이점을 이해합니다. GKE 노드는 작동하는 데 리소스가 필요한 kubelet 및 컨테이너 런타임과 같은 시스템 구성요소를 실행합니다. GKE는 시스템 기능 및 노드 신뢰성을 위해 사전 정의된 리소스 수량을 예약합니다. 워크로드에 할당된 실제 리소스 양 (VM 크기에서 GKE가 예약한 용량을 뺀 값)을 파악하면 HPC 워크로드의 리소스 요청 크기를 적절하게 조정할 수 있습니다.

자세한 내용은 다음 리소스를 참조하세요.

선점을 완화하기 위해 코어 예약

워크로드가 노드에서 사용할 수 있는 모든 실제 코어를 사용하는 경우 지연 시간에 민감한 시스템 데몬과 경쟁할 수 있습니다. 이 경합으로 인해 OS 스케줄러가 시스템 작업을 실행하기 위해 HPC 워크로드를 중단하는 빈번한 선점이 발생할 수 있으며, 이로 인해 성능이 저하될 수 있습니다.

성능을 유지하려면 사용 가능한 모든 CPU를 워크로드에 할당하지 마세요. 필수 시스템 프로세스가 제대로 작동하려면 약간의 CPU 오버헤드가 필요합니다. 컴퓨팅 용량의 100% 를 워크로드에 할당하면 이러한 시스템 구성요소와 리소스 경합이 발생하여 성능이 저하될 수 있습니다. 예를 들어 H4D 머신 유형의 경우 성능을 유지하려면 192개 미만의 CPU를 사용하도록 워크로드를 구성하세요.

클러스터 및 워크로드 구성

이 섹션에서는 GKE 클러스터를 구성하고 HPC 워크로드를 배포하기 위한 권장사항을 설명합니다.

클러스터 생성에 Cluster Toolkit 사용

클러스터 툴킷을 사용하여 GKE에서 HPC 워크로드의 배포 및 관리를 간소화합니다. 이 툴킷은 고성능 환경에서 컴퓨팅, 스토리지, 네트워킹 리소스를 구성하기 위한 권장사항을 통합하는 참조 설계 청사진을 제공합니다.

Cluster Toolkit을 사용하여 H4D 클러스터를 만드는 방법은 H4D로 고성능 컴퓨팅 워크로드 실행을 참고하세요.

용량 관리에 flex-start 사용

버스트 (동적) 또는 시간에 민감하지 않은 HPC 워크로드의 경우 H4D 주문형 또는 예약 용량을 사용할 수 없을 때 flex-start를 사용하여 용량 관리를 개선하세요. Flex-start는 H4D 노드의 수명 주기를 관리하고 급증하거나 시간에 민감한 리소스 요구사항을 해결하는 데 도움이 됩니다.

자세한 내용은 유연한 시작으로 H4D 클러스터 만들기를 참고하세요.

긴밀하게 결합된 워크로드에 압축 배치 정책 사용

지연 시간에 민감하고 긴밀하게 결합된 HPC 워크로드에 압축 배치 정책을 구현합니다. 이 정책은 모든 포드가 호스트 머신에서 서로 가까운 곳에 프로비저닝되도록 지원합니다. 이 구성은 노드 간 네트워크 지연 시간을 최소화하므로 노드 간 통신에 의존하는 애플리케이션에 중요합니다.

H4D로 고성능 컴퓨팅 워크로드 실행에 설명된 대로 gcloud CLI를 사용하여 H4D 클러스터를 만드는 경우 GKE는 자동으로 압축 배치 정책을 구성합니다. 클러스터 툴킷을 사용하는 경우 이 정책도 자동으로 구성됩니다. 다른 노드 유형의 압축 배치를 수동으로 구성하려면 GKE 노드를 위한 압축 배치 정의를 참고하세요.

적절한 리소스 요청 설정

HPC 작업의 크기를 조정하기 전에 노드에서 할당 가능한 실제 CPU를 검사하세요. kubectl get node 명령어를 사용하여 할당 가능한 리소스를 확인합니다. 작업의 CPU 요구사항이 GKE 시스템 예약 후 GKE에서 사용할 수 있는 CPU를 초과하지 않는지 확인합니다.

GKE에는 리소스 요청을 분석하고 자동으로 조정하는 데 도움이 되는 여러 기능이 있습니다. 자세한 내용은 프로비저닝 부족 및 과도한 워크로드 식별을 참고하세요.

단일 워크로드에 전체 노드 전용

전체 H4D 노드를 차지하도록 MPI 작업을 구성합니다. H4D 인스턴스는 전체 호스트 VM으로 프로비저닝됩니다. 이 전략은 노드 용량의 대부분을 예약하여 워크로드가 격리되도록 합니다. 컨테이너 리소스 요청 또는 포드 안티어피니티를 사용하여 복제본이 동일한 실제 노드에 배치되지 않도록 합니다.

H4D VM과의 고속 네트워킹을 위해 Cloud RDMA 사용 설정

H4D VM을 사용하는 경우 포드에 Cloud RDMA를 사용 설정하도록 배포 매니페스트를 구성합니다. 이 구성을 사용하면 고속 RDMA 네트워크 인터페이스가 컨테이너화된 워크로드에 올바르게 노출됩니다. 자세한 내용은 RDMA 매니페스트 구성을 참고하세요.

권장사항 요약

다음 표에서는 이 문서에 설명된 권장사항을 요약해서 보여줍니다.

주제 작업
인프라 및 노드 구성 컴퓨팅 집약적인 워크로드에 H4D VM 선택
인프라 및 노드 구성 노드 할당 가능 리소스 고려
인프라 및 노드 구성 선점을 완화하기 위해 코어 예약
클러스터 및 워크로드 구성 클러스터 생성에 Cluster Toolkit 사용
클러스터 및 워크로드 구성 용량 관리에 flex-start 사용
클러스터 및 워크로드 구성 긴밀하게 결합된 워크로드에 압축 배치 정책 사용
클러스터 및 워크로드 구성 적절한 리소스 요청 설정
클러스터 및 워크로드 구성 단일 워크로드에 전체 노드 전용
클러스터 및 워크로드 구성 H4D VM과의 고속 네트워킹을 위해 Cloud RDMA 사용 설정

다음 단계