리눅스 커널 버전 6.16의 출시로 NUMA(비균일 메모리 접근) 작업 마이그레이션 및 스와핑 통계를 추적하는 데 있어 중요한 개선 사항이 도입되었습니다. 이번 업데이트는 커널 핸드오버(Kernel HandOver, KHO)를 지원하며, 멀티코어 시스템에서 성능 최적화를 위해 NUMA 균형 조정의 효율성을 향상시키는 것을 목표로 하고 있습니다.
NUMA 균형 조정은 작업 관리를 위해 두 가지 주요 메커니즘을 활용합니다: 선호하는 노드 내의 유휴 CPU로 작업을 마이그레이션하고, 서로의 선호 노드에 있는 작업 간에 스와핑을 수행하는 것입니다. 이전에는 커널이 NUMA 페이지 마이그레이션에 대한 통계를 제공했지만, 작업 마이그레이션 및 스와핑에 대한 세부 지표는 부족했습니다. 새로운 커널 버전은 `/sys/fs/cgroup/{GROUP}/memory.stat`, `/proc/{PID}/sched`, `/proc/vmstat`에서 접근할 수 있는 `numa_task_migrated` 및 `numa_task_swapped`라는 두 개의 필드를 추가하여 이 격차를 해소합니다.
이러한 개선 사항은 작업 성능 및 자원 활용에 대한 보다 세밀한 분석을 가능하게 하여, 사용자가 높은 NUMA 균형 조정 활동을 보이는 컨테이너를 식별하고 특정 작업으로 세분화할 수 있도록 합니다. 이 기능은 개별 작업에 대한 메모리 정책 조정을 용이하게 하여 전체 시스템 성능을 향상시킵니다. 각 메모리 cgroup(memcg) 내의 작업에 대한 집계된 NUMA 균형 조정 통계의 도입은 성능 병목 현상을 식별하는 과정을 간소화하여 사용자가 효과적으로 작업 부하를 최적화할 수 있도록 합니다.
전반적으로 리눅스 6.16의 업데이트는 NUMA 시스템 관리에 있어 주목할 만한 발전을 나타내며, 복잡한 컴퓨팅 환경에서 성능 및 자원 할당을 향상시키기 위한 도구를 사용자에게 제공합니다.
* 이 글은
phoronix.com의 기사를 요약한 것입니다. 전체 기사의 내용은
이곳에서 확인하실 수 있습니다.