文件分发设计

针对面试中遇到的文件分发问题,提出了两种解决方案。方案1是逐级分发,但存在效率问题,即最后一台机器等待时间长。方案2通过文件切分与并行传输优化了效率,确保所有机器能在最短时间内获得完整文件。具体策略是将文件平均切分为(N-1)块,然后通过多轮并行传输,使得所有机器在T时间内完成接收。
摘要由CSDN通过智能技术生成

面试时遇到的问题,写下来记一下思路。


前提:有N台机器,任意两台机器间拥有独立的双向传输连接。

问题:现在N台机器中的1台想要把一个M大小的文件分发给其他机器,设计一个方案让N台机器可以最快的获得文件。

假设:把文件发送给其中1台机器的时间为T。拥有文件的机器为1号,其他机器从2号开始到N号。最终耗时t。


方案1:

1号机器向2号机器发送文件,耗时T。

由1,2号机器同时向3,4号机器发送文件,耗时T。

由1,2,3,4号机器同时向5,6,7,8号机器发送文件,耗时T。

......

直至所有机器都获得了文件。


每一次发送完成,拥有文件的机器数量为(2^发送次数)

假设n为发送次数,则

上述方案可以保证每台机器都能一次性获得全部的文件,但2号机获得文件时间要比N号机早很多,使N号机在获得文件之前一直处于等待状态。

<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值