Understanding Allocation versus Utilization-based Reservations
A well-balanced resource management system is critical for any IT organization to support business in a cost-effective manner. It is very important to be able to estimate whether an already-shared infrastructure is able to accommodate multiple other projects to support an ever-changing business model. Reservation-aware capacity management in TrueSight Capacity Optimization provides detailed future saturation information with respect to capacity management based on commitments made for future projects.
Reservations-aware capacity management in TrueSight Capacity Optimization enables you to configure the default behavior of Reservations when you book capacity on a given Reservation Target type. You can choose to compare the size of the Reservation with the size of the Reservation Target, or compare the utilization of the Reservation items with the spare capacity of the Reservation Target.
The Resource comparison method sets the default usage estimation mode for the Viewing the details of reservation targets. This setting also affects how the usage is estimated and displayed for all Templates and Reservation requirements. The alert status for Reservation Targets and Capacity Pools is based on the estimation mode.
The example in this topic explains how to choose the Resource comparison method that is right for you, by describing how it affects the behavior of Reservations.
Allocation-based versus Utilization-based placement methods
In the Reservations > Settings page, you can select any one of the following resource comparison methods:
- Allocation: The size of the Reservation is compared with the spare capacity of the Reservation Target. The spare capacity is based on the reservations that are already committed on that Target. Uncommitted reservations are not part of the consideration for capacity but can impact the resulting available capacity when committed. BMC recommends this method if you want a more conventional approach while booking future capacity. You can change it later if required. This is the default method.
- Utilization: The utilization of the Reservation items is compared with the actual spare capacity of the Reservation Target. The actual spare capacity is computed based on the resources on the Target.
Allocation-based placement method
The allocation-based resource comparison method is a conceptually simpler method. The example below illustrates this concept.
In the above figure, the grey rectangle represents a cluster serving as a reservation target, over a period of four months.
In this example, the resource being compared is memory, and the heights of the rectangles indicate the memory sizes of various reservation items. The cluster has two reservation items, A and B, belonging to different reservations, already committed for various periods as shown. It is the middle of June, and you are considering placing a new item C, at the beginning of August, for a one-month period.
In the allocation-based resource comparison method, the new item’s total memory is compared with the total memory available on the cluster during the reservation period of August. If there is enough available, then this assignment will be marked as green. In other words, the expected utilization of the new item is ignored. The total allocated memory for existing committed reservations A and B is counted. In this example, the target has enough memory available, so TrueSight Capacity Optimization allows you to assign C to this cluster. You commit the reservation.
In early July, the reservation of A has been realized as shown in the figure above, and TrueSight Capacity Optimization considers the reservation item A to be converted to a real Virtual Machine (VM). In the allocation-based method, TrueSight Capacity Optimization continues to count the entire memory allocation of A when evaluating new reservation items, for the remaining period till the end of August. For any time period after August, A is expected to have expired, and its memory allocation is made available for new reservations.
For the above allocation-based model to work, all VMs running on the container must be a result of realized reservations. It is assumed that there are no stray VMs, and that any VMs provisioned have been approved through the reservation process. If you follow this rule strictly, TrueSight Capacity Optimization always knows the amount of memory available during any future period.
While this example shows thresholds at 100 percent, you can use different thresholds as well, as shown in the following utilization-based placement method example.
Utilization-based placement method
Consider the same example when you use the utilization-based placement method.
At the beginning of June, when you are considering placing C for the month of August, TrueSight Capacity Optimization considers the expected utilization of each reservation item, as well as the actual measured utilization of the target. These quantities are shown in the lower half of the figure: the three thin rectangles corresponding to the three reservation items are their expected utilizations, and the dark shape at the bottom is the actual measured utilization of the cluster until mid-June and its extrapolation into the future.
For placement, these utilizations are added up and compared against a threshold set on the target, shown as a blue dashed line. Since there is enough room to accommodate the expected utilization of C in August below this line, TrueSight Capacity Optimization tells you that this reservation has enough resources. You commit C.
Now the situation in July is as follows.
The reservation for A has been realized, so the expected utilization of A is no longer counted. Presumably, the cluster’s utilization now has increased because of the actual VM now running. Any new requests for placing reservation items on this container will now be evaluated by comparing the threshold against the total of the new cluster utilization and the expected utilizations of B and C.
The utilization-based placement method allows you to pack more workloads on the target, because it does not reserve the entire allocated resource for the reservation item, instead relying on the sum of the measured utilization of today and the expected utilizations in the future. Correspondingly, you take on the risk of over-provisioning.
Summary: Key differences
The allocation-based placement method is a simple way to reserve resources based on the total allocation requested for reservation items. This method is intuitive and safe, as long as no stray, unreserved workloads are allowed to run on the targets. If some reservation requests are over-sized, that is, when they are realized, their actual utilizations are much lower than their allocations, then this reservation method might result in a lightly-loaded or unbalanced infrastructure until these reservations expire.
With utilization-based placement, you can run your infrastructure at higher efficiency, because the reservation system considers the actual utilization of the reservation targets and the expected usage of new reservation items. This method tends to keep the load on different reservation targets balanced as new reservations are realized, and it also allows for a few unreserved workloads. On the other hand, this method is more complex, and its behavior changes in response to actual conditions. As with any over-provisioning scenario, you have to monitor your reservation targets on a regular basis to lessen the risk of overload. This additional effort benefits your business through improved utilization.