todo
This commit is contained in:
parent
2a5173d566
commit
2574bb0b32
1 changed files with 22 additions and 0 deletions
22
doc/todo/get_round_robin.mdwn
Normal file
22
doc/todo/get_round_robin.mdwn
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
`git annex get` always gets files from the remote with the lowest cost.
|
||||||
|
|
||||||
|
When two remotes have the same cost, it breaks the tie somehow,
|
||||||
|
and consistently prefers one of them over the other.
|
||||||
|
|
||||||
|
It would be nice if it instead round-robined amoung remotes with
|
||||||
|
the same cost that have the file. In particular, with -J2, and 2 remotes
|
||||||
|
A and B having each file, one thread could download from A and the other
|
||||||
|
from B. That might be much faster than the current behavior of two threads
|
||||||
|
downloading everything from A.
|
||||||
|
|
||||||
|
Maybe a way to implement it is to keep a list of recently used remotes,
|
||||||
|
and when starting a new get from a set of remotes that have the same cost,
|
||||||
|
prefer the remote that is futher down the recently used list (or not on it
|
||||||
|
at all). (Or, since git-annex has a remote list already, it could rotate
|
||||||
|
the remotes of the same cost whenever starting a download from one.)
|
||||||
|
|
||||||
|
While this would be a nice improvement to -J2 from network remotes,
|
||||||
|
it might not really be desirable when not run in parallel. In particular,
|
||||||
|
if A and B are on different spinning disks, then an access pattern of
|
||||||
|
A,B,A,B might keep the disks idle enough that they spin down in-between
|
||||||
|
access.
|
Loading…
Add table
Add a link
Reference in a new issue