Skip to content
Laurent Demailly edited this page Jul 21, 2015 · 8 revisions

Please keep the questions coming !

What does "multiple TCP paths" mean? TCP does not deal with paths (routing/forwarding). Is it just a typo for "connections" or does the library really use multiple paths where available?

Facebook internally use SDN which hashes source host/port destination host/port to pick paths. By using multiple connections on independent ports we do get multiple path utilized and can thus get better reliability and throughput if some are less healthy than others.

Why not UDP ?

http://udt.sourceforge.net/ is a solution using UDP but we decided that TCP with multiple flow was a better tradeoff for us (not to reinvent most of the window, congestion control, etc... of TCP)

Why not bittorrent ?

bittorrent is optimized for sending to many and across peers. for fastest data transfer the time it takes to read the data is the bottleneck once the network is optimized, so hashing before sending would be more costly (for a 1:1 copy) we are considering 1:many case for future development but there are tools (like bittorrent) which already excel at this

How do I ask more questions ?

Create a new issue or email

Feel free to suggest your favorite collaboration tool - Would a facebook group work for people ?

Clone this wiki locally