| [TOC] |
| |
| # Google Summer of Code 2016 |
| |
| Here are our project ideas for Google Summer of Code 2016 |
| |
| It might be interesting to have a look at ideas in [2015](SummerOfCode2015Ideas.md), [2014](SummerOfCode2014Ideas.md) and [2013](SummerOfCode2013Ideas.md). |
| |
| # Project proposals |
| |
| ## Optimize balancing speed by accounting for migration speed |
| |
| hbal usually performs a complex sequence of moves during cluster balancing in order to achieve local optimal cluster state. Unfortunately, some moves may take significant amount of time. In cases where balancing is periodically performed to optimize cluster performance, disk moves can be prohibitively slow (which can be avoided using the `--no-disk-moves` or `--avoid-disk-moves` options). However, instances can be slow to migrate for other reasons, such as a heavily used instance which updates its memory at high speed. Thus, we'd like to have the following features: |
| |
| * move/migration time estimation in HTools; |
| * time limits for cluster balancing steps; overall balancing sequence time limit; |
| * an option `--avoid-long-moves` similar to `--avoid-disks-moves` |
| |
| This project would be based on [the implementation introduced in 2.17](http://docs.ganeti.org/ganeti/2.17/html/design-migration-speed-hbal.html). |
| |
| ## Improve KVM live migration |
| |
| Live migration on KVM clusters could be improved by adding the following features: |
| |
| * Timeouts or live migrations to handle the case of memory being updated faster than it can be copied. If the memory copy isn't completed before that timeout, the VM will be paused and the remainder copied over. This is related to the current migration downtime option, but approaches it from the other end. |
| * Implement KVM postcopy migration support. Refs: |
| * http://wiki.qemu.org/Features/PostCopyLiveMigration |
| * http://grivon.apgrid.org/quick-kvm-migration |
| * https://www.redhat.com/archives/libvir-list/2014-December/msg00093.html |