멀티소켓·멀티코어 서버의 메모리 집약형 워크로드를 위한 OS 스케줄링 최적화
초록
본 논문은 원격 DRAM 접근을 최소화하기 위해 각 스케줄링 퀀텀마다 스레드별 로컬·원격 메모리 접근 패턴을 수집하고, 네 가지 알고리즘(세 가지 그리디와 헝가리안 매칭)으로 다음 퀀텀의 스레드‑노드 매핑을 재구성한다. 합성 워크로드와 DRAM 지연 변화에 대한 실험 결과, 최적화된 스케줄링이 DRAM 접근 지연을 최대 55 %까지 감소시키며, 알고리즘 복잡도와 성능 사이에 명확한 트레이드오프가 존재함을 보여준다.
상세 분석
이 연구는 ccNUMA 기반 멀티소켓·멀티코어 서버에서 메모리 접근 지연이 전체 성능을 좌우한다는 점에 착안한다. 기존 OS 스케줄러는 주로 CPU 사용률과 로드 밸런싱에 초점을 맞추지만, 원격 DRAM 접근을 고려하지 않는다. 저자는 각 스레드가 현재 퀀텀 동안 발생시킨 로컬·원격 DRAM 접근 횟수를 하드웨어 카운터로 측정하고, 이를 기반으로 다음 퀀텀에 스레드를 어느 노드에 배치할지 결정한다. 네 가지 제안 알고리즘은 다음과 같다.
-
알고리즘 1: 모든 스레드‑노드 쌍의 접근 횟수를 내림차순 정렬 후, 가장 높은 값을 가진 스레드를 해당 노드에 할당한다. 노드당 코어 수(4)만큼 할당이 차면 더 이상 할당하지 않는다. 시간 복잡도는 O(N L log(N L))이며, 정렬 단계가 지배적이다.
-
알고리즘 2: 노드 0부터 순차적으로 접근 횟수를 정렬하고, 상위 4개의 스레드를 해당 노드에 배정한다. 이후 리스트에서 제거하고 다음 노드로 진행한다. 이는 알고리즘 1과 유사하지만 노드별 정렬을 병렬화한다는 가정하에 O(N log N) 정도의 복잡도를 목표로 한다.
-
알고리즘 3: 4개의 스레드 조합을 모두 생성하고, 각 조합에 대한 노드별 총 접근 횟수를 계산한다. 조합을 내림차순 정렬한 뒤, 가장 높은 조합을 해당 노드에 할당하고, 해당 스레드들을 리스트에서 제거한다. 조합 수가 N⁴이므로 복잡도는 O(L·N⁴·log(L·N⁴))로 가장 비싸지만, 원격 접근을 크게 감소시키는 효과가 크다.
-
알고리즘 4: 스레드‑노드 매핑을 이분 그래프 매칭 문제로 모델링하고, 최적의 매칭을 찾기 위해 헝가리안 알고리즘을 적용한다. 복잡도는 O(N³)이며, 알고리즘 3보다 낮지만 최적 해를 제공한다.
실험은 4소켓·각 4코어(총 16스레드) 환경에서 세 종류의 합성 워크로드(Synth1~3)와 원격 DRAM 지연을 150, 200, 300 사이클로 변동시켜 수행했다. 결과는 알고리즘 3과 4가 가장 높은 DRAM 사이클 절감률(최대 55 %)을 보였으며, 알고리즘 2와 4는 복잡도 대비 좋은 트레이드오프를 제공한다는 점을 강조한다. 또한 원격 DRAM 지연이 커질수록 절감 효과가 더욱 두드러졌다.
이 논문은 OS 레벨에서 메모리 접근 패턴을 실시간으로 관찰하고 스케줄링에 반영함으로써, 하드웨어 수준의 페이지 마이그레이션 없이도 원격 메모리 접근을 효과적으로 억제할 수 있음을 입증한다. 다만, 실제 어플리케이션에 적용하기 위해서는 카운터 오버헤드, 스케줄링 지연, 캐시 친화성 등 추가적인 시스템 변수들을 고려해야 할 필요가 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기