storj / uplink

Storj network Go library
MIT License
115 stars 18 forks source link

Implement the scheduler for controling parallel segment uploads #119

Closed iglesiasbrandon closed 1 year ago

iglesiasbrandon commented 1 year ago

We want to use available bandwidth while not over-saturating. One way to tell when your upload limited is when all of your individual piece uploads start taking the same amount of time (assuming all of the pieces are the same size). When that begins to happen, you should limit the concurrency some. When you have some pieces completing faster than others, you should increase the concurrency some.

Deliverable: Implement an initial pass at a scheduler that does this and evaluate.

iglesiasbrandon commented 1 year ago

@zeebo would we be able to estimate what sort of impact this might have on slow connections, average connections, and fast connections? how could we simulate this?

kristaxox commented 1 year ago

@zeebo poke for story point estimation :)

mniewrzal commented 1 year ago

@zeebo are there any code changes for this already?