fft icon indicating copy to clipboard operation
fft copied to clipboard

优化多个 worker 时的拥塞控制

Open fatedier opened this issue 5 years ago • 4 comments

当多个 worker 之间的传输速率不一致时,由于缓冲区大小有限,若窗口最前面的包 block 在慢速的 worker 中,需要等这些包传输完成后才能释放缓冲区的空间,导致整体传输速度变慢。

fatedier avatar Mar 21 '19 15:03 fatedier

源文件 -> 分卷压缩 => 并行传输 -> 合并解压

分片全部传输完之后再合并, 就不存在等待的问题了, 与其堆积在内存做衔接, 不如放在临时文件目录做合并.

tldzyx avatar Dec 01 '20 03:12 tldzyx

@tldzyx 只是传文件的话,这样的思路没有问题。但是当初设计的时候,其实是想兼容流式传输的内容,传文件是作为其中最简单的一个使用场景来测试验证这个想法的可行性。

之后可以作用于其他使用场景,提供一个通用的解决方案,这样就可以被复用,例如在内网穿透方面。

fatedier avatar Dec 01 '20 03:12 fatedier

@tldzyx 只是传文件的话,这样的思路没有问题。但是当初设计的时候,其实是想兼容流式传输的内容,传文件是作为其中最简单的一个使用场景来测试验证这个想法的可行性。

之后可以作用于其他使用场景,提供一个通用的解决方案,这样就可以被复用,例如在内网穿透方面。

是否可以将窗口靠前的包放在线路良好的节点上,可以自主选择节点传输数据的权重以及优先级

shaojs321 avatar Aug 12 '22 18:08 shaojs321

@shaojs321 和 TCP 一样,需要一个拥塞控制的算法来动态调节。

fatedier avatar Aug 13 '22 10:08 fatedier