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

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.RoundRobinScheduler

public class RoundRobinScheduler
extends FirstFitScheduler

Provides a scheduler that uses the round robin PM iterator to traverse through the IaaS's running machines list. This ensures uniform use of the PMs on the long run. Other than the random PM selection this class utilizes the FirstFitScheduler's logic of VM placement and queue management. Unless VM migration is used to reduce the PMs under utilization this scheduler is less energy efficient than the generic first fit as that is always trying to exhaust the resources of a PM before going for another one.

Author:
"Gabor Kecskemeti, Laboratory of Parallel and Distributed Systems, MTA SZTAKI (c) 2015"

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
RoundRobinScheduler(IaaSService parent)
          Passes the IaaSService further to its super class.
 
Method Summary
protected  PMIterator instantiateIterator()
          Returns with the RoundRobin PM iterator.
 
Methods inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.FirstFitScheduler
getPMIterator, scheduleQueued
 
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

RoundRobinScheduler

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

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

instantiateIterator

protected PMIterator instantiateIterator()
Returns with the RoundRobin PM iterator.

Overrides:
instantiateIterator in class FirstFitScheduler
Returns:
the desired PM iterator to be used for traversing the PMs while doing the scheduling


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