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

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

public class SmallestFirstScheduler
extends FirstFitScheduler

This class offers a VM scheduler that keeps the VM request queue in order and always places those VM requests first that have the smallest resource demands. WARNING: this scheduler could potentially starve bigger VM requests in the queue.

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

Nested Class Summary
static class SmallestFirstScheduler.SFQueue
          A priority queue that implements the necessary list related operations used in the first fit scheduler and scheduler classes.
 
Nested classes/interfaces inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.Scheduler
Scheduler.QueueingEvent
 
Field Summary
static Comparator<QueueingData> vmQueueSmallestFirstComparator
          This comparator allows ordering the VM request queue primarily by cumulative resource request size and secondarily by request arrival time.
 
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
SmallestFirstScheduler(IaaSService parent)
          Passes the IaaSService further to its super class.
 
Method Summary
 
Methods inherited from class hu.mta.sztaki.lpds.cloud.simulator.iaas.vmscheduling.FirstFitScheduler
getPMIterator, instantiateIterator, 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
 

Field Detail

vmQueueSmallestFirstComparator

public static final Comparator<QueueingData> vmQueueSmallestFirstComparator
This comparator allows ordering the VM request queue primarily by cumulative resource request size and secondarily by request arrival time. (e.g. a request with the same size but earlier arrival time will be ordered to be ahead of the other)

Constructor Detail

SmallestFirstScheduler

public SmallestFirstScheduler(IaaSService parent)
Passes the IaaSService further to its super class. Overwrites the request queuing mechanism with one that orders the VM requests according to their total resource requirements.

Parameters:
parent - the IaaS Service which this SmallestFirstScheduler operates on


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