You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Drafter currently does:
for in devices {
sendDevInfo()
Migrate()
DirtyBlockMigrate()
}
This is ok, except for the fact that nothing is synchronized. So what happens often in practice is that there is a "loser" device, as in the graph, which cannot send it's devInfo, so doesn't get to Migrate() until the data rate drops. This can lead to a fair delay in sending one or more of the devices, and inefficient use of the bandwidth.
Fix:
We should separate migration into 3 distinct phases.
We send all initial data for all devices (SendDevInfo())
We Migrate() all devices at the same time
We do DirtyBlock loops.
Just as a SendDevInfo may be delayed heavily if other devices are migrating, a dirty loop will not work well at all if there is no bandwidth because other devices are still migrating.
By synchronizing these phases across devices we should get far better bandwidth utilization for the entire migration.
The text was updated successfully, but these errors were encountered:
The image shows a migration in drafter.
Drafter currently does:
for in devices {
sendDevInfo()
Migrate()
DirtyBlockMigrate()
}
This is ok, except for the fact that nothing is synchronized. So what happens often in practice is that there is a "loser" device, as in the graph, which cannot send it's devInfo, so doesn't get to Migrate() until the data rate drops. This can lead to a fair delay in sending one or more of the devices, and inefficient use of the bandwidth.
Fix:
We should separate migration into 3 distinct phases.
Just as a SendDevInfo may be delayed heavily if other devices are migrating, a dirty loop will not work well at all if there is no bandwidth because other devices are still migrating.
By synchronizing these phases across devices we should get far better bandwidth utilization for the entire migration.
The text was updated successfully, but these errors were encountered: