Class SinkTree_AffineCurves


  • public class SinkTree_AffineCurves
    extends java.lang.Object
    • Constructor Detail

      • SinkTree_AffineCurves

        private SinkTree_AffineCurves()
      • SinkTree_AffineCurves

        public SinkTree_AffineCurves​(ServerGraph tree)
    • Method Detail

      • clearCache

        public void clearCache()
      • computeArrivalBoundMinPlusBackend

        public ArrivalCurve computeArrivalBoundMinPlusBackend​(Turn turn,
                                                              java.util.Set<Flow> f_xfcaller,
                                                              Flow flow_of_interest)
                                                       throws java.lang.Exception
        This code path uses the DNC's minpuls backend for computations. Thus, it operates on entire curves instead of restricting to the relevant values like computeArrivalBoundDirect does.
        Parameters:
        turn - Turn flows arrive on.
        f_xfcaller - Flows to bound.
        flow_of_interest - The flow of interest to handle with lowest priority.
        Returns:
        Arrival bound.
        Throws:
        java.lang.Exception - Unable to get the flow's sub path for service curve convolution.
      • computeArrivalBoundDirect

        public ArrivalCurve computeArrivalBoundDirect​(Turn turn,
                                                      java.util.Set<Flow> f_xfcaller,
                                                      Flow flow_of_interest)
                                               throws java.lang.Exception
        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.
        Parameters:
        turn - Turn flows arrive on.
        f_xfcaller - Flows to bound.
        flow_of_interest - The flow of interest to handle with lowest priority.
        Returns:
        Arrival bound.
        Throws:
        java.lang.Exception - Unable to get the flow's sub path for service curve convolution.
      • computeArrivalBoundHomogeneous

        public ArrivalCurve computeArrivalBoundHomogeneous​(Turn turn,
                                                           java.util.Set<Flow> f_xfcaller,
                                                           Flow flow_of_interest)
                                                    throws java.lang.Exception
        In homogeneous server_graphs 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.

        This code path works similar to computeArrivalBound in the sense that it does not operate on intermediate curves.

        Parameters:
        turn - Turn flows arrive on.
        f_xfcaller - Flows to bound.
        flow_of_interest - The flow of interest to handle with lowest priority.
        Returns:
        Arrival bounds.
        Throws:
        java.lang.Exception