Class Pfqn_scb
-
Method Summary
Modifier and TypeMethodDescriptionstatic intpfqn_minclasses(double Usum, int K, int N) Smallest number of customer classes R consistent with an observed sum of device utilizations, obtained by inverting the demand-free Expression (6) bound ofpfqn_usumbound(int, int, int), which is nondecreasing in R.static double[]Bracket on the total throughput and the per-device utilizations of the UNKNOWN multiclass system whose single-class counterpart has demand vector L at population N.static doublepfqn_scbgap(int N, int K) Full single-class aggregation, dominating classes allowed: r = N, undominated = false.static doublepfqn_scbgap(int N, int K, int r, boolean undominated) Demand-free bound on the relative throughput error incurred when r of the N single-customer classes of a closed product-form network are merged into one class.static doublepfqn_usumbound(int R, int K, int N) Largest value the sum of device utilizations sum_k U_k,R can take in any closed product-form network with R classes, K devices and N customers (their Theorem 6): sum_k U_k,R <= (H-1) + (K-H+1)(N-H+1)/(K+N-2H+1), H = min(R,K).
-
Method Details
-
pfqn_scb
Bracket on the total throughput and the per-device utilizations of the UNKNOWN multiclass system whose single-class counterpart has demand vector L at population N.SEMANTICS DIFFER FROM EVERY OTHER pfqn_* BOUND. aba/bjb/gb/... bracket the exact solution OF THE GIVEN MODEL; this brackets the multiclass system that the given single-class model aggregates. The lower side is therefore the EXACT single-class solution, not an approximation of it.
Theorem 2 / Corollary 2: aggregating an R-class model into its single-class counterpart can only understate performance, U_k,1 <= U_k,R and X_1 <= X_R, and Corollary 1 makes the utilization ratio uniform, U_k,R/U_k,1 = X_R/X_1 for every k. Theorem 3 (their Expression 3) caps the relative throughput error at (m-1)/(N+m-1), m = min(N,K), independently of the demands. The single-server capacity U_k,R <= 1 caps the same ratio at 1/(X_1*max(L)), tight on the paper's own worst case, so both are applied.
- Parameters:
L- service demand vector of the single-class model (K x 1), queueing stations only; delay stations are not admitted because Theorem 3 rests on the delay-free balanced-network throughputN- total population (N >= 1)- Returns:
- {Xlo, Xhi, Ulo(0..K-1), Uhi(0..K-1)} flattened as a length-(2+2K) array
-
pfqn_scbgap
public static double pfqn_scbgap(int N, int K, int r, boolean undominated) Demand-free bound on the relative throughput error incurred when r of the N single-customer classes of a closed product-form network are merged into one class. With r = N this is the full single-class aggregation error of their Theorem 3, at most 50%; with r < N it is the partial-aggregation error of their Theorem 4.General case, dominating classes allowed (Expression 4, and with r = N Expression 3): e = (min(r,K)-1)/(r+min(r,K)-1). Undominated case, every customer placing the same total demand (Theorem 5 and its comment (3), which lifts the N = R restriction): e = r(r-1)/(min(N,K)(2r-1)), valid for r <= K only, smaller than the general case by the factor r/min(N,K) and equal to it at r = K. THE DOMAIN IS NOT COSMETIC: Theorem 5 gives each of its R classes a dedicated device, so r never exceeds K there, and comment (3) states the generalization for r < K. Evaluated at r > K the expression climbs past the general bound and past the 50% cap of Theorem 3, i.e. it stops being a bound, so r > K is refused rather than returned.
- Parameters:
N- total number of customers; one per class, so also the number of classes before mergingK- number of queueing devicesr- number of classes merged into one (1 <= r <= N)undominated- true for the tighter Theorem-5 form, valid only when no class dominates, i.e. every customer's total device demand is equal, and only for r <= K- Returns:
- maximum relative throughput error, in [0,1/2]
-
pfqn_scbgap
public static double pfqn_scbgap(int N, int K) Full single-class aggregation, dominating classes allowed: r = N, undominated = false. -
pfqn_usumbound
public static double pfqn_usumbound(int R, int K, int N) Largest value the sum of device utilizations sum_k U_k,R can take in any closed product-form network with R classes, K devices and N customers (their Theorem 6): sum_k U_k,R <= (H-1) + (K-H+1)(N-H+1)/(K+N-2H+1), H = min(R,K). The bound is demand-free and nondecreasing in R, which is what makes it invertible into a lower bound on the number of necessary classes; seepfqn_minclasses(double, int, int).- Parameters:
R- number of single-customer classes (1 <= R <= N)K- number of devicesN- total number of customers- Returns:
- upper bound on sum_k U_k,R
-
pfqn_minclasses
public static int pfqn_minclasses(double Usum, int K, int N) Smallest number of customer classes R consistent with an observed sum of device utilizations, obtained by inverting the demand-free Expression (6) bound ofpfqn_usumbound(int, int, int), which is nondecreasing in R. Only measured quantities are needed, so the answer is available BEFORE any class-specific demand has been characterized. An upper bound on R is meaningless and none is returned.The paper's example: K = 2 devices, N = 3 customers, measured sum_k U_k = 1.6. A single class admits at most 2N/(N+1) = 1.5, so Rmin = 2.
- Parameters:
Usum- measured sum of device utilizationsK- number of devicesN- total number of customers- Returns:
- least R in 1..N with pfqn_usumbound(R,K,N) >= Usum; -1 when Usum exceeds min(N,K) and so is unattainable by ANY class structure
-