CPC G06F 12/023 (2013.01) [G06F 12/10 (2013.01); G06F 2212/1044 (2013.01); G06F 2212/152 (2013.01)] | 20 Claims |
1. A method of managing virtual memory space, the method comprising:
receiving, from one of a plurality of virtual machines (VMs) in a VM chain, a swap out request for writing a block of memory to a storage medium, the plurality of VMs being clones of a parent VM, the parent VM and the plurality of VMs forming the VM chain;
based on the swap out request, generating a hash value for the block of memory to be written to the storage medium;
determining whether the hash value for the block of memory is available within a chain hash table, the chain hash table being shared across the plurality of VMs in the VM chain;
based on determining that the hash value for the block of memory is available within the chain hash table, updating, without writing the block of memory to the storage medium, a logical addressing table for the one of the plurality of VMs in the VM chain to indicate a location of a prior-existing duplicate of the block of memory on the storage medium; and
based on determining that the hash value for the block of memory is not available within the chain hash table:
writing the block of memory to the storage medium;
updating the logical addressing table for the one of the plurality of VMs in the VM chain to indicate a location of the block of memory on the storage medium; and
updating the chain hash table with the hash value.
|