As described in this [amazing paper](http://files.mkgnu.net/files/dynamos/doc/papers/dynamos_eurosys_07.pdf)