- 简介这份详细报告介绍了一种新型的分离存储架构——DDS,该架构利用新兴的网络硬件DPUs(数据处理单元)实现。DPUs可以优化分离存储服务器的延迟和CPU消耗。然而,利用DPUs来支持DBMS需要仔细设计网络和存储路径以及向DBMS公开的接口。为了充分利用DPUs,DDS大量使用DMA、零拷贝和用户空间I/O来最小化提高吞吐量时的开销。它还引入了一个卸载引擎,通过在DPU上直接执行客户端请求来消除主机CPU。采用DDS的API只需要进行最少的DBMS修改。我们的实验研究和生产系统集成显示出有希望的结果——DDS实现了更高的分离存储吞吐量,同时延迟降低了一个数量级,并且每个存储服务器可以节省多达数十个CPU核心。
- 图表
- 解决问题DDS试图解决的问题是如何在利用DPUs的情况下,优化DBMS的网络和存储路径,以及接口的设计,从而最大化DPUs的性能优势。
- 关键思路DDS通过使用DMA、零拷贝和用户空间I/O等技术,以及引入一个卸载引擎,直接在DPU上执行客户请求,从而最大限度地减少开销,提高吞吐量。同时,DDS的API对DBMS的修改很小。
- 其它亮点DDS在实验和生产系统集成中表现出更高的分离式存储吞吐量,比传统架构低一个数量级的延迟,并节省了每个存储服务器多达数十个CPU核心。值得关注的是,DDS的实验设计、使用的数据集和开源代码等方面都有详细的描述。
- 最近在这个领域中,还有一些相关的研究,如:《DPU: Architecture, Programming Model, and Compilation》、《DPU Acceleration for In-Memory Data Processing》等。


提问交流