seda.sandStorm.internal
Class ResponseTimeControllerDirect

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

public class ResponseTimeControllerDirect
extends ResponseTimeController

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


Field Summary
private static double ADDITIVE_INCREASE
           
private  long adjtime
           
private static boolean ADJUST_RATE
           
private static boolean ADJUST_THRESHOLD
           
private  int cur_measurement
           
private  double curRate
           
private  int curThreshold
           
private static boolean DEBUG
           
private  boolean enabled
           
private static double HIGH_WATER
           
private static int INIT_DEPTH
           
private static double INIT_RATE
           
protected static int INIT_THRESHOLD
           
private static double LOW_WATER
           
private static double MAX_RATE
           
protected static int MAX_THRESHOLD
           
private static int MEASUREMENT_SIZE
           
private static long MEASUREMENT_TIME
           
private  long[] measurements
           
private static double MIN_RATE
           
protected static int MIN_THRESHOLD
           
private static double MULTIPLICATIVE_DECREASE
           
private static double MULTIPLICATIVE_INCREASE
           
private static int NINETIETH
           
private  double ninetiethRT
           
private static double SMOOTH_CONST
           
private  long[] sortedmeasurements
           
 
Fields inherited from class seda.sandStorm.internal.ResponseTimeController
pred, stage, targetRT
 
Constructor Summary
ResponseTimeControllerDirect(ManagerIF mgr, StageWrapperIF stage)
           
 
Method Summary
 void adjustThreshold(QueueElementIF[] fetched, long procTime)
          Invoked by the stage's thread manager to adjust admission control parameters.
 void disable()
          Disable the response time controller.
 void enable()
          Enable the response time controller.
 
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

ADJUST_THRESHOLD

private static final boolean ADJUST_THRESHOLD
See Also:
Constant Field Values

ADJUST_RATE

private static final boolean ADJUST_RATE
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

INIT_THRESHOLD

protected static final int INIT_THRESHOLD
See Also:
Constant Field Values

MIN_THRESHOLD

protected static final int MIN_THRESHOLD
See Also:
Constant Field Values

MAX_THRESHOLD

protected static final int MAX_THRESHOLD
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

adjtime

private long adjtime

measurements

private long[] measurements

sortedmeasurements

private long[] sortedmeasurements

curThreshold

private int curThreshold

cur_measurement

private int cur_measurement

curRate

private double curRate

ninetiethRT

private double ninetiethRT

enabled

private boolean enabled
Constructor Detail

ResponseTimeControllerDirect

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

enable

public void enable()
Description copied from interface: ResponseTimeControllerIF
Enable the response time controller.

Specified by:
enable in interface ResponseTimeControllerIF
Specified by:
enable in class ResponseTimeController

disable

public void disable()
Description copied from interface: ResponseTimeControllerIF
Disable the response time controller.

Specified by:
disable in interface ResponseTimeControllerIF
Specified by:
disable in class ResponseTimeController

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
Specified by:
adjustThreshold in class ResponseTimeController