分布式系统中的资源分配

发布于 2025-01-10 11:03:56 字数 483 浏览 0 评论 0原文

我有一个关于分布式系统中资源分配的问题。
假设我们有一个由 10K 台主机组成的系统,我们必须根据以下限制在它们之间分配传出的飞行带宽(我们已向下游发送但尚未完成的项目数):

  • 总体而言,本地带宽的总和为 本地小于 MAX_GLOBAL_BANDWIDTH
  • ,对于每个主机,带宽最多应为 MAX_LOCAL_BANDWIDTH。
  • 每个主机将有许多需要发送的工作单元,形成积压。每个工作单元的发送成本正好是 1 个带宽单元。
  • 积压较多的主机应该接收更多的带宽,
  • 每个主机之前已经发送了一定量的工作,但仍在进行中,LOCAL_INFLIGHT,它计入 MAX_LOCAL_BANDWIDTH,限制了我们当前可以从主机发送的内容,
  • 优化整体发送尽可能多的工作单元

我们应该采用什么算法来在主机之间公平地分配飞行中的带宽以及什么类型的算法是最好的(分布式计算与集中式方法,考虑到我们需要执行此操作经常计算)?

I have a question regarding the allocation of resources in a distributed system.
Let's say we have a system of 10K hosts and we have to split an outgoing inflight bandwidth (how many items have we sent to a downstream but have not yet completed) among them according to the following limitations:

  • overall the sum of the local bandwidths has to be less than MAX_GLOBAL_BANDWIDTH
  • locally, for each host the bandwidth should be at most MAX_LOCAL_BANDWIDTH
  • each host will have a number of work units that need to be sent forming a backlog. Each unit of work costs exactly 1 bandwidth unit to send out.
  • the hosts with a higher backlog should receive more of the bandwidth
  • each host has already sent an amount of work previously which is still inflight, LOCAL_INFLIGHT, which counts towards the MAX_LOCAL_BANDWIDTH, limiting what we can send currently from the host
  • optimize the overall sending of as much units of work as possible

What algorithm should we employ to distribute this inflight bandwidth fairly across the hosts and also what type of algorithm is best (distributed calculation versus a centralized approach, considering the fact we need to perform this computation often) ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文