MANAGING A HIERARCHY OF RESOURCES IN AN SDDC
Some embodiments provide a hierarchical data service (HDS) that manages many resource clusters that are in a resource cluster hierarchy. In some embodiments, each resource cluster has its own cluster manager, and the cluster managers are in a cluster manager hierarchy that mimics the hierarchy of the resource clusters. In some embodiments, both the resource cluster hierarchy and the cluster manager hierarchy are tree structures, e.g., a directed acyclic graph (DAG) structure that has one root node with multiple other nodes in a hierarchy, with each other node having only one parent node and one or more possible child nodes.
1 . A method of managing resources in a set of one or more datacenters, the method comprising:
defining a hierarchy of resource clusters with each cluster having a set of one or more resources and the hierarchy comprising a plurality of levels with each level comprising a set of one or more clusters;
for each particular cluster, defining a maximum level of upstream clusters that are above the particular cluster in the hierarchy that should receive data specific to the particular cluster; and
using the defined maximum number to propagate cluster data up the hierarchy.
2 . The method of claim 1 , wherein using the defined maximum number comprises:
at a particular cluster at a particular level in the hierarchy:
identifying each progeny cluster of the particular cluster that at the particular level has reached the progeny's cluster maximum level; and
combining data from each identified progeny cluster with the identified progeny cluster's parent cluster and providing the combined data to a parent cluster of the particular cluster.
3 . The method of claim 2 further comprising providing, to the parent cluster of the particular cluster, data from a grandparent cluster of an identified progeny cluster without combining the grandparent cluster's data with any data from a child cluster of the grandparent cluster.
4 . The method of claim 2 further comprising providing, to the parent cluster of the particular cluster, data from each particular grandparent cluster of an identified progeny cluster without combining the particular grandparent cluster's data with any data from a child cluster of the grandparent cluster.
5 . The method of claim 1 , wherein all clusters have a same maximum level.
6 . The method of claim 1 , wherein all clusters at a particular level of the hierarchy have a same maximum level.
7 . The method of claim 1 , wherein different clusters at a same level of the hierarchy have a same maximum level.
8 . The method of claim 1 , wherein first and second clusters are at a first level of the hierarchy, wherein using the defined maximum number comprises:
at a particular cluster at a particular level in the hierarchy:
identifying a first progeny cluster of the particular cluster that at the particular level has reached the progeny's cluster maximum level;
combining data from each identified progeny cluster with the identified progeny cluster's parent cluster and providing the combined data to a parent cluster of the particular cluster; and
providing, to the parent cluster of the particular cluster, data from a second cluster without combining the second cluster's data with data from a parent cluster of the second cluster.
9 . The method of claim 1 , wherein the resource clusters comprise compute clusters including at least three of datacenters, host computers, machines executing on host computers, processors of host computers, processor cores of processors, memories of host computers and storages.
10 . The method of claim 1 further comprising limiting upward propagation of data to instances where updated data volume exceeds a particular threshold.
11 . A non-transitory machine readable medium storing a program for execution by a set of processing units, the program for managing resources in a set of one or more datacenters, the program comprising sets of instructions for:
defining a hierarchy of resource clusters with each cluster having a set of one or more resources and the hierarchy comprising a plurality of levels with each level comprising a set of one or more clusters;
for each particular cluster, defining a maximum level of upstream clusters that are above the particular cluster in the hierarchy that should receive data specific to the particular cluster; and
using the defined maximum number to propagate cluster data up the hierarchy.
12 . The non-transitory machine readable medium of claim 11 , wherein the set of instructions for using the defined maximum number comprises sets of instructions for:
at a particular cluster at a particular level in the hierarchy:
identifying each progeny cluster of the particular cluster that at the particular level has reached the progeny's cluster maximum level; and
combining data from each identified progeny cluster with the identified progeny cluster's parent cluster and providing the combined data to a parent cluster of the particular cluster.
13 . The non-transitory machine readable medium of claim 12 further comprising a set of instructions for providing, to the parent cluster of the particular cluster, data from a grandparent cluster of an identified progeny cluster without combining the grandparent cluster's data with any data from a child cluster of the grandparent cluster.
14 . The non-transitory machine readable medium of claim 12 further comprising a set of instructions for providing, to the parent cluster of the particular cluster, data from each particular grandparent cluster of an identified progeny cluster without combining the particular grandparent cluster's data with any data from a child cluster of the grandparent cluster.
15 . The non-transitory machine readable medium of claim 11 , wherein all clusters have a same maximum level.
16 . The non-transitory machine readable medium of claim 11 , wherein all clusters at a particular level of the hierarchy have a same maximum level.
17 . The non-transitory machine readable medium of claim 11 , wherein different clusters at a same level of the hierarchy have a same maximum level.
18 . The non-transitory machine readable medium of claim 11 , wherein first and second clusters are at a first level of the hierarchy, wherein the set of instructions for using the defined maximum number comprises sets of instructions for:
at a particular cluster at a particular level in the hierarchy:
identifying a first progeny cluster of the particular cluster that at the particular level has reached the progeny's cluster maximum level;
combining data from each identified progeny cluster with the identified progeny cluster's parent cluster and providing the combined data to a parent cluster of the particular cluster; and
providing, to the parent cluster of the particular cluster, data from a second cluster without combining the second cluster's data with data from a parent cluster of the second cluster.
19 . The non-transitory machine readable medium of claim 11 , wherein the resource clusters comprise compute clusters including at least three of datacenters, host computers, machines executing on host computers, processors of host computers, processor cores of processors, memories of host computers and storages.