seda.sandStorm.internal
Class ResponseTimeControllerMulticlass

java.lang.Object
  extended by seda.sandStorm.internal.ResponseTimeController
      extended by seda.sandStorm.internal.ResponseTimeControllerDirect
          extended by seda.sandStorm.internal.ResponseTimeControllerMulticlass
All Implemented Interfaces:
ResponseTimeControllerIF

public class ResponseTimeControllerMulticlass
extends ResponseTimeControllerDirect

An implementation of ResponseTimeController that uses a direct adjustment of queue thresholds based on the error in the 90th percentile response time. Allows multiple class SLAs.


Nested Class Summary
(package private)  class ResponseTimeControllerMulticlass.cinfo
           
 
Field Summary
private static double ADDITIVE_INCREASE
           
private  ResponseTimeControllerMulticlass.cinfo[] carr
           
private static boolean DEBUG
           
private  boolean enabled
           
private static double HIGH_WATER
           
private static int INIT_DEPTH
           
private static double INIT_RATE
           
private static double LOW_WATER
           
private static int LOWCOUNT_THRESH
           
private static int MAX_CLASSES
           
private static double MAX_RATE
           
private static int MEASUREMENT_SIZE
           
private static long MEASUREMENT_TIME
           
private static double MIN_90th
           
private static double MIN_RATE
           
private static double MULTIPLICATIVE_DECREASE
           
private static double MULTIPLICATIVE_DECREASE_HIPRIO
           
private static double MULTIPLICATIVE_DECREASE_LOWPRIO
           
private static double MULTIPLICATIVE_INCREASE
           
private  java.lang.String name
           
private static int NINETIETH
           
private  int NUM_CLASSES
           
private static boolean SAVE_MAX_RATE
           
private static double SMOOTH_CONST
           
 
Fields inherited from class seda.sandStorm.internal.ResponseTimeControllerDirect
INIT_THRESHOLD, MAX_THRESHOLD, MIN_THRESHOLD
 
Fields inherited from class seda.sandStorm.internal.ResponseTimeController
pred, stage, targetRT
 
Constructor Summary
ResponseTimeControllerMulticlass(ManagerIF mgr, StageWrapperIF stage)
           
 
Method Summary
 void adjustThreshold(QueueElementIF[] fetched, long procTime)
          Invoked by the stage's thread manager to adjust admission control parameters.
private  double rateAdd(double err)
           
 
Methods inherited from class seda.sandStorm.internal.ResponseTimeControllerDirect
disable, enable
 
Methods inherited from class seda.sandStorm.internal.ResponseTimeController
getTarget, setTarget
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEBUG

private static final boolean DEBUG
See Also:
Constant Field Values

MEASUREMENT_SIZE

private static final int MEASUREMENT_SIZE
See Also:
Constant Field Values

MEASUREMENT_TIME

private static final long MEASUREMENT_TIME
See Also:
Constant Field Values

SMOOTH_CONST

private static final double SMOOTH_CONST
See Also:
Constant Field Values

NINETIETH

private static final int NINETIETH
See Also:
Constant Field Values

LOW_WATER

private static final double LOW_WATER
See Also:
Constant Field Values

HIGH_WATER

private static final double HIGH_WATER
See Also:
Constant Field Values

ADDITIVE_INCREASE

private static final double ADDITIVE_INCREASE
See Also:
Constant Field Values

MULTIPLICATIVE_INCREASE

private static final double MULTIPLICATIVE_INCREASE
See Also:
Constant Field Values

MULTIPLICATIVE_DECREASE

private static final double MULTIPLICATIVE_DECREASE
See Also:
Constant Field Values

MULTIPLICATIVE_DECREASE_LOWPRIO

private static final double MULTIPLICATIVE_DECREASE_LOWPRIO
See Also:
Constant Field Values

MULTIPLICATIVE_DECREASE_HIPRIO

private static final double MULTIPLICATIVE_DECREASE_HIPRIO
See Also:
Constant Field Values

INIT_RATE

private static final double INIT_RATE
See Also:
Constant Field Values

INIT_DEPTH

private static final int INIT_DEPTH
See Also:
Constant Field Values

MAX_RATE

private static final double MAX_RATE
See Also:
Constant Field Values

MIN_RATE

private static final double MIN_RATE
See Also:
Constant Field Values

MIN_90th

private static final double MIN_90th
See Also:
Constant Field Values

LOWCOUNT_THRESH

private static final int LOWCOUNT_THRESH
See Also:
Constant Field Values

SAVE_MAX_RATE

private static final boolean SAVE_MAX_RATE
See Also:
Constant Field Values

MAX_CLASSES

private static final int MAX_CLASSES
See Also:
Constant Field Values

NUM_CLASSES

private int NUM_CLASSES

name

private java.lang.String name

enabled

private boolean enabled

carr

private ResponseTimeControllerMulticlass.cinfo[] carr
Constructor Detail

ResponseTimeControllerMulticlass

public ResponseTimeControllerMulticlass(ManagerIF mgr,
                                        StageWrapperIF stage)
                                 throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException
Method Detail

rateAdd

private double rateAdd(double err)

adjustThreshold

public void adjustThreshold(QueueElementIF[] fetched,
                            long procTime)
Description copied from interface: ResponseTimeControllerIF
Invoked by the stage's thread manager to adjust admission control parameters.

Specified by:
adjustThreshold in interface ResponseTimeControllerIF
Overrides:
adjustThreshold in class ResponseTimeControllerDirect