Learning to Score: Tuning Cluster Schedulers through Reinforcement Learning

이 논문은 클러스터 스케줄러의 점수 함수 가중치를 강화학습으로 자동 조정하여 다양한 워크로드와 클러스터 환경에서 작업의 종단간 성능을 평균 33% 향상시키는 방법을 제안합니다.

Martin Asenov, Qiwen Deng, Gingfung Yeung, Adam Barker

게시일 2026-03-12
📖 4 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

이 논문은 **"거대한 데이터 센터의 교통 체증을 해결하는 똑똑한 AI 조종사"**에 대한 이야기입니다.

한마디로 요약하자면, **"어떤 일을 어디에 시킬지 정하는 규칙의 중요도 (가중치) 를 AI 가 스스로 학습해서, 기존에 사람이 수동으로 설정하던 방식보다 훨씬 효율적으로 만들어냈다"**는 것입니다.

이 복잡한 내용을 일상적인 비유로 쉽게 설명해 드릴게요.


1. 상황: 거대한 물류 창고와 택배 기사들

생각해 보세요. 거대한 물류 센터 (클러스터) 가 있고, 수천 개의 택배 (작업/Job) 가 쏟아져 들어옵니다. 이 센터에는 다양한 트럭 (노드/서버) 들이 있습니다. 어떤 트럭은 크고 빠르고 (고성능 서버), 어떤 트럭은 작고 느립니다 (에지 디바이스).

이때 **스케줄러 (Schedular)**는 "어떤 택배를 어떤 트럭에 실을지" 결정하는 교통 통제관입니다.

2. 문제점: "한 가지 규칙으로 모두 재단하다"

지금까지의 교통 통제관들은 택배를 배정할 때 몇 가지 규칙을 따랐습니다.

  • 규칙 A: 트럭이 비어있는 곳으로 보내기 (빈 공간 활용)
  • 규칙 B: 트럭이 가득 찬 곳으로 보내기 (공간 절약)
  • 규칙 C: 택배와 트럭이 같은 지역에 있는지 확인 (거리 단축)

여기서 문제가 생깁니다.
기존 방식은 이 모든 규칙에 **동일한 점수 (가중치)**를 매겼습니다. 마치 "비어있는 곳도 중요하고, 가득 찬 곳도 중요하고, 거리도 중요하니까 모두 100 점!"이라고 하는 것과 같습니다.

하지만 상황에 따라 중요도는 달라야 합니다.

  • **비상구급차 (긴급 작업)**가 오면 '거리'가 가장 중요하고, '빈 공간'은 덜 중요할 수 있습니다.
  • **대량 화물 (배치 작업)**이 오면 '공간 절약'이 가장 중요할 수 있습니다.

그런데 통제관 (스케줄러) 이 이 차이를 모르고 똑같은 기준으로 판단하니, 트럭이 비효율적으로 배정되어 전체 배송 속도가 느려지고 트럭이 비어있는 시간도 길어집니다.

3. 해결책: "경험을 배우는 AI 조종사 (강화 학습)"

이 논문은 이 문제를 해결하기 위해 **강화 학습 (Reinforcement Learning)**이라는 AI 기술을 도입했습니다.

  • 기존 방식 (사람이 설정): 전문가가 "이번 달에는 '거리' 점수를 80 점으로, '빈 공간' 점수를 20 점으로 해라"라고 수동으로 설정합니다. 하지만 매번 상황이 바뀌는데 일일이 다 맞춰주기엔 너무 어렵고 비쌉니다.
  • 새로운 방식 (AI 가 학습): AI 조종사를 훈련시킵니다.
    1. AI 는 다양한 상황 (서버 종류, 택배 종류) 을 경험합니다.
    2. 매번 규칙의 점수를 조금씩 바꿔가며 (예: 거리 점수를 90 점으로, 빈 공간 점수를 10 점으로) 택배를 배정해 봅니다.
    3. 결과가 좋으면 (배송이 빨라지면) "잘했다!"라고 칭찬 (보상) 하고, 나쁘면 "다시 해봐"라고 합니다.
    4. 이 과정을 반복하며 AI 는 "어떤 상황에서는 어떤 규칙이 가장 중요한지" 스스로 깨닫게 됩니다.

4. 이 연구의 핵심 기술 (세 가지 비밀 무기)

이 AI 가 잘 학습할 수 있도록 세 가지 특별한 기술을 썼습니다.

  1. 비율 개선 보상 (Percentage Improvement Reward):

    • 단순히 "좋다/나쁘다"가 아니라, "기존 방식보다 얼마나 더 좋아졌는지"를 기준으로 점수를 줍니다.
    • 비유: "오늘 배달이 어제보다 10 분 빨라졌으면 점수 10 점!"이라고 해서, AI 가 항상 더 나은 방법을 찾게 유도합니다.
  2. 프레임 스택킹 (Frame Stacking):

    • AI 가 과거의 실패와 성공 경험을 기억하게 합니다.
    • 비유: 체스 선수가 "어제 이 수를 썼다가 졌지, 그래서 오늘은 저 수를 써야겠다"라고 과거의 몇 판을 기억하며 다음 수를 두는 것과 같습니다.
  3. 정보 제한 (Limiting Domain Information):

    • AI 가 특정 상황에만 맞춰서 학습하는 것 (과적합) 을 막기 위해, 너무 구체적인 정보 (예: "이 서버는 3 번 노드다") 는 숨기고, 큰 그림 (예: "이 서버는 고성능이다") 만 보게 합니다.
    • 비유: "서울의 A 번 도로만 알고 있는 운전사"가 아니라, "고속도로를 잘 달리는 운전사"로 키우기 위해, 구체적인 도로 이름보다는 '교통 흐름' 같은 원리만 가르치는 것입니다. 이렇게 하면 새로운 도시 (새로운 서버 환경) 에 가도 잘 운전할 수 있습니다.

5. 결과: 얼마나 좋아졌을까?

실험 결과, 이 AI 방식을 적용한 스케줄러는 다음과 같은 성과를 냈습니다.

  • 고정된 규칙 (기존 방식) 대비 33% 더 빠르고 효율적이었습니다.
  • 기존에 가장 잘하던 자동화 방법 대비 12% 더 성능이 좋았습니다.

6. 결론

이 연구는 **"하나의 규칙으로 모든 상황을 해결하려는 옛날 방식"**을 버리고, **"상황을 보고 스스로 적응하는 똑똑한 AI"**를 도입함으로써, 데이터 센터의 자원 낭비를 줄이고 작업 처리 속도를 획기적으로 높일 수 있음을 증명했습니다.

마치 매번 교통 상황을 보고 신호등 시간을 자동으로 조절하는 똑똑한 교통 시스템이 생겼다고 생각하시면 됩니다. 이제 더 이상 사람이 일일이 신호등 시간을 조절할 필요가 없게 된 셈입니다.