Package jline.api

Class FJ

java.lang.Object
jline.api.FJ

public class FJ extends Object
API for the methods used to deal with fork-join (FJ) systems, especially in the MVA solver.
  • Constructor Details

    • FJ

      public FJ()
  • Method Details

    • ht

      public static Ret.FJApprox ht(Network model)
      Heidelberger-Trivedi fork-join queueing network transformation. Transforms the queueing network containing a FJ subsystem into a queueing network without one. Fork nodes changed to Router nodes. Join nodes changed to Delay nodes. One artificial class is created for each parallel branch and for each class. Another delay is added to model the sojourn time of the original classes. -- This approach is derived by PHILIP HEIDELBERGER and KISHOR S. TRIVEDI in "Analytic Queueing Models for Programs with Internal Concurrency"
      Parameters:
      model - - the original network
      Returns:
      - queueing network with no FJ system, the class and the fork maps for the artificial classes, and the auxiliary delay map (each join node is mapped to a corresponding auxiliary delay).
    • mmt

      public static Ret.FJApprox mmt(Network model, Matrix forkLambda)
      Fork-Join Transform approach to evaluate queueing networks including fork-join systems. An equivalent network is created where the fork nodes are replaced by routers, the join nodes are replaced by delays, and the parallelism induced by a fork-join system is simulated through the addition of artificial open customer classes.
      Parameters:
      model - - the original queueing network
      forkLambda - - the arrival rates of the artificial classes
      Returns:
      - the equivalent queueing network with the fork-join systems replaced with other nodes, a mapping of the artificial classes and their corresponding original classes, a mapping of the artificial classes and their FJ systems, and the fanout of each artificial class
    • findPaths

      public static Matrix findPaths(NetworkStruct sn, Matrix P, int startNode, int endNode, int r, ArrayList<Integer> toMerge, Matrix QN, Matrix TN, double currentTime, Matrix fjclassmap, Matrix fjforkmap, Network nonfjmodel)
      Finds the response times along each path leading out of startNode up to (and not including) endNode
    • findPathsCS

      public static Matrix findPathsCS(NetworkStruct sn, Matrix P, int curNode, int endNode, int curClass, ArrayList<Integer> toMerge, Matrix QN, Matrix TN, double currentTime, Matrix fjclassmap, Matrix fjforkmap, Network nonfjmodel)
      Finds the response times along each path leading out of curNode up to (and not including) endNode Variant for models with class switching
    • sort_forks

      public static Ret.FJsortForks sort_forks(NetworkStruct sn, NetworkStruct nonfjstruct, Matrix fjforkmap, Matrix fjclassmap, Network nonfjmodel)
      Determines a directed acyclic graph of relationships among fork nodes.