hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling
Class NonQueueingScheduler

java.lang.Object
  extended by hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.Scheduler
      extended by hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.FirstFitScheduler
          extended by hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.NonQueueingScheduler

public class NonQueueingScheduler
extends FirstFitScheduler

This class offers a scheduler implementation that practically eliminates the use of the queue. If all PMs are running in the infrastructure then this scheduler rejects the VMs that none of the PMs can host immediately. The VMs are rejected by marking them with the NONSERVABLE state. The VM placement logic follows the first fit scheduler's approach.

Author:
"Gabor Kecskemeti, Distributed and Parallel Systems Group, University of Innsbruck (c) 2013"

Nested Class Summary
 
Nested classes/interfaces inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.Scheduler
Scheduler.QueueingEvent
 
Field Summary
 
Fields inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.FirstFitScheduler
raBiggestNotSuitable, ras
 
Fields inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.Scheduler
freeCapacity, parent, pmComparator, pmstateChanged, publicTQ, queue
 
Constructor Summary
NonQueueingScheduler(IaaSService parent)
          Passes the IaaSService further to its super class.
 
Method Summary
protected  ConstantConstraints scheduleQueued()
          The actual scheduling technique that is invoking the first fit scheduler as many times as many times it gets stuck with a VM request in the queue.
 
Methods inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.FirstFitScheduler
getPMIterator, instantiateIterator
 
Methods inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.Scheduler
dropVMrequest, getQueuedVMs, getQueueLength, getTotalQueued, manageQueueRemoval, manageQueueRemoval, scheduleVMrequest, subscribeQueueingEvents, unsubscribeQueueingEvents
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NonQueueingScheduler

public NonQueueingScheduler(IaaSService parent)
Passes the IaaSService further to its super class.

Parameters:
parent - the IaaS Service which this NonQueueingScheduler operates on
Method Detail

scheduleQueued

protected ConstantConstraints scheduleQueued()
The actual scheduling technique that is invoking the first fit scheduler as many times as many times it gets stuck with a VM request in the queue. Between the first fit scheduling requests this scheduler always removes the unschedulable head of the queue. For the removed requests the VMs are transformed to their NONSERVABLE state.

Overrides:
scheduleQueued in class FirstFitScheduler
Returns:
the amount of free resources that the IaaS service needs to offer before this scheduler could actually proceed with its next VM placement.


Copyright © 2012–2015 University of Innsbruck & MTA SZTAKI. All rights reserved.