public class PmooArrivalBound_SinkTreeTbRl
extends java.lang.Object
Modifier and Type | Field | Description |
---|---|---|
private PmooSinkTreeTbRlABCache |
ab_cache |
|
private static PmooArrivalBound_SinkTreeTbRl |
instance |
|
protected Network |
network |
Modifier | Constructor | Description |
---|---|---|
private |
PmooArrivalBound_SinkTreeTbRl() |
|
|
PmooArrivalBound_SinkTreeTbRl(Network tree) |
Modifier and Type | Method | Description |
---|---|---|
void |
clearCache() |
|
java.util.Set<ArrivalCurve> |
computeArrivalBound(Link link,
java.util.Set<Flow> f_xfcaller,
Flow flow_of_interest) |
This code path computes the parameters relevant to construct the resulting
arrival bound directly, i.e., it does not compute and store the entire curves
resulting from intermediate computations in order to do so.
|
java.util.Set<ArrivalCurve> |
computeArrivalBoundDeConvolution(Link link,
java.util.Set<Flow> f_xfcaller,
Flow flow_of_interest) |
This code path uses the DiscoDNC's convolution operation.
|
java.util.Set<ArrivalCurve> |
computeArrivalBoundDeConvolutionTBRL(Link link,
java.util.Set<Flow> f_xfcaller,
Flow flow_of_interest) |
This code path uses the DiscoDNC's convolution operation, like
computeArrivalBoundDeConvolutionTBRL does, yet, it uses the optimized
convolution and deconvolution operation, respectively, to directly compute
the relevant parameters defining the resulting curves.
|
java.util.Set<ArrivalCurve> |
computeArrivalBoundHomogeneous(Link link,
java.util.Set<Flow> f_xfcaller,
Flow flow_of_interest) |
In homogeneous networks we can simply multiply the common latency with the
length of a flow's path instead of iterating over its servers and sum up for
each one's value individually.
|
static PmooArrivalBound_SinkTreeTbRl |
getInstance() |
private static PmooArrivalBound_SinkTreeTbRl instance
protected Network network
private PmooSinkTreeTbRlABCache ab_cache
private PmooArrivalBound_SinkTreeTbRl()
public PmooArrivalBound_SinkTreeTbRl(Network tree)
public static PmooArrivalBound_SinkTreeTbRl getInstance()
public void clearCache()
public java.util.Set<ArrivalCurve> computeArrivalBound(Link link, java.util.Set<Flow> f_xfcaller, Flow flow_of_interest) throws java.lang.Exception
link
- Link flow arrive on.f_xfcaller
- Flows to bound.flow_of_interest
- The flow of interest to handle with lowest priority.java.lang.Exception
- Unable to get the flow's sub path for service curve convolution.public java.util.Set<ArrivalCurve> computeArrivalBoundDeConvolution(Link link, java.util.Set<Flow> f_xfcaller, Flow flow_of_interest) throws java.lang.Exception
link
- Link flow arrive on.f_xfcaller
- Flows to bound.flow_of_interest
- The flow of interest to handle with lowest priority.java.lang.Exception
- Unable to get the flow's sub path for service curve convolution.public java.util.Set<ArrivalCurve> computeArrivalBoundDeConvolutionTBRL(Link link, java.util.Set<Flow> f_xfcaller, Flow flow_of_interest) throws java.lang.Exception
link
- Link flow arrive on.f_xfcaller
- Flows to bound.flow_of_interest
- The flow of interest to handle with lowest priority.java.lang.Exception
- Unable to get the flow's sub path for service curve convolution.public java.util.Set<ArrivalCurve> computeArrivalBoundHomogeneous(Link link, java.util.Set<Flow> f_xfcaller, Flow flow_of_interest) throws java.lang.Exception
This code path works similar to computeArrivalBound in the sense that it does not operate on intermediate curves.
link
- Link flow arrive on.f_xfcaller
- Flows to bound.flow_of_interest
- The flow of interest to handle with lowest priority.java.lang.Exception