6장. NUMA 인식 워크로드 예약


NUMA 인식 스케줄링과 OpenShift Container Platform 클러스터에 고성능 워크로드를 배포하는 데 사용할 수 있는 방법을 알아봅니다.

중요

NUMA 인식 예약은 기술 프리뷰 기능 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. 따라서 프로덕션 환경에서 사용하는 것은 권장하지 않습니다. 이러한 기능을 사용하면 향후 제품 기능을 조기에 이용할 수 있어 개발 과정에서 고객이 기능을 테스트하고 피드백을 제공할 수 있습니다.

Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.

NUMA Resources Operator를 사용하면 동일한 NUMA 영역에서 고성능 워크로드를 예약할 수 있습니다. 사용 가능한 클러스터 노드 NUMA 리소스 및 워크로드를 관리하는 보조 스케줄러를 보고하는 노드 리소스를 배포합니다.

6.1. NUMA 인식 스케줄링 정보

NUMA(Non-Uniform Memory Access)는 다른 CPU가 다른 속도로 다른 메모리 영역에 액세스할 수 있는 컴퓨팅 플랫폼 아키텍처입니다. NUMA 리소스 토폴로지는 컴퓨팅 노드에서 서로 상대적인 CPU, 메모리 및 PCI 장치의 위치를 나타냅니다. 공동 배치 리소스는 동일한 NUMA 영역에 있다고 합니다. 고성능 애플리케이션의 경우 클러스터는 단일 NUMA 영역에서 Pod 워크로드를 처리해야 합니다.

NUMA 아키텍처를 사용하면 여러 메모리 컨트롤러가 있는 CPU가 메모리가 있는 위치에 관계없이 CPU 복잡성에서 사용 가능한 메모리를 사용할 수 있습니다. 이를 통해 성능을 저하시킬 수 있는 유연성이 향상됩니다. NUMA 영역 외부에 있는 메모리를 사용하여 워크로드를 처리하는 CPU는 단일 NUMA 영역에서 처리된 워크로드보다 속도가 느립니다. 또한 I/O 제한 워크로드의 경우 원격 NUMA 영역의 네트워크 인터페이스가 애플리케이션에 도달할 수 있는 속도가 느려집니다. 통신 워크로드와 같은 고성능 워크로드는 이러한 조건에서 사양으로 작동할 수 없습니다. NUMA 인식 예약은 동일한 NUMA 영역에서 요청된 클러스터 컴퓨팅 리소스(CPU, 메모리, 장치)를 정렬하여 대기 시간에 민감한 또는 고성능 워크로드를 효율적으로 처리합니다. NUMA 인식 스케줄링은 리소스 효율성을 높이기 위해 컴퓨팅 노드당 Pod 밀도도 향상시킵니다.

기본 OpenShift Container Platform Pod 스케줄러 스케줄링 논리는 개별 NUMA 영역이 아닌 전체 컴퓨팅 노드의 사용 가능한 리소스를 고려합니다. kubelet 토폴로지 관리자에서 가장 제한적인 리소스 정렬이 요청되면 노드에 Pod를 허용할 때 오류 상태가 발생할 수 있습니다. 반대로, 가장 제한적인 리소스 정렬이 요청되지 않으면 적절한 리소스 정렬 없이 노드에 Pod가 허용되어 성능이 저하되거나 예측되지 않을 수 있습니다. 예를 들어, 토폴로지 유사성 오류 상태를 사용한 runaway Pod 생성은 Pod 스케줄러가 Pod의 요청된 리소스를 사용할 수 있는지 여부를 인식하지 못하여 보장된 Pod 워크로드에 대해 차선적 스케줄링 결정을 내릴 때 발생할 수 있습니다. 불일치 결정에 따라 무기한 Pod 시작 지연이 발생할 수 있습니다. 또한 클러스터 상태 및 리소스 할당에 따라 잘못된 Pod 예약 결정에 따라 시작 시도가 실패하여 클러스터에 추가 로드가 발생할 수 있습니다.

NUMA 리소스 Operator는 사용자 정의 NUMA 리소스 보조 스케줄러 및 기타 리소스를 배포하여 기본 OpenShift Container Platform Pod 스케줄러의 단점에 대해 완화합니다. 다음 다이어그램에서는 NUMA 인식 Pod 스케줄링에 대한 상위 수준 개요를 제공합니다.

그림 6.1. NUMA 인식 스케줄링 개요

다양한 구성 요소가 클러스터에서 서로 상호 작용하는 방법을 보여주는 NUMA 인식 스케줄링 다이어그램
NodeResourceTopology API
NodeResourceTopology API는 각 컴퓨팅 노드에서 사용 가능한 NUMA 영역 리소스를 설명합니다.
NUMA 인식 스케줄러
NUMA 인식 보조 스케줄러는 NodeResourceTopology API에서 사용 가능한 NUMA 영역에 대한 정보를 수신하고 최적으로 처리할 수 있는 노드에 고성능 워크로드를 예약합니다.
노드 토폴로지 내보내기
노드 토폴로지 내보내기는 각 컴퓨팅 노드에 대해 NodeResourceTopology API에 사용 가능한 NUMA 영역 리소스를 노출합니다. 노드 토폴로지 내보내기 데몬은 PodResources API를 사용하여 kubelet에서 리소스 할당을 추적합니다.
PodResources API
PodResources API는 각 노드의 로컬이며 리소스 토폴로지 및 사용 가능한 리소스를 kubelet에 노출합니다.

추가 리소스

  • 클러스터에서 보조 Pod 스케줄러를 실행하는 방법과 보조 Pod 스케줄러를 사용하여 Pod를 배포하는 방법에 대한 자세한 내용은 보조 스케줄러 를 사용하여 Pod 예약을 참조하십시오.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.