AB
AiBoss
ニュース

Meta 开源 Rebalancer:面向分配问题的高性能求解库

Meta 工程团队宣布开源 Rebalancer,一个已在内部使用九年以上的分配问题求解器。它把问题描述与求解过程分离,支持最优求解与局部搜索两种模式,并附带调试用可视化工具 Rebalancer Explorer。

Meta 开源分配问题求解库 Rebalancer

Meta 工程团队在其工程博客发文,宣布将 Rebalancer 开源。据该文介绍,Rebalancer 是一个通用的分配问题(assignment problem)求解器,已在 Meta 内部用于资源分配类问题超过九年。文章称,其设计核心是把若干关注点分开:如何描述一个分配问题、如何在内存中高效存储、如何求解,以及如何调试。相关技术细节另有一篇发表于 OSDI'24 的论文《Optimizing Resource Allocation in Hyperscale Datacenters: Scalability, Usability, and Experiences》。

背景与影响

文章把分配问题概括为:给定一组对象和一组容器,如何在满足约束的前提下把对象分配到容器中,以优化特定目标。文中列举了 Meta 基础设施中的若干场景,包括机架在数据中心中的硬件放置、服务器到服务的放置、任务到服务器的分配,以及把用户流量路由到地理分布的数据中心。文章指出,设计可复用框架的主要难点在于易用性与可扩展性:前者受限于从业者难以把现实策略翻译成形式化优化方法所需的数学公式,后者则受制于商业求解器难以高效处理的 NP-hard 问题。Rebalancer 通过把问题描述与求解分离来应对这两点,将问题转换为有向无环的表达式图,再据此设计局部搜索启发式,或构建可用商业求解器(FICO Xpress、Gurobi)或开源求解器(HiGHS)求解的混合整数规划模型。文章还提到,该库附带一个 Docker 化的 Web UI 工具 Rebalancer Explorer,用于辅助调试与迭代。

限制与来源

本文内容整理自 Meta 工程博客的公开文章,属于厂商自述,其中的使用规模与性能描述尚未获得独立第三方验证。文章称 Rebalancer 采用 Apache 2.0 许可证,但许可证、功能范围、支持的语言与平台、可用地区等具体信息可能变化,请以项目官网与代码仓库的当前信息为准。文中提及的第三方求解器与商标归各自所有者。本文不构成任何投资、法律或采购建议。