Existing software-based memory tiering systems decide which pages to place on the slower or faster tier. However, they do not take into account two important factors that greatly influence application performance: the size of the migrated pages, and the underlying hardware device and tiering topology. We introduce TierBPF, a software mechanism that can be plugged into existing memory tiering systems to take these factors into account, by making simple binary page admission decisions. TierBPF is implemented as a set of eBPF hooks, which allow users to define their own custom policies. In order to make its decisions, TierBPF utilizes a lightweight tracking mechanism for page profiling which is not dependent on the application's working set size. TierBPF, integrated into three memory tiering systems and evaluated with 17 workloads, achieves geomean throughput gains of up to 17.7% with improvements of up to 75% for individual workloads.
翻译:现有基于软件的内存分层系统决定了将哪些页面放置在慢速或快速层级上。然而,它们未考虑两个显著影响应用性能的重要因素:迁移页面的大小,以及底层硬件设备与分层拓扑结构。我们提出TierBPF——一种可嵌入现有内存分层系统的软件机制,通过执行简单的二进制页面准入决策来纳入这些因素。TierBPF以一组eBPF钩子实现,允许用户定义自定义策略。为制定决策,TierBPF利用轻量级页面分析追踪机制,该机制不依赖应用程序的工作集大小。将TierBPF集成至三种内存分层系统,并使用17个工作负载进行评估后,其几何平均吞吐量提升达17.7%,单个工作负载的提升幅度最高可达75%。