Package org.cloudsimplus.autoscaling
Interface VmScaling
- All Known Subinterfaces:
HorizontalVmScaling
,VerticalVmScaling
- All Known Implementing Classes:
HorizontalVmScalingSimple
,VerticalVmScalingSimple
,VmScalingAbstract
public interface VmScaling
An interface to allow implementing horizontal and vertical scaling
of
Vm
s.- Since:
- CloudSim Plus 1.0.0
- Author:
- Manoel Campos da Silva Filho
-
Field Summary
-
Method Summary
Modifier and Type Method Description Vm
getVm()
Gets theVm
that this Load Balancer is linked to.boolean
requestUpScalingIfPredicateMatches(VmHostEventInfo evt)
Requests the Vm to be scaled up or down if it is over or underloaded, respectively.VmScaling
setVm(Vm vm)
Sets aVm
to this Load Balancer.
-
Field Details
-
Method Details
-
getVm
Vm getVm()Gets theVm
that this Load Balancer is linked to.- Returns:
-
setVm
Sets aVm
to this Load Balancer. The broker will call this Load Balancer in order to balance load when its Vm is over utilized.When the VmScaling is assigned to a Vm, the Vm sets itself to the VmScaling object, creating an association between the two objects.
- Parameters:
vm
- the Vm to set- Returns:
-
requestUpScalingIfPredicateMatches
Requests the Vm to be scaled up or down if it is over or underloaded, respectively. The scaling request will be sent to theDatacenterBroker
only if the under or overload condition is met, that depends of the implementation of the scaling mechanisms.The Vm to which this scaling object is related to, creates an
UpdateProcessingListener
that will call this method to check if it time to perform an down or up scaling, every time the Vm processing is updated.- Parameters:
evt
- event information, including the current simulation time and the VM to be scaled- Returns:
- true if the Vm is over or underloaded and up or down scaling request was sent to the broker, false otherwise
-