Class Cache_miss_sfifo_rmf

java.lang.Object
jline.api.cache.Cache_miss_sfifo_rmf

public final class Cache_miss_sfifo_rmf extends Object
Position-resolved mean-field miss rates for strict FIFO(m) caches.

Java port of the MATLAB cache_miss_sfifo_rmf.m / Python cache_miss_sfifo_rmf. Mirrors the Cache_miss_fpi / Cache_miss_rmf contract: the popularity is recovered from the per-user per-item arrival rates (list-0 column), and the per-item miss probability is the out-of-cache occupancy of the position-resolved DDPP fixed point (see CacheSFIFORMF).

Unlike RANDOM(m)/FIFO(m), strict FIFO(m) has no closed-form or per-list mean field (Gast15). This routine reduces to RANDOM(m)/FIFO(m) when m_1 = ... = m_{h-1} = 1.

Reference: N. Gast and B. Van Houdt, "Transient and Steady-state Regime of a Family of List-based Cache Replacement Algorithms", ACM SIGMETRICS 2015.

  • Method Details

    • cache_miss_sfifo_rmf

      public static CacheMissFpiResult cache_miss_sfifo_rmf(Matrix gamma, Matrix m, Matrix[] lambdaCache)
      Compute strict FIFO(m) cache miss rates via the position-resolved mean field.
      Parameters:
      gamma - item access factors (accepted for interface parity with Cache_miss_fpi; unused).
      m - cache capacity vector (h,).
      lambdaCache - per-user per-item per-list arrival rates: lambdaCache[v] is an (n x (h+1)) matrix; column 0 carries the request rates.
      Returns:
      CacheMissFpiResult with global miss rate M, per-user MU, per-item MI, and per-item miss probabilities pi0.
    • cache_miss_sfifo_rmf

      public static CacheMissFpiResult cache_miss_sfifo_rmf(Matrix gamma, Matrix m, Matrix[] lambdaCache, Matrix[][] accost)
      Strict FIFO(m) miss rates honouring a custom access graph. A non-linear accost uses the general position-resolved drift from a cold cache (see CachePosGraphRMF); the linear default keeps the pre-filled path.
    • cache_miss_sfifo_rmf_tran

      public static CacheMissRmfTranResult cache_miss_sfifo_rmf_tran(Matrix gamma, Matrix m, Matrix[] lambdaCache, double time, int nPoints, double[] xinit)
      Parameters:
      time - end time of the transient window (start is 0).
      nPoints - number of uniform grid points (>= 2).
      xinit - initial occupancy (dim,), or null for the default warm start.
    • cache_miss_sfifo_rmf_tran

      public static CacheMissRmfTranResult cache_miss_sfifo_rmf_tran(Matrix gamma, Matrix m, Matrix[] lambdaCache, double time, int nPoints, double[] xinit, Matrix[][] accost)
      Transient strict FIFO(m) cache trajectory honouring a custom access graph. A non-linear accost uses the general position-resolved drift (cold start when xinit is null); the linear default keeps the strict-FIFO drift.