CIDR 2024 Paper CXL论文阅读笔记整理
问题
闪存是数据密集型系统中数据持久性的标准,但这种类型的存储器仅作为紧密闭合固态硬盘(SSD)的一部分提供。要访问SSD,应用程序需要通过I/O框架,这些框架本身就是块接口抽象NVMe标准的包装器。这些间接访问会影响应用程序的结构,并使它们无法从基于闪存的设备的全部功能中获益。
CXL是一种缓存一致性协议,它允许系统保持主机内存和连接外围设备内存之间的一致性。使用CXL,设备可以通过服务器的内存公开一系列闪存支持的地址,允许应用程序对该范围进行读写,并让设备将其转换为Flash操作。
本文工作
本文提出了新的CXL闪存耦合方式,在设备中实现数据库系统的部分,称为数据库内核(DBK),类似于近数据处理(NDP)[2]。DBK利用CXL技术将地址空间导出到数据库系统,不是在Flash中实现1:1映射,而是针对该区域的I/O触发设备内部的计算。如图1所示。
DBK允许将数据库系统的不同方面移动到设备中。例如,谓词执行可以实现为DBK,设备可以通过CXL支持的窗口中的地址获取谓词描述,并在该区域的其余部分显示结果的物化视图。
为了执行DBK,提出了一种新的SSD体系结构,比传统的SSD更模块化,可以访问设备的一些内部接口。这些接口旨在保护非专业程序员免受不必要的复杂性的影响,同时允许他们开发NDP数据库功能。
总结
针对利用CXL技术充分利用闪存设备。本文提出CXL闪存耦合方式,在设备中实现数据库系统的部分,称为数据库内核(DBK)。DBK利用CXL技术将地址空间导出到数据库系统,不是在Flash中实现1:1映射,而是针对该区域的I/O触发设备内部的计算,类似于近数据处理(NDP)。