This multi-tier approach brings up a few issues. Faster and more reliable memory costs more.
High-performance or non-volatile memory usage significantly raises the resulting price of the system.
Talking about flash, SLC flash memory is very expensive, while cheaper but still costly MLC flash has shorter lifetime due to up to 10 times lower write/erase cycles limit. VM workload is dominated by random I/O
, which is difficult to predict. Insufficient cache memory would mean low cache hit ratio. The idea to get more cache memory stumbles upon high price.
Additionally, certain processes, like starting moved VMs on destination node after vMotion, Live Migration or XenMotion, cause drops in performance because the VMs are started in a “cold state”. This means that the VM is started without its data in cache, causing a dramatic loss of performance.
Using conventional RAM instead of non-volatile memory, renders the cache prone to errors, because data in cache will be lost in case of hardware malfunction or power outage. On the other hand, utilizing power-independent memory raises the problem of high price, referenced above.