皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Linux PCACHE 提议用于块设备的持久性内存缓存

今天作为评论请求发送的是实现 PCACHE(用于块设备的持久内存缓存)的补丁系列。PCACHE 诞生于最初为 CXL 块设备驱动程序设计的代码,但最终在 Compute Express Link 上下文之外也很有用。

Dongsheng Yang 发布了一组补丁,为 Linux 内核提供了 PCACHE,该内核将范围扩展到任何支持直接访问 (DAX) 的持久内存设备,而不仅仅是 CXL 设备。补丁指出,虽然 PCACHE 非常适合已停产的英特尔傲腾产品线,但 Numemory NM101 存储级内存是一款可以与此提议的 PCACHE 完美配合的产品。

其中一条 PCACHE 补丁消息继续解释:

“此补丁引入了 ‘pcache’ 的初始集成,这是一个 Linux 内核块层模块,它利用持久内存 (PMem) 作为传统块设备(例如 SSD、HDD)的高性能缓存层。

– 作为缓存的持久内存:
– ‘pcache’ 使用支持 DAX 的持久内存(例如,’/dev/pmemX’)为块设备提供快速、字节可寻址、非易失性缓存。
– 支持直接映射和基于 vmap 的访问,具体取决于 DAX 功能。

– 模块化架构:
– ‘cache_dev’:表示用作缓存的持久内存设备。
– ‘backing_dev’:表示正在缓存的单个块存储设备。
– ‘logic_dev’:向用户空间公开一个块设备(’/dev/pcacheX’),作为 I/O 的前端接口。
– ‘cache’:实现核心缓存逻辑(命中/未命中、写回、GC 等)。

设计动机:“

pcache”旨在弥合慢速但大容量存储(HDD、SATA/NVMe SSD)和新兴的字节可寻址持久内存之间的性能差距。与传统的块层缓存相比,“pcache”是持久的、低延迟的、高并发性的,并且比传统的缓存设计更适合现代存储级存储设备。

此补丁通过连接初始化入口点 (’pcache_init()’)、sysfs 总线注册、root 设备处理和 Kconfig 胶水来完成该系列。

有了这个,’pcache’ 子系统就可以作为内核模块加载,并用作块 I/O 的缓存引擎。

还有这个图表用于将 PCACHE 功能与 BCache 和 DeviceMapper 写入缓存等进行比较:

Linux PCACHE 提议用于块设备的持久性内存缓存

那些想了解更多关于这个 PCACHE 提案的人可以在 Linux 内核邮件列表中找到它。

转自 Linux PCACHE Proposed For Persistent Memory Cache For Block Devices – Phoronix

登录

注册