Memory Sharing for Non-Integer tt

What If tt Is Not an Integer?

The base MAN scheme requires t=KM/Nt = K M/N to be an integer β€” because subsets have integer cardinalities. But in practice MM might fall anywhere in [0,N][0, N], so tt can be any real number in [0,K][0, K].

The elegant fix is memory sharing β€” a convex combination of two integer-valued schemes. The overall achievable region is the lower convex envelope of the integer points (Mi,Ri)(M_i, R_i) for i=0,1,…,Ki = 0, 1, \ldots, K, and memory sharing achieves every point on this envelope by time-sharing between two adjacent integer operating points.

Definition:

Memory Sharing

For a non-integer tβˆ—βˆˆ[i,i+1]t^* \in [i, i+1] with i∈{0,1,…,Kβˆ’1}i \in \{0, 1, \ldots, K-1\}, the server partitions each file into a fraction Ξ±\alpha and a fraction (1βˆ’Ξ±)(1 - \alpha) for some α∈[0,1]\alpha \in [0, 1]. The Ξ±\alpha-fraction is handled by the MAN scheme with t=it = i; the (1βˆ’Ξ±)(1-\alpha)-fraction by MAN with t=i+1t = i+1. The overall scheme uses per-user memory Mβ€…β€Š=β€…β€ŠΞ±β‹…iNK+(1βˆ’Ξ±)β‹…(i+1)NK,M \;=\; \alpha \cdot \frac{i N}{K} + (1 - \alpha) \cdot \frac{(i+1) N}{K}, and achieves rate R(M)β€…β€Š=β€…β€ŠΞ±β‹…RMAN(iN/K)+(1βˆ’Ξ±)β‹…RMAN((i+1)N/K).R(M) \;=\; \alpha \cdot R_{\text{MAN}}(iN/K) + (1-\alpha) \cdot R_{\text{MAN}}((i+1)N/K). Ξ±\alpha is chosen so that the weighted MM matches the target cache size.

Theorem: Achievable Region of the MAN Scheme

For any M∈[0,N]M \in [0, N], the worst-case rate achievable by the MAN scheme with memory sharing equals the lower convex envelope of the K+1K+1 integer-tt points: RMAN(M)β€…β€Š=β€…β€Šconv{(iN/K,β€…β€Š(Kβˆ’i)/(i+1)):i=0,1,…,K}.R_{\text{MAN}}(M) \;=\; \mathrm{conv}\bigl\{(iN/K,\; (K-i)/(i+1)) : i = 0, 1, \ldots, K\bigr\}. This envelope is a continuous, decreasing, piecewise-linear function of MM.

Example: Memory Sharing at M=0.5N/KM = 0.5 N/K (Fractional tt)

Let K=4K = 4, N=8N = 8, M=1M = 1 (so t=KM/N=0.5t = KM/N = 0.5, not integer). Find the rate achievable by memory-sharing between the t=0t = 0 and t=1t = 1 schemes.

The Envelope Is Not the Continuous Curve

A common minor error: the continuous curve R(M)=K(1βˆ’M/N)/(1+KM/N)R(M) = K(1-M/N)/(1+KM/N) is below the memory-shared (piecewise-linear) envelope everywhere except at the integer-tt points. The continuous formula is the "asymptotic" rate assuming integer tt, not a rate that memory sharing achieves.

When we later visualize "the MAN upper bound," we usually mean the piecewise-linear envelope β€” or, in scaling analyses where Kβ†’βˆžK \to \infty at fixed M/NM/N, the two coincide and the distinction vanishes.

Common Mistake: Memory Sharing Cannot Recover the Continuous Formula

Mistake:

Claiming R=K(1βˆ’M/N)/(1+KM/N)R = K(1-M/N)/(1+KM/N) is always achievable, for any real MM.

Correction:

The formula is exactly achievable only when t=KM/Nt = KM/N is a non-negative integer. For general MM, the best you can do with memory sharing is the lower convex envelope of the integer-tt points, which is slightly above the continuous curve. In practice for large KK, the difference is a few percent at most β€” small enough that papers often quote the continuous formula as "the MAN rate" without comment. Be aware of this subtlety when computing rates for small KK.

Subpacketization Growth β€” The Elephant in the Room

The MAN scheme requires each file to be partitioned into (Kt)\binom{K}{t} subfiles β€” exponential in KK for fixed memory ratio. This is the single largest practical obstacle to deploying the scheme at scale. The dashed Stirling bound 2Khb(ΞΌ)2^{K h_b(\mu)} illustrates the exponential growth. Chapter 14 introduces PDAs and graph-coloring schemes that recover the caching gain with polynomial subpacketization.

Parameters
0.25
60
🚨Critical Engineering Note

Subpacketization Is the Main Practical Bottleneck

For K=50K = 50 users and ΞΌ=0.2\mu = 0.2 (so t=10t = 10), subpacketization is (5010)β‰ˆ1010\binom{50}{10} \approx 10^{10}. A 4 GB video file must be split into 10 billion pieces of 0.4 bytes each β€” obviously infeasible. For K=100K = 100, ΞΌ=0.1\mu = 0.1, we would need (10010)β‰ˆ1.7Γ—1013\binom{100}{10} \approx 1.7 \times 10^{13} pieces.

Consequences and mitigations:

  1. Grouping: Split the KK users into groups of size Kg=30–50K_g = 30\text{–}50 and run MAN within each group, losing the cross-group coded multicast gain. 3GPP uses this implicitly in multicast configurations.
  2. PDAs: Placement Delivery Arrays (Yan et al. 2017) achieve polynomial subpacketization with a sub-optimal but still significant coded gain.
  3. Graph coloring delivery (Ch 14): CommIT's polynomial- subpacketization schemes trade a constant-factor gain loss for polynomial FF.
Practical Constraints
  • β€’

    MAN requires F β‰₯ \binom{K}{t}; typical video files have F β‰ˆ 10^9 bits

  • β€’

    Feasibility: \binom{K}{t} ≀ F/(few bits), so K ≀ 30 for realistic t and F

  • β€’

    Any finite packet header is a fixed cost per subfile; shrinks useful payload to zero at high K