Meta, 하루 약 4천만 건 '배치 문제' 푸는 Rebalancer 오픈소스로 공개
Meta가 9년 넘게 서버·서비스 배치에 써 온 할당 문제 해결 도구를 Apache 2.0으로 풀었어요.
핵심 3줄
- Rebalancer는 '물건(objects)'을 '칸(bins)'에 조건에 맞게 나눠 담는 할당 문제(assignment problem)를 푸는 C++·Python 라이브러리예요.
- Meta 안에서 9년 넘게 썼고, 지금 하루 약 4천만 건, 30가지가 넘는 형태의 문제를 풀어요. 26만 5천 개 물건·3,200개 칸 문제에서 P99 풀이 시간은 12초래요.
- Apache 2.0 라이선스로 GitHub에 공개됐고, pip install rebalancer로 설치할 수 있어요.
🧪 CONTENTSLAB 평참고만★★★★★실전 활용도 2/5
개발자
작업을 여러 서버·GPU·작업자에게 나눠 주는 스케줄러를 직접 짜고 있다면, 조건(용량·우선순위)을 선언만 하고 풀이는 맡기는 방식으로 바꿔 볼 수 있어요. 최적해(MIP)와 빠른 근사(로컬 서치) 중 고를 수 있어요.
1인 사업자·기획자
당장 쓸 도구는 아니에요. 대규모 서비스가 '무엇을 어디에 둘지'를 이렇게 자동으로 정한다는 배경 지식 정도로 보면 돼요.
CONTENTSLAB 생각 · 이렇게 써 볼 수 있을 것 같아요
서버 여러 대에 작업을 나눠 돌리는 자동화 도구를 직접 운영한다면, 손으로 짠 배분 규칙을 Rebalancer 예제로 옮겨 결과를 비교해 보면 좋을 것 같아요. 그런 규모가 아니라면 지금은 참고만 해도 충분해 보여요.
Meta가 10월 6일(현지 시간) 공식 X에서 Rebalancer 오픈소스 공개를 알렸어요(엔지니어링 블로그 글 날짜는 9월 21일). 하드웨어 배치, 서비스·작업 배치, 트래픽 라우팅처럼 '무엇을 어디에 둘지' 정하는 문제를 목표와 제약 조건에 맞춰 풀어 주는 도구예요. 문제를 정의하는 부분과 저장·풀이·디버깅하는 부분을 나눠 둔 게 특징이고, 풀이 과정을 웹에서 들여다보는 Rebalancer Explorer도 함께 공개됐어요. 100만 개가 넘는 물건·5,000개 칸 문제는 평균 171초에 풀었대요(Meta 발표). 자세한 내용은 OSDI 2024 논문에 있어요.
X 게시물 보기 · https://x.com/Meta_Engineers/status/2107472235350962351
