Patent ID: 9740532
Date: 2017-08-22
CPC Classifications: G06F

Claim:
1. A computer program product for allocating multiple resources, the computer program product comprising: a computer readable storage medium and program instructions stored on the computer readable storage medium, the program instructions comprising: program instructions to receive a configured resource plan, wherein the configured resource plan manages clusters that contain at least a plurality of resources, wherein the plurality of resources contains a set of owned resources and a set of unowned resources; program instructions to construct a hierarchical tree from the configured resource plan, wherein the hierarchical tree has a set of top-level consumers and a set of non-top-level consumers, and wherein the set of top-level consumers and the set of non-top-level consumers contain one or more consumers within the hierarchical tree; program instructions to allocate the set of unowned resources according to a usage policy that prioritizes resource allocation to the set of top-level consumers first; program instructions to associate the hierarchical tree with a usage policy, and wherein the usage policy is configured such that: program instructions to send the set of unowned resources to a share pool, wherein the share pool is configured to be accessible to the one or more consumers, and wherein the share pool comprises a global pool and a local pool; program instructions to determine a change in a workload demand from the one or more consumers; program instructions to associate the plurality of resources with the one or more consumers, wherein the associated plurality of resources run multiple applications for the one or more consumers; program instructions to run a first application and a second application among multiple applications, wherein: program instructions to enable the second consumer to use at least in part of the plurality of resources from a third consumer, wherein the third consumer is a higher level consumer than the second consumer and the first consumer, and the third consumer is not a root consumer; program instructions to lend at least in part of the plurality of resources to the second consumer from the first consumer in a sequential order for future use by the second consumer, wherein the sequential order of the lending is dictated by a reverse order of preference of the first consumer for the plurality of resources; and program instructions to enable the first consumer to reclaim the at least in part of the plurality of resources lent to the second consumer.