|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objecthu.mta.sztaki.lpds.cloud.simulator.iaas.pmscheduling.PhysicalMachineController
hu.mta.sztaki.lpds.cloud.simulator.iaas.pmscheduling.SchedulingDependentMachines
public class SchedulingDependentMachines
A reactive PM controller that increases/decreases the powered on pm set on demands of the vm scheduler. This controller implementation is always changing the machine set size by one, thus it is not applicable in cases when there are rapid demand changes on the infrastructure.
Nested Class Summary | |
---|---|
private class |
SchedulingDependentMachines.CapacityChangeManager
The main PM control mechanisms are implemented in this class The class basically controls a single PM. |
Field Summary | |
---|---|
private HashMap<PhysicalMachine,SchedulingDependentMachines.CapacityChangeManager> |
capacityManagers
this map lists all the currently controlled PMs and their controllers. |
private PhysicalMachine |
currentlyStartingPM
ensures that we only have a single machine switching on at a time and shows what is the actual machine that is switching on. |
Fields inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.pmscheduling.PhysicalMachineController |
---|
parent, queueingEvent |
Constructor Summary | |
---|---|
SchedulingDependentMachines(IaaSService parent)
Constructs the scheduler and passes the parent IaaSService to the superclass. |
Method Summary | |
---|---|
protected VMManager.CapacityChangeEvent<PhysicalMachine> |
getHostRegEvent()
Defines to do the following when a new host is (de)registered to the parent IaaSService: if the current event is a registration event then the function creates and locally registers a new capacity change manager for the newly registered pms if the current event is a deregistration event then the function cancels the capacity management for all deregistered pms |
protected Scheduler.QueueingEvent |
getQueueingEvent()
Defines to do the following when VM requests arrive: check if there is already a PM under preparation (if there is one then does nothing) if there are no PM that is currently prepared then starts to prepare one for accepting VM requests. |
protected void |
turnOnAMachine()
switches on a not yet switched on machine from the parent IaaS's PM set. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private HashMap<PhysicalMachine,SchedulingDependentMachines.CapacityChangeManager> capacityManagers
private PhysicalMachine currentlyStartingPM
Constructor Detail |
---|
public SchedulingDependentMachines(IaaSService parent)
parent
- the IaaSService to serveMethod Detail |
---|
protected VMManager.CapacityChangeEvent<PhysicalMachine> getHostRegEvent()
getHostRegEvent
in class PhysicalMachineController
protected Scheduler.QueueingEvent getQueueingEvent()
getQueueingEvent
in class PhysicalMachineController
protected void turnOnAMachine()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |