17.6. 클러스터에 대한 하이퍼스레딩 구성
OpenShift Container Platform 클러스터에 대해 하이퍼스레딩을 구성하려면 성능 프로필의 CPU 스레드를 예약된 CPU 풀이나 격리된 CPU 풀에 구성된 코어와 동일하게 설정합니다.
성능 프로필을 구성한 후 호스트의 하이퍼스레딩 구성을 변경하는 경우 PerformanceProfile YAML에서 CPU 격리 및 예약 필드를 새 구성과 일치하도록 업데이트해야 합니다.
이전에 활성화된 호스트 하이퍼스레딩 구성을 비활성화하면 PerformanceProfile YAML에 나열된 CPU 코어 ID가 올바르지 않을 수 있습니다. 이렇게 잘못된 구성으로 인해 나열된 CPU를 더 이상 찾을 수 없으므로 노드를 사용할 수 없게 될 가능성이 있습니다.
사전 요구 사항
-
cluster-admin역할의 사용자로 클러스터에 액세스할 수 있어야 합니다. - OpenShift CLI(oc)를 설치합니다.
프로세스
구성할 호스트의 모든 CPU에서 실행중인 스레드를 확인합니다.
클러스터에 로그인하고 다음 명령을 실행하여 호스트 CPU에서 실행중인 스레드를 볼 수 있습니다.
lscpu --all --extended
$ lscpu --all --extendedCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 이 예에서는 4개의 물리적 CPU 코어에서 실행 중인 논리 CPU 코어가 8개 있습니다. CPU0 및 CPU4는 물리적 Core0에서 실행되고 CPU1 및 CPU5는 물리적 Core 1에서 실행되고 있습니다.
또는 특정 물리적 CPU 코어(아래 예에서는
cpu0)에 설정된 스레드를 보려면 셸 프롬프트를 열고 다음을 실행합니다.cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_list
$ cat /sys/devices/system/cpu/cpu0/topology/thread_siblings_listCopy to Clipboard Copied! Toggle word wrap Toggle overflow 출력 예
0-4
0-4Copy to Clipboard Copied! Toggle word wrap Toggle overflow PerformanceProfileYAML에서 분리 및 예약된 CPU를 적용합니다. 예를 들어, 논리 코어 CPU0 및 CPU4를격리됨으로설정하고, 논리 코어 CPU1~CPU3 및 CPU5~CPU7을예약됨으로설정할 수 있습니다. 예약 및 분리된 CPU를 구성하면 Pod의 인프라 컨테이너는 예약된 CPU를 사용하고 애플리케이션 컨테이너는 분리된 CPU를 사용합니다.... cpu: isolated: 0,4 reserved: 1-3,5-7 ...... cpu: isolated: 0,4 reserved: 1-3,5-7 ...Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고예약된 CPU 풀과 격리된 CPU 풀은 겹치지 않아야 하며, 작업자 노드에서 사용 가능한 모든 코어에 걸쳐 있어야 합니다.
대부분의 인텔 프로세서에서는 하이퍼스레딩이 기본적으로 활성화되어 있습니다. 하이퍼스레딩을 활성화하면 특정 코어에서 처리하는 모든 스레드는 분리되거나 동일한 코어에서 처리되어야 합니다.
하이퍼스레딩이 활성화된 경우, 모든 보장된 포드는 여러 개의 동시 멀티스레딩(SMT) 수준을 사용해야 포드가 실패할 수 있는 "노이즈 이웃" 상황을 방지할 수 있습니다. 자세한 내용은 정적 정책 옵션을 참조하세요.
17.6.1. 저지연 애플리케이션에 대한 하이퍼스레딩 비활성화 링크 복사링크가 클립보드에 복사되었습니다!
저지연 처리를 위해 클러스터를 구성하는 경우 클러스터를 배포하기 전에 하이퍼스레딩을 비활성화할지 여부를 고려하세요. 하이퍼스레딩을 비활성화하려면 다음 단계를 수행하세요.
- 하드웨어 및 토폴로지에 적합한 성능 프로필을 생성합니다.
nosmt를 추가 커널 인수로 설정합니다. 다음 성능 프로파일 예에서는 이 설정에 대해 설명합니다.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 참고예약 및 분리된 CPU를 구성하면 Pod의 인프라 컨테이너는 예약된 CPU를 사용하고 애플리케이션 컨테이너는 분리된 CPU를 사용합니다.