A Survey Analysis of Memory Elasticity Techniques

Elasticity is an important feature in cloud computing environments. This feature allows a Virtual Machine to adapt resource allocation according to the nature of its workload. Until now, most memory elasticity implementations require human intervention. The implementation of memory elasticity is not very straightforward, due to old Operating System concepts; in general an Operating System assumes that all installed memory will be static and will not increase or decrease until the next shutdown. This paper compares two techniques for the implementation of memory elasticity, one based on the concept of Exponential Moving Average and the other based on Page Faults. To compare these modes of implementation, a method to measure allocation efficiency based on the space-time product was used. With an Exponential Moving Average, memory could be used more efficiently. When Page Faults were used as the main criteria to allocate or remove memory, the performance improved when compared to the Exponential Moving Average technique.