본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 05. 01. 12:21

Affinity Tailor: 대규모 환경에서의 동적 로컬리티 인식 스케줄링

요약

Affinity Tailor는 대규모 멀티코어 시스템에서 워크로드의 공간적 로컬리티를 보존하는 새로운 커널 스케줄링 시스템입니다. 기존 스케줄러들이 CPU 자원을 균등하게 분배하여 로드 밸런싱을 수행할 때, 이는 캐시 및 예측기 재사용성을 떨어뜨리고 코어 간 간섭을 증가시키는 문제를 야기합니다. Affinity Tailor는 사용자 공간 컨트롤러가 워크로드의 수요를 추정하고 최적의 CPU 세트를 '애피니티 힌트'로 할당하며, 커널은 이 힌트를 사용하여 로컬리티를 유지하면서도 유연하게 자원을 활용할 수 있도록 합니다.

핵심 포인트

  • 기존 스케줄러는 로드 밸런싱을 통해 로컬리티(캐시 재사용성)를 약화시키고 간섭을 증가시킨다.
  • Affinity Tailor는 엄격한 파티셔닝 대신 '애피니티 힌트'를 사용하여 공간적 로컬리티를 보존한다.
  • 사용자 공간 컨트롤러가 워크로드의 CPU 수요를 온라인으로 추정하고 최적의 CPU 세트를 선택하여 할당한다.
  • 이 시스템은 칩렛 기반 및 비칩렛 시스템 모두에서 처리량 향상(최대 12%)을 입증했다.
  • 미래 스케줄러는 작업 보존보다 공간적 로컬리티를 우선순위로 고려해야 한다.

현대적인 대용량 멀티코어 시스템은 Linux CFS와 같은 스케줄러 하에서 CPU 를 공유하며 여러 워크로드를 실행하는 경우가 많습니다. CPU 를 유휴 상태로 두지 않기 위해 이러한 스케줄러들은 실행 가능한 작업을 로드 밸런싱하여 각 워크로드가 많은 코어에서 실행되도록 합니다. 이는 마이크로아키텍처 수준의 로컬리티 (locality) 를 약화시킵니다: 워크로드들은 캐시, 분기 예측기 (branch predictors), 프리페터 (prefetchers) 에서 재사용 (reuse) 을 상실하고 서로 간섭이 더 심해집니다 - 특히 칩렛 기반 (chiplet-based) 시스템에서는 코어에 걸친 실행의 분산이 LLC (Last Level Cache) 경계를 넘나드는 분산으로 이어지기 때문입니다. 자연스러운 대안인 엄격한 CPU 파티셔닝은, 그러나 워크로드가 할당받은 CPU 를 완전히 사용하지 않을 때 용량이 비어있게 됩니다. 우리는 핵심 통찰력 - 즉, 커널이 CPU 를 공유하는 워크로드에 대해 수요 크기의 토폴로지적으로 콤팩트한 CPU 세트를 엄격한 파티션이 아닌 애피니티 힌트 (affinity hints) 로 취급함으로써 로컬리티를 보존할 수 있다는 점 - 을 바탕으로 한 사용자 공간 가이드드 커널 스케줄링 시스템인 Affinity Tailor 를 제시합니다. 사용자 공간 컨트롤러는 각 워크로드의 CPU 수요를 온라인으로 추정하고, 다른 워크로드와 가능한 한 분리되도록 하며 LLC 도메인을 가능한 적게 포함하도록 선택된 선호도 CPU 세트를 할당합니다. 커널은 이 세트를 애피니티 힌트로 사용하여 스레드를 해당 CPU 로 유도하면서도 필요에 따라 활용도를 보존하기 위해 타 nơi 에서 실행을 허용합니다. 구글에서 배포된 Affinity Tailor 는 Linux CFS 대비 칩렛 기반 시스템에서 12%, 비칩렛 시스템에서는 3% 의 CPU 당 평균 기하평균 (geometric-mean) 처리량 향상을 제공합니다. 또한 더 빠른 실행은 메모리 체류 시간 (memory residency) 을 줄여 GB 당 처리량 향상을 3-7% 달성합니다. 우리의 연구 결과는 미래의 스케줄러가 작업 보존 (work-conservation) 을 희생하더라도 공간적 로컬리티 (spatial locality) 를 일급 목표 (first-class objective) 로 취급해야 함을 시사합니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
3

댓글

0