So that EGO allocates resources how and when you want them, create a resource plan to distribute resources from each resource group to each consumer. The more flexible your plan is, the more flexible your cluster is. For example, allowing lending and borrowing without setting limits helps your cluster react and change to the dynamic needs of your workload. However, you should not enable lending and borrowing for your InternalResourceGroup and ManagementHosts resource groups, nor change the default ownership; the services require a number of owned slots to run the cluster.
The Platform Management Console stores only your active resource plan. You can, however, import a resource plan in XML format to make updates or simply make changes to the resource plan from the Platform Management Console.
A simple default resource plan is already in place to adapt for your own purposes.
Any changes you make and apply to the resource plan in the Platform Management Console are implemented immediately. Do not apply the changes if you do not wish the changes to be immediate. Export the plan instead, and work on the copy until you are ready to import the updates and apply the changes.
- Locate your resource plan by navigating to .
Your resource plan displays.
If you have never updated or imported a resource plan, your resource plan shows default settings.
- Create and manage any time intervals.
Select or Remove Time Interval: […], where […] is the name of a specific time interval.
- If you have created resource groups, choose the resource group you want to set the resources for first from the drop down menu.
You can insert different time intervals for different resource groups.
The InternalResourceGroup and ManagementHosts resource groups are reserved for system services running your cluster. We do not recommend making changes to these two resource groups without an explicit Platform Support recommendation.
- Click Expand All.
Your entire consumer tree expands.
- Select .
Your advanced settings display, including lending and borrowing.
- Set your owned slots for each consumer until the balance for each consumer branch in each time period is appropriate for your needs.
Under most circumstances, the balance should be zero. Under some circumstances (like host scavenging, if available), you may need to allocate more slots than you own.
Keep in mind that the resource plan is hierarchical in nature; you cannot allocate to a leaf consumer more resources than its branch owns.
- (Optional, but recommended.) For each leaf consumer that has something registered to it, select the options to Lend and Borrow.
Lending allows a consumer’s unused slots to be used by other consumers. Borrowing lets a consumer use unowned or lent slots when they are available.
Note: This step does not apply to the InternalResourceGroup or ManagementHosts resource groups that are reserved for running services that control your cluster. Do not make changes to the consumers that run system services. Do not enable lending or borrowing.
- (Optional if Lend is checked) Next to Lend, click Details. In the Lend Details dialog box, specify the consumers you want to enable lending for and the maximum number of slots you would like to lend Limit field.
This number is the maximum number of slots that can be lent out. The remainder are never lent, even if they are not being used. If you leave the field blank, all slots can be lent out.
You can specify how many slots you want to lend to each individual consumer by clicking Details.
- (Optional if Borrow is checked) Next to Borrow, specify the maximum number of slots you would like to borrow at any time in Limit.
This number is the maximum number of slots that are ever borrowed by this consumer at any one time. If you leave the field blank, borrowing is limited only by the amount of resources available in the cluster.
You can specify how many slots you want to borrow from each individual consumer by clicking Details. Select the consumer you want to enabling borrow for and use the Order column to specify the order in which you want to borrow from specific consumers, where 1 is first. Do not repeat any numbers.
Note: If you modify the borrow order, you must run egosh ego restart from the command line.
- (Optional) Specify the share ratio that applies across consumers at the same level in one branch.
If you want sibling consumers to share the resources equally, type 1 for all.
If you want one leaf consumer to have twice as many resources as its sibling, type 2 for the first consumer and 1 for the second consumer.
If you want one consumer to give up all its borrowed resources when a sibling has demand, specify 0 for the low-priority consumer.
Your share ratio can be as simple or as complex as you like. Zero and all positive whole numbers are valid entries.
Note: This step does not apply to the InternalResourceGroup or ManagementHosts resource groups that are reserved for running services that control your cluster. Do not make changes to the consumers that run system services; the share ratios should be uniform and there should be no limits.
- Repeat the resource distribution for all time periods created.
By default, there is only one time period (00:00 to 24:00).
- Click Apply to save and make the current settings active.
If you do not want to make the current changes active, export the resource plan instead.
- Repeat the entire process for each resource group.
Switch between resource groups using the drop down list above the plan. Make sure to apply changes before switching to a different resource group (click Apply).
Note: The InternalResourceGroup and ManagementHosts resource groups are special. They are reserved for running system services that control the cluster. If you add your own services, you may need to allocate one or more slots from the ManagementHosts resource group to run workload. We do not recommend changing ownership or enabling lending or borrowing for consumers and services that are created for you by default.