---
title: 'Dynamic Buffer: Adaptive Online Buffering'
url: https://www.emergentmind.com/topics/dynamic-buffer
type: topic
---

# Dynamic Buffer: Adaptive Online Buffering

Dynamic buffer denotes a family of mechanisms in which buffering is treated as an online control problem rather than as a fixed-capacity staging area. Across the cited literature, the term is used for systems that adapt what is admitted, how much is retained, when buffered content is drained, or how the buffer is internally organized in response to observed traffic, channel state, workload composition, class imbalance, or prediction quality. This usage appears in HPC burst buffers, shared-memory packet switches, WLAN and cellular QoS control, anticipatory video streaming, continual-learning replay memories, reasoning systems, and online buffer-management theory [1902.05746] [2105.10553] [1304.3056] [2505.18101] [2406.04271].

## 1. Terminological breadth and historical development

The literature does not use *dynamic buffer* for a single canonical object. In external-memory hashing, the relevant question is the extent to which a small internal-memory buffer can reduce insertion cost without sacrificing the near-ideal one-I/O query behavior of external hashing; the result is that if query cost is targeted at \(1+O(1/b^{c})\) I/Os for any constant \(c>1\), then it is not possible to support insertions in less than \(1-O(1/b^{\frac{c-1}{4}})\) I/Os amortized, whereas for any constant \(c<1\) there is a simple dynamic hash table with \(o(1)\) insertion cost [0811.3062]. In the offline sorting buffer problem, dynamic buffering means online control of a finite-capacity random-access buffer that reorders typed items so as to minimize type changes; the paper proves that the sorting buffer problem is strongly NP-hard, gives an \(O(1)\)-approximation under slight resource augmentation, and gives an exact \(O(n\log C)\) algorithm for buffer size two [1009.4355].

In communication systems, the phrase is tied more directly to online adaptation. In 802.11 WLANs, the paper argues that there is no single fixed buffer size that can simultaneously provide high throughput and low delay because service times are load-dependent, highly variable, and affected by PHY rate adaptation; it therefore proposes two dynamic buffer sizing algorithms, eBDP and A\*, that adapt AP or station buffer sizes online using local measurements [1101.0562]. In HSDPA, Dynamic Time-Space Priority (D-TSP) combines time priority for real-time traffic, space priority for non-real-time traffic, and dynamic transmission-priority switching so that RT delay/jitter constraints and NRT starvation avoidance are jointly handled at the Node B MAC-hs buffer [1610.05184]. A related HSDPA enhancement adds threshold-based Iub flow control, so the buffer adapts not only in service order but also in the input rate of NRT PDUs according to average occupancy [1608.00855].

The same broad idea reappears in application-level delivery and learning systems. In multicast VoD, dynamic buffer allocation is used for popularity-aware prefix caching, with more cache blocks for more popular videos and minimum protected allocation for less popular prefixes [1002.1166]. In buffer-aided cooperative DS-CDMA, relays with dynamic buffers store decoded packets and wait until the most appropriate time for transmission, with buffer size adjusted according to input SNR or channel condition [1610.00058]. More recent work extends the term beyond byte queues: Online Dynamic Expandable Dual Memory (ODEDM) uses a time-varying dual memory for online continual learning [2505.18101], and Buffer of Thoughts uses a meta-buffer of reusable thought-templates plus a buffer-manager that continually updates this memory as more tasks are solved [2406.04271].

## 2. Online control primitives

A recurrent pattern is **dynamic admission**. SSDUP+ turns the SSD from a static “buffer everything” device into a dynamically managed buffer that admits only the traffic that benefits most from SSD—primarily random writes. It computes a stream random percentage
\[
percentage = \frac{S}{N-1},
\]
maintains a sorted history \(PercentList\), and sets
\[
avgper = \frac{\sum_{i=0}^{N-1} PercentList[i]}{N}, \qquad
threshold = PercentList[(1-avgper)(N-1)].
\]
If \(percentage > threshold\), subsequent requests are redirected to SSD; if \(percentage < threshold\), subsequent requests go to HDD; otherwise the current device choice is kept [1902.05746]. In shared-memory packet switches, Dynamic Thresholds (DT) uses
\[
T_c^i(t)=\alpha_c^i\cdot(B-Q(t)),
\]
while FB replaces this with
\[
T_c^i(t)=\alpha_c\cdot \frac{1}{N_p(t)}\cdot \gamma_c^i(t)\cdot (B-B_{oc}(t)),
\]
so that aggregate occupancy is bounded per priority and space is distributed proportional to normalized dequeue rate [2105.10553]. Occamy keeps a DT-like admission rule but adds preemptive reclamation: queues whose occupancy exceeds threshold are actively head-dropped so that over-allocated buffer can be reclaimed and reallocated quickly [2501.13570].

A second pattern is **dynamic timing and draining**. SSDUP+ divides SSD capacity into two equal regions and pipelines buffering and flushing; it also uses traffic-aware flushing, pausing or resuming SSD-to-HDD drain according to the current random percentage of ongoing traffic [1902.05746]. Anticipatory wireless video streaming treats play-out buffer occupancy as a controllable state variable, with slot-wise equations
\[
r_1-z_2=V,\qquad r_t+z_t-z_{t+1}=V,\qquad r_T+z_T=V,
\]
and jointly chooses transmission amounts, carry-over buffer, and wireless resource allocation to minimize total PRB usage over a look-ahead horizon [1304.3056]. BD-HARQ makes the receiver-side packet-group deadline itself dynamic: a buffer delay of \(d\,t_l\) determines how many HARQ opportunities are available before FEC decoding, and \(d\) is jointly optimized with FEC redundancy \(r\) [2408.07957]. Dynamic time-out buffering for out-of-order event compensation adjusts reorder timeout from observed transmission delays; among the proposed algorithms, BSTTDA combines delay mean and delay spread, and the paper recommends it as the best overall choice [2009.11741].

A third pattern is **dynamic partitioning and content organization**. DPSAC first clusters applications by I/O phase length, computes expected workload per cluster,
\[
EIO_k=\sum_{i\in S_k} P_i B_i,
\]
and partitions burst-buffer capacity proportionally through
\[
U_k=\frac{EIO_k}{TEIO},
\]
with cluster updates triggered by joins and exits [2210.07584]. ODEDM starts with a full-capacity short-term memory, then gradually shrinks that store as long-term class- and prototype-specific sub-memory buffers are created and populated; this is the paper’s “high-plasticity regime” to “higher-stability regime” transition [2505.18101]. PneumoNet uses class-specific storage plus class-balanced replay retrieval, with the two stages explicitly named Add_Batch and Get_Sample [2605.19201]. Buffer of Thoughts updates a meta-buffer only when a newly distilled template is sufficiently novel:
\[
\max_i \text{Sim}(f(D_{T_{new}}), f(D_{T_i})) < \delta,
\]
thereby making growth continual but filtered [2406.04271].

## 3. Canonical architectures

The following configurations recur in the literature.

| Context | Buffered object | Dynamic mechanism |
|---|---|---|
| HPC burst buffering | SSD layer between compute nodes and HDD-backed storage | Adaptive traffic admission, two-region pipeline, traffic-aware flushing |
| Shared-memory switching | Packet cells and queue descriptors | Threshold scaling by priority and dequeue rate, or preemptive head-drop reclamation |
| Wireless and multimedia delivery | Play-out state, MAC-hs queue, reorder timeout, packet-group deadline | LP-based pre-loading, eBDP/A\*, D-TSP switching, dynamic time-out, BD-HARQ |
| Continual learning | Replay samples | Dual memory, class-balanced sub-buffers, class-balanced replay |
| Reasoning systems | Thought-templates | Retrieval from meta-buffer plus novelty-filtered buffer-manager updates |

In HPC storage, SSDUP+ is explicit that the dynamic burst buffer adjusts three things online: admission to SSD, effective buffer availability through pipelined regions, and flush timing [1902.05746]. In packet switching, FB treats the buffer as a multi-dimensional resource rather than a single scalar, whereas Occamy adds preemptive head-drop reclamation using a bitmap of over-allocated queues and a round-robin selector [2105.10553] [2501.13570].

In wireless and multimedia systems, the architectures are heterogeneous but structurally related. A\* combines a measured-service-time rule,
\[
Q_{eBDP}=\min(T_{max}/T_{serv}+c,Q_{max}^{eBDP}),
\]
with Adaptive Limit Tuning so that actual queue size is \(\min\{Q_{eBDP},q_{ALT}\}\) [1101.0562]. D-TSP places RT packets at the front, caps RT occupancy at \(R\), and switches transmission priority to NRT when RT backlog and HOL delay leave slack [1610.05184]. The enhanced HSDPA TSP further adds lower and upper thresholds \(L\) and \(H\) and a smoothed occupancy
\[
\text{Aveq}_t = w_q \cdot Q_{\text{TTI}} + (1-w_q)\cdot \text{Aveq}_{t-1},
\]
to regulate Iub credit grants [1608.00855]. Dynamic time-out buffering and BD-HARQ shift the same design logic to receiver-side reordering and packet-group deadlines [2009.11741] [2408.07957].

In learning systems, ODEDM uses a short-term memory plus a long-term memory of class-specific prototype-anchored sub-buffers, while PneumoNet uses per-class storage and balanced replay with a dynamic class-weighted loss
\[
w_i = \frac{n}{C\,n_i}.
\]
BoT moves the abstraction further: the buffered units are not packets or samples but high-level thought-templates stored in a meta-buffer and retrieved by embedding similarity [2505.18101] [2605.19201] [2406.04271].

## 4. Formal models and algorithmic results

Several papers cast dynamic buffering as an optimization problem. Anticipatory video streaming derives a linear program that jointly optimizes wireless resource allocation and play-out buffer size, with objective
\[
\min \sum_k \sum_{t=1}^{T} w_{k,t},
\]
subject to buffer-dynamics, PRB-capacity, and maximum-carry-over constraints [1304.3056]. BD-HARQ defines QoE as
\[
Q = h_DQ_D + h_RQ_R + h_\Xi Q_\Xi,
\]
where buffer delay, redundancy, and recovery rate each have their own score function, and then solves
\[
\max_{r,d} Q
\]
subject to \(r \le r_{\max}\) and \(d \le d_{\max}\) by discrete search [2408.07957]. DPSAC combines clustering, probabilistic load estimation, burst-buffer partitioning, and state-aware scheduling; it models per-cluster instantaneous load as
\[
X=\sum_{A_i\in S_k} B_iX_i
\]
and uses the resulting distribution to estimate partition-full probability [2210.07584].

The algorithmic literature also clarifies what dynamic buffering can and cannot buy. In external hashing, the lower bounds show a threshold effect: if query cost is extremely close to one I/O, the memory buffer is essentially useless for insertions, whereas if the query guarantee is relaxed to \(1+O(1/b^c)\) for \(0<c<1\), then \(o(1)\) insertion cost is possible [0811.3062]. In the offline sorting buffer problem, the scheduling question is computationally hard in general but admits both resource-augmented approximation and exact fast algorithms in special cases [1009.4355].

A more recent theoretical direction introduces predictions. For preemptive FIFO buffer management, the learning-augmented algorithm is 1-consistent, \(\eta\)-smooth, and asymptotically \(\sqrt{3}\)-robust. Its key technical device is an output-based prediction error
\[
\eta(\sigma,\hat{\sigma}) = \sum_{p\in OPT(\hat{\sigma})\triangle OPT(\sigma)} v(p),
\]
and its robustness depends on a permanent switch to a worst-case fallback mechanism together with a buffer-clearing strategy whose loss is bounded by an additive capacity-dependent term that vanishes asymptotically [2604.26349]. By contrast, “dynamic storage allocation” in static memory planning is, despite its name, a static problem when buffer sizes and lifetimes are fully known ahead of execution; the objective becomes lifetime-constrained offset assignment minimizing total arena size [2504.04874].

## 5. Trade-offs, ambiguities, and limits

A persistent misconception is that *dynamic* means only **resizable capacity**. Much of the literature uses fixed physical capacity but dynamic policy. SSDUP+ can save an average of 50% SSD space while delivering almost the same performance as common burst-buffer schemes, yet its main innovation is not elastic device size but adaptive admission, pipelined occupancy, and traffic-aware draining [1902.05746]. Occamy likewise keeps a fixed on-chip shared buffer and changes the agility of allocation by making reclamation preemptive rather than non-preemptive [2501.13570]. In 802.11 WLANs, the point of A\* is to run with the smallest buffer that still keeps utilization high; the mechanism is dynamic sizing of the queue limit rather than growth of total hardware memory [1101.0562].

Another recurring limitation is that many dynamic-buffer policies are heuristic. SSDUP+ states plainly that traffic-aware flushing is a heuristic rather than a fully formal scheduler [1902.05746]. D-TSP depends on engineered thresholds \(R\), \(L\), \(H\), \(DB\), and \(\delta\), and excessive RT delay budgets can degrade RT QoS under heavy load [1610.05184]. The enhanced HSDPA TSP likewise fixes \(R\), \(L\), \(H\), \(w_q\), and \(C\) rather than solving for them optimally [1608.00855]. Dynamic time-out buffering remains a trade-off between reaction time and out-of-order event compensation, and no method eliminates that trade-off [2009.11741].

The term also hides genuine semantic ambiguities. ODEDM is written somewhat inconsistently about whether long-term selection prefers samples close to prototypes or samples far from them: the formal rule and the explanatory sentence support a representative-nearest interpretation, whereas the abstract and motivation emphasize discrepancy and semantically rich information [2505.18101]. PneumoNet’s “dual-stage balanced buffer” is dual-stage because it has Add_Batch and Get_Sample, not because it has short-term and long-term tiers; its buffer is dynamic in evolving content but static in capacity and per-class partitioning [2605.19201]. In BoT, the dynamic buffer is not a packet queue or replay reservoir at all, but a meta-buffer of thought-templates updated by a buffer-manager [2406.04271]. And in compiler-level memory planning, the phrase “dynamic storage allocation” refers to buffers whose lifetimes are dynamic during execution even though the planning problem is offline and static [2504.04874].

## 6. Cross-domain significance

Taken together, the literature suggests a common abstraction with four recurring levers: **admission**, **retention**, **release**, and **reclamation**. Admission is exemplified by SSDUP+ redirecting only high-randomness streams to SSD and by FB or DT-style switch thresholds [1902.05746] [2105.10553]. Retention appears in short-term versus long-term replay memories and in class-balanced per-class buffers [2505.18101] [2605.19201]. Release is explicit in anticipatory playout scheduling, dynamic time-out reordering, and packet-group deadlines for HARQ-assisted recovery [1304.3056] [2009.11741] [2408.07957]. Reclamation ranges from HDD flush timing to preemptive packet expulsion and even buffer-clearing fallback in learning-augmented FIFO management [1902.05746] [2501.13570] [2604.26349].

This suggests that dynamic buffer is best understood not as a domain-specific structure but as a control layer sitting between workload variability and a constrained storage, queueing, or memory resource. The objectives vary—burst absorption, isolation, lower delay, reduced SSD usage, lower starvation risk, class balance, better rehearsal, or more robust reasoning—but the technical pattern is similar: online signals are converted into buffer-state changes. Where those signals are accurate and the dynamics are well matched to the system, the gains can be substantial, as in SSDUP+, FB, A\*, ODEDM, PneumoNet, and BoT [1902.05746] [2105.10553] [1101.0562] [2505.18101] [2605.19201] [2406.04271]. Where the model is too rigid or the term is interpreted too literally, dynamic buffering can be ineffective or even misleading, as shown by the limits of buffering in external hashing and by the need for worst-case fallback in learning-augmented preemptive FIFO buffer management [0811.3062] [2604.26349].

A plausible implication is that future work will continue to move away from scalar “buffer size” tuning toward multidimensional policies that jointly control occupancy structure, service opportunity, interference, and prediction trust. That trajectory is already visible in the transition from DT to FB and Occamy in switch design, from static replay to dual-memory and balanced replay in continual learning, and from fixed prompting to dynamically updated reasoning memory in LLM systems [2105.10553] [2501.13570] [2505.18101] [2406.04271].

Source: https://www.emergentmind.com/topics/dynamic-buffer