论文标题
观察无形:高性能嵌入式系统的实时缓存检查
Observing the Invisible: Live Cache Inspection for High-Performance Embedded Systems
论文作者
论文摘要
绝大多数高性能嵌入式系统实现了多级CPU缓存层次结构。但是,这些CPU缓存的确切行为在历史上一直是系统设计人员不透明的。缺乏昂贵的硬件调试器,对缓存化妆的了解充其量仍然很脆弱。这种持久的不透明度进一步掩盖了应用程序和OS级组件之间的复杂相互作用,尤其是当它们争夺缓存资源的分配时。尽管将高速缓存理解降级到代理,例如静态缓存分析,基于性能的分析和缓存层次结构模拟,但缓存结构和进化的基础仍继续避免以软件为中心的解决方案。在本文中,我们探讨了一种新的研究缓存内容及其通过快照发展的方法。我们的方法补充了现存的缓存分析方法,以更好地制定,验证和完善现代caches行为的假设。我们利用供应商提供的无需外部硬件的供应商提供的实时缓存检查。我们提出了CacheFlow,这是一种概念验证Linux内核模块,可在NVIDIA TEGRA TX1 SOC(芯片上的系统)上快照缓存内容。
The vast majority of high-performance embedded systems implement multi-level CPU cache hierarchies. But the exact behavior of these CPU caches has historically been opaque to system designers. Absent expensive hardware debuggers, an understanding of cache makeup remains tenuous at best. This enduring opacity further obscures the complex interplay among applications and OS-level components, particularly as they compete for the allocation of cache resources. Notwithstanding the relegation of cache comprehension to proxies such as static cache analysis, performance counter-based profiling, and cache hierarchy simulations, the underpinnings of cache structure and evolution continue to elude software-centric solutions. In this paper, we explore a novel method of studying cache contents and their evolution via snapshotting. Our method complements extant approaches for cache profiling to better formulate, validate, and refine hypotheses on the behavior of modern caches. We leverage cache introspection interfaces provided by vendors to perform live cache inspections without the need for external hardware. We present CacheFlow, a proof-of-concept Linux kernel module which snapshots cache contents on an NVIDIA Tegra TX1 SoC (system on chip).