CPC G06F 16/164 (2019.01) | 18 Claims |
1. A method for synchronizing multiple compute entities during stored entity metadata re-balancing that is performed upon an expansion of a storage system, the method comprises:
instructing multiple compute entities, by an expansion manager and during a first phase of the stored entity metadata re-balancing, to:
(i) lookup any stored entity metadata, during the first phase, in both current and next locations of metadata entries of the stored entity metadata by using:
a current translation function for linking identifiers of stored entities to stored entities metadata; wherein the current translation function is based on a size value of a current storage space allocated to stored entities metadata; and
a next translation function for linking identifiers of stored entities to stored entities metadata; wherein the next translation function is based on a size value of a next storage space allocated to stored entities metadata; wherein the current space is expanded during the expansion of the storage system to provide the next storage space; and
(ii) update any stored entity metadata accessed using the current translation function without updating stored entity metadata accessed using the next translation function;
accessing a stored entity, by any of the multiple compute entities that receives an access request after being instructed and during the first phase, wherein the accessing comprises: using the current translation function for looking up a current location of a metadata entry of the stored entity, using the next translation function for looking up a next location of the metadata entry, and updating the stored entity metadata at the current location; and
instructing the multiple compute entities, by the expansion manager and during a second phase of the stored entities metadata re-balancing to:
update, any stored entity metadata accessed using the next translation function without updating stored entity metadata accessed using the current translation function;
lookup any stored entity metadata by using the next translation function and by using the current translation function.
|