独立上限的谬误:耦合负载-分支停顿交互的特征刻画
The Fallacy of Independent Ceilings: Characterizing Coupled Load-Branch Stall Interaction
浏览论文内容
中文总结 AI 辅助
本文提出共生停顿延迟(SSL)概念,通过联合加速比协同(JSS)和共生停顿机会(SSO)量化分支与缓存的耦合交互,构建了评估孤立上限是否低估联合性能的测量框架。
中文摘要 AI 辅助
分支预测错误和数据缓存缺失通常被评估为独立的瓶颈:研究将完美分支或完美缓存的加速比作为孤立的上限,且常将两者的乘积视为联合上限。然而在不规则工作负载中,难以预测的分支和缓存缺失负载常出现在同一热点循环中,消除其中一种惩罚会暴露另一种:更快的内存会更快到达预测错误的分支,而更好的分支预测会在乱序窗口中留下更多长延迟负载,我们将这种交互称为共生停顿延迟(symbiotic stall latency, SSL)。本文使用联合加速比协同(joint speedup synergy, JSS)量化孤立上限何时失效,JSS是观测到的完美分支/完美缓存联合加速比除以孤立加速比的乘积,值大于1意味着独立上限分析低估了可实现的增益。在53个模拟工作负载中,70%表现出可测量的耦合(JSS>1),尽管许多接近1,尤其是在低压力情况下;采用保守阈值时,40%的JSS超过独立乘积6%以上,且SSO>20的内核显示JSS为1.23至3.29。我们引入共生停顿机会(symbiotic stall opportunity, SSO),一种基于MPKI的轻量级筛选方法,用于筛选值得进行完整联合模拟的工作负载,将高SSO工作负载映射为四种重复出现的软件模式:邻接访问、哈希查找、链式结构遍历和数据依赖修改。我们将SSL与孤立完美模式下的重排序缓冲区占用率、淘汰率和提交饥饿联系起来,由此产生的方法很简单:使用SSO进行筛选,JSS进行验证,并在评估分支预测器、预取器、缓存或耦合分支/内存机制时报告条件性的缓存后分支和分支后缓存增益。本文的贡献是提供了一个测量框架,用于显示孤立完美模式何时足够,何时会低估联合性能空间。
英文摘要
Branch mispredictions and data-cache misses are usually evaluated as separate bottlenecks: studies report perfect-branch or perfect-cache speedups as isolated upper bounds and often treat their product as the joint ceiling. In irregular workloads, however, hard-to-predict branches and cache-missing loads often occur in the same hot loops. Removing one penalty can expose the other: faster memory reaches mispredicted branches sooner, while better branch prediction leaves more long-latency loads in the out-of-order window. We call this interaction symbiotic stall latency (SSL). This paper quantifies when isolated ceilings fail using joint speedup synergy (JSS), the observed joint perfect-branch/perfect-cache speedup divided by the product of the isolated speedups. Values above one mean independent-ceiling analysis understates attainable gain. Across 53 simulated workloads, 70% show measurable coupling (JSS > 1), though many are near unity, especially in lower-pressure cases. With a conservative threshold, 40% exceed the independence product by more than 6%, and kernels with SSO > 20 show JSS from 1.23 to 3.29. We introduce symbiotic stall opportunity (SSO), a lightweight MPKI-based screen for workloads that merit full joint simulation. We map high-SSO workloads to four recurring software patterns: neighbor access, hash lookup, linked-structure traversal, and data-dependent modification. We connect SSL to reorder-buffer occupancy, squash rate, and commit starvation under isolated perfect modes. The resulting methodology is simple: use SSO to screen, JSS to validate, and report conditional branch-after-cache and cache-after-branch gains when evaluating branch predictors, prefetchers, caches, or coupled branch/memory mechanisms. Our contribution is a measurement framework showing when isolated perfect modes are adequate and when they understate joint performance headroom.