Remix.run Logo
delusional 5 days ago

If everybody starts at the start then it will be very poorly seeded when everybody wants it, before the being well seeded right when nobody needs it.

Calwestjobs 5 days ago | parent | next [-]

"well seeded" means what exactly?

if i can send 2 copies of piece to 2 people immediately as i got it, then if my download takes 20 ms and sending it another 20 ms is it "well seeded" for those 3 people after 50 ms? or after how much time it is "well seeded" ?

delusional 5 days ago | parent | next [-]

A precise answer to that question entails more math than I'm willing to do right here in the middle of my Easter holiday. You should understand my argument more as a sketch of proof.

That being said I have a small correction. If you want to stream to two peers (that is you have a network with 3 fully connected nodes, one being the originator of the stream) and the link latency for all links is 20ms, then your lowest latency path to each node is exactly 20ms, as the originating node could simply send the content to each client.

The unfortunate realization is that 20ms is then also the optimal stream delay, assuming you care about the shortest possible latency for your live streaming service. The clients will therefore end up with the content exactly when they were supposed to show it, and therefore they would have no time to forward it to anyone else, lest that downstream would get the content AFTER they were supposed to show it.

jsnider3 5 days ago | parent | prev [-]

Downloading and reuploading part of a file in 50 ms is optimistic and that is still only three people when serious live-streaming platforms have to deal with thousands of viewers routinely and millions every so often.

zveyaeyv3sfye 4 days ago | parent | prev [-]

That's only true if everyone starts at the very same moment in time. Of course that is not reality, and it works out well in practice.