侧边栏壁纸
  • 累计撰写 244 篇文章
  • 累计创建 16 个标签
  • 累计收到 0 条评论
隐藏侧边栏

Twine 动态集群

kaixindeken
2021-04-20 / 0 评论 / 0 点赞 / 82 阅读 / 633 字

Twine 的动态集群(机器池)建立在其抽象出的 Entitlement 上,每个 Entitlement 集群都包含一组动态分配的机器、属于特定业务的子集群。数据中心中的机器和任务之间建立其的这层抽象使机器的分配变得更加动态:

1.png

需要注意的是,我们在这里简化了 Twine 中的模型,Facebook 的数据中心会由几十个主配电板(Main Switchboard、MSB)组成,它们具有独立的电力供应和网络隔离。同一 Entitlement 下的机器也可以是跨 MSB 的。

随着 Task 资源需求的增加,Twine 会将判断运行该 Task 的机器所在的 Entitlement 并动态的添加新的机器用于运行该 Task。这有助于自动化的 Task 转移,但是 Task 转移是重启型的而不是实时迁移型的。

上述对 Entitlement 的机器分配和将同一 Entitlement 下的 Task 调度到特定的机器上的工作全是 Allocator 的功劳。

Allocator 在分配时需要考虑是否是新的 job,现有 job 资源大小是否改变以及是否机器故障

通过上述三种情况分析,先满足硬件需求,后进行软件配置,软件配置遵循同类属性值机器的原则。

0

评论区