gpt4 book ai didi

algorithm - P2P distribution - 监督节点的抽象算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:58:04 25 4
gpt4 key购买 nike

我计划制作一个使用 BitTorrent 协议(protocol)在多个站点之间分发 VM 镜像的系统。当前系统如下所示:

                                            |-[room with 20PCs]-
[srv_with_images]-->--[1Gbps-bottlneck]-->--|
|-[2nd room with 20PCs]-

所有的电脑每晚都同时通过 1Gbps 的瓶颈下载图像,这需要很多时间。我们计划使用 BitTorrent 通过所有 PC 之间的点对点交换来加速图像的分发。然而存在问题——当图像出现在原始服务器上时,它开始充当单个种子,所有对等点都从该种子同时下载文件。于是我们再次陷入了瓶颈的陷阱。为了加速分发,我们需要实现(至少我们认为我们需要)一个抽象的高级算法:

  • 确保在新图像到达时只有一小部分站会从源下载图像,
  • 当一小部分开始播种时,其余或另一大部分 PC 将开始对等,或者他们将仅从类里面的 PC 进行对等,而不是从原始 PC 进行对等,
  • 它不应该依赖于初始对等点的“静态”列表,因为某些计算机可能在白天处于离线状态。我们不能假设任何一台计算机将始终正常运行。对等点也可以随时关闭。

是否有任何特定的算法可以帮助我们设计这个?最天真的方法是只在某处保留事件服务器列表,并创建一些守护进程来为每个种子选择初始对等点。但也许有一些更优雅的方法来做这类事情??

另一种选择是确保只有一些对等点可以从源下载,而其余对等点相互下载(但不是从源)- 在 BitTorrent 协议(protocol)中可能吗?

最佳答案

如果您使用的是 bittorrent,则无需特别协调。

瓶颈后面的对等点可以直接相互交谈并共享带宽。使用 rarest-first piece picking 算法将主要确保他们从服务器下载不同的 piece,然后相互共享。

LSD可能有助于加快局域网本地发现,但如果没有 NAT 恶作剧,它也应该与普通跟踪器一起工作。

关于algorithm - P2P distribution - 监督节点的抽象算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42123047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com