org.inria.myriads.snoozenode.groupmanager.estimator
Class ResourceDemandEstimator

java.lang.Object
  extended by org.inria.myriads.snoozenode.groupmanager.estimator.ResourceDemandEstimator

public final class ResourceDemandEstimator
extends Object

Resource demand estimator.

Author:
Eugen Feller

Constructor Summary
ResourceDemandEstimator(EstimatorSettings estimatorSettings, MonitoringThresholds monitoringThresholds, PackingDensity packingDensity)
          Constructor.
 
Method Summary
 List<Double> applyPackingDensity(List<Double> requestedCapacity, PackingDensity packingDensity)
          Creates new requested capacity.
 ArrayList<Double> computeMaxAllowedCapacity(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription description)
          Computes the allowed utilization.
 ArrayList<Double> computeUsedLocalControllerCapacity(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
          Estimates the local controller utilization.
 ArrayList<Double> estimateVirtualMachineResourceDemand(Map<Long,org.inria.myriads.snoozecommon.communication.virtualcluster.monitoring.VirtualMachineMonitoringData> virtualMachineHistory)
          Estimates virtual machine resource demands.
 org.inria.myriads.snoozecommon.communication.groupmanager.summary.GroupManagerSummaryInformation generateGroupManagerSummaryInformation(ArrayList<org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription> localControllers, ArrayList<String> legacyIpAddresses)
          Returns the current group manager summary data.
 int getNumberOfMonitoringEntries()
          Number of monitoring entries.
 SortNorm getSortNorm()
          Returns the sort norm.
 boolean hasEnoughGroupManagerCapacity(org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData virtualMachine, org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
          Verifies weather a virtual machine fits into the group manager based on its summary information.
 boolean hasEnoughLocalControllerCapacity(org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData virtualMachine, org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
          Checks whether a local controller has enough active capacity to host the VM.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceDemandEstimator

public ResourceDemandEstimator(EstimatorSettings estimatorSettings,
                               MonitoringThresholds monitoringThresholds,
                               PackingDensity packingDensity)
Constructor.

Parameters:
estimatorSettings - The estimator settings
monitoringThresholds - The monitoring thresholds
packingDensity - The packing density
Method Detail

hasEnoughGroupManagerCapacity

public boolean hasEnoughGroupManagerCapacity(org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData virtualMachine,
                                             org.inria.myriads.snoozecommon.communication.groupmanager.GroupManagerDescription groupManager)
Verifies weather a virtual machine fits into the group manager based on its summary information.

Parameters:
virtualMachine - The virtual machine meta data
groupManager - The group manager data
Returns:
true if everything ok, false otherwise

applyPackingDensity

public List<Double> applyPackingDensity(List<Double> requestedCapacity,
                                        PackingDensity packingDensity)
Creates new requested capacity.

Parameters:
requestedCapacity - The requested capacity
packingDensity - The packing density
Returns:
The new capacity vector

hasEnoughLocalControllerCapacity

public boolean hasEnoughLocalControllerCapacity(org.inria.myriads.snoozecommon.communication.virtualcluster.VirtualMachineMetaData virtualMachine,
                                                org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
Checks whether a local controller has enough active capacity to host the VM.

Parameters:
virtualMachine - The virtual machine meta data
localController - The local controller description
Returns:
true if enough capacity vailable, false otherwise

computeUsedLocalControllerCapacity

public ArrayList<Double> computeUsedLocalControllerCapacity(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription localController)
Estimates the local controller utilization.

Parameters:
localController - The local controller description
Returns:
The estimated local controller utilization

estimateVirtualMachineResourceDemand

public ArrayList<Double> estimateVirtualMachineResourceDemand(Map<Long,org.inria.myriads.snoozecommon.communication.virtualcluster.monitoring.VirtualMachineMonitoringData> virtualMachineHistory)
Estimates virtual machine resource demands.

Parameters:
virtualMachineHistory - The virtual machine history
Returns:
The estimated virtual machine monitoring data

generateGroupManagerSummaryInformation

public org.inria.myriads.snoozecommon.communication.groupmanager.summary.GroupManagerSummaryInformation generateGroupManagerSummaryInformation(ArrayList<org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription> localControllers,
                                                                                                                                               ArrayList<String> legacyIpAddresses)
Returns the current group manager summary data.

Parameters:
localControllers - The list of local controllers
legacyIpAddresses - The list of legacy ip addresses
Returns:
The group manager summary information

computeMaxAllowedCapacity

public ArrayList<Double> computeMaxAllowedCapacity(org.inria.myriads.snoozecommon.communication.localcontroller.LocalControllerDescription description)
Computes the allowed utilization.

Parameters:
description - The local controller description
Returns:
The allowed capacity

getNumberOfMonitoringEntries

public int getNumberOfMonitoringEntries()
Number of monitoring entries.

Returns:
The number of monitoring entries

getSortNorm

public SortNorm getSortNorm()
Returns the sort norm.

Returns:
The sort norm


Copyright © 2012. All Rights Reserved.