facebook / rebalancer

A scalable C++ assignment solver and DSL used at Meta for large-scale ML placement and infrastructure load balancing.

活跃维护 Apache 2.0 C++ Tracked
468 47 1 小时前
CIPyPI

星标趋势

数据积累中,暂无足够数据生成趋势图

AI 分析

项目摘要

Rebalancer is a C++-based assignment solver library and domain-specific language (DSL) developed by Meta for solving large-scale resource allocation problems, such as placing ML training/inference workloads, balancing server loads, and routing traffic. It supports both local search heuristics for scalability and mixed-integer programming for optimal solutions.

为什么值得关注

Backed by Meta and used for critical large-scale infrastructure placement and load balancing, it offers a generic DSL for assignment problems with multi-threaded C++ performance and Python bindings, capable of handling problems with up to a million objects.

优势

  • Scalable C++ core handling ~1M objects
  • Flexible DSL for defining complex assignment rules and objectives
  • Multiple solving algorithms including local search and MIP (Gurobi, Xpress, HiGHS)
  • Python bindings available for broader accessibility

局限性

  • Lacks automated tests in the repository
  • No examples or Docker support provided
  • Optimal solving relies on commercial solvers (Gurobi, Xpress)

使用场景

  • ML training and inference workload placement
  • Server and hardware resource allocation
  • Traffic routing and load-balancing migrations
目标用户: Infrastructure engineers and MLOps teams dealing with large-scale resource allocation and placement optimization.
学习曲线: 中
分析模型:LongCat-2.0 | 分析时间:17 天前