Hardware assisted dynamic memory balancing in virtual machines

Virtualization technology can reduce the total cost of ownership by sharing resources with respect to the resource demand of each guest. Therefore, an efficient resource sharing mechanism is important for a virtual machine monitor (VMM). We introduce a hardware assisted dynamic memory balancing mechanism that balances memory among guests. Our proposed scheme estimates memory demand for each guest and periodically re-balances memory allocation based on this estimation. In order to estimate working set size (WSS), we use least recently used (LRU) histogram as a prediction model. Construction of LRU histogram is performed in a guest transparent way by using hardware memory management unit (MMU) virtualization support. Our experiments show that the proposed scheme accurately estimates the WSS with low overhead. They also show that it substantially improves performance over static memory allocation.