[论文解读] Farview: Disaggregated Memory with Operator Off-loading for Database Engines
Farview 提出了一种面向数据库引擎的解耦内存系统,将选择、投影和聚合等查询算子卸载至基于 FPGA 的智能网卡,实现在网络连接的 DRAM 上的内存内处理。其性能与本地内存缓存相当,同时减少了数据移动和 DRAM 占用空间,在高选择性和聚合查询等关键工作负载中优于基于 CPU 的基线方案。
Cloud deployments disaggregate storage from compute, providing more flexibility to both the storage and compute layers. In this paper, we explore disaggregation by taking it one step further and applying it to memory (DRAM). Disaggregated memory uses network attached DRAM as a way to decouple memory from CPU. In the context of databases, such a design offers significant advantages in terms of making a larger memory capacity available as a central pool to a collection of smaller processing nodes. To explore these possibilities, we have implemented Farview, a disaggregated memory solution for databases, operating as a remote buffer cache with operator offloading capabilities. Farview is implemented as an FPGA-based smart NIC making DRAM available as a disaggregated, network attached memory module capable of performing data processing at line rate over data streams to/from disaggregated memory. Farview supports query offloading using operators such as selection, projection, aggregation, regular expression matching and encryption. In this paper we focus on analytical queries and demonstrate the viability of the idea through an extensive experimental evaluation of Farview under different workloads. Farview is competitive with a local buffer cache solution for all the workloads and outperforms it in a number of cases, proving that a smart disaggregated memory can be a viable alternative for databases deployed in cloud environments.
研究动机与目标
- 为解决分析型数据库中日益低效的数据移动和 DRAM 容量限制问题。
- 探索将解耦内存作为云数据库系统中本地缓冲缓存的可扩展替代方案。
- 通过将过滤和处理操作卸载至远程、网络连接的 DRAM,减少 CPU 开销和内存占用空间。
- 评估智能可编程内存节点是否能够匹配甚至超越本地内存缓存的性能。
- 通过 FPGA 上的原位加密和解密,实现安全、低延迟的数据流处理。
提出的方法
- Farview 使用基于 FPGA 的智能网卡,将网络连接的 DRAM 作为具备处理能力的远程缓冲缓存暴露出来。
- 支持选择、投影、聚合、正则表达式匹配以及 AES-128 加密/解密(计数器模式)的算子卸载。
- 系统利用 RDMA 实现计算节点与解耦内存之间的低延迟、高吞吐量数据传输。
- 算子在 FPGA 上以线速执行,最大限度减少数据向 CPU 的移动。
- 系统支持多客户端的动态区域分配,实现空间并行性和公平的带宽共享。
- 加密和解密操作集成于数据路径,性能开销极小,完全由线速处理隐藏。
实验结果
研究问题
- RQ1具备原位处理能力的智能网络连接内存节点,能否在数据库工作负载中达到与本地内存缓存相当的性能?
- RQ2将算子卸载至解耦内存,能在多大程度上减少分析查询中的数据移动和 CPU 开销?
- RQ3在多个客户端并发访问下,系统表现如何?是否具备高效的可扩展性?
- RQ4是否能高效地将安全数据处理(如加密/解密)集成到内存处理流水线中,且不带来性能损失?
- RQ5将复杂算子(如聚合和选择)卸载至远程内存,会对性能产生何种影响?
主要发现
- Farview 在所有评估的工作负载中均实现了与本地缓冲缓存相当的性能,证明了具备处理能力的解耦内存可作为一种可行的替代方案。
- 对于高选择性查询(如 TPC-H Q6),Farview 通过在数据到达 CPU 前进行过滤,显著减少了数据移动。
- 在聚合工作负载(如 GROUP BY)中,Farview 通过在内存中直接处理聚合操作,减少了传输至 CPU 的数据量。
- 基于 FPGA 的加密/解密流水线未引入可测量的性能开销,吞吐量与原始 RDMA 读取相当。
- 在多客户端环境下,由于实现了空间并行性和动态区域的公平带宽共享,Farview 优于基于 CPU 的基线方案。
- 由于 FPGA 上并行实现 AES,解密的响应时间显著低于基于 CPU 的基线方案,尤其在冷缓存条件下表现更优。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。