客户端 实现_Lustre客户端持久高速缓存设计与实现(一)

前言

近年来CPU与低速的机械磁盘性能差异越来越大,高速存储设备(如SSD,NVMe,SCM等)对减缓这种差距有一定帮助。但根据最新的HPC调查,出于存储容量和价格因素,很少有HPC数据中心将所有的生产数据全部保存于高速存储设备中,大量数据仍然存储在低速HDD类型磁盘中。

大多数HPC中心一般通过并行文件系统(如Lustre或GPFS)来提供一个全局的存储服务。计算节点一般作为并行文件系统客户端形式存在,并通常配置有内置的高速存储设备如SSDs/NVMe。研究者对如何将计算节点内置的快速存储设备整合到HPC存储层次栈有着浓厚的兴趣。Lustre的LOD(Lustre on Demand)提供了一种基于客户端内置存储设备构建的按需(on-demand)文件系统服务。这种解决方案的缺点是它作为一个独立的文件系统存在,与HPC数据中心全局并行文件系统没有关联,没有提供一个单一的命名空间,与共享并行文件系统相比,缺乏灵活性。

Lustre客户端持久高速缓存(PCC, Persistent Client Cache)技术整合了计算节点本地存储,在Lustre客户端提供了一个读写缓冲层,并保持维护了一个统一的全局命名空间。PCC在客户端节点为用户提供缓存服务,它有两种工作模式:

  • RW-PCC读写模式:利用客户端本地存储设备,为单一客户端节点提供读写缓冲服务;

  • RO-PCC只读模式:利用客户端本地存储设备,为多个客户端节点提供只读缓冲服务;

Lustre客户端持久高速缓存技术有如下优点:

  • 对作为PCC后端存储的客户端内置设备无特殊要求。从高速的存储设备NVMe/SSD到低速HDD都可以使用。一般只需要将客户端内置设备格式化为一个本地文件系统(如Ext4或者xfs),即可作为PCC后端使用。

  • 简化了客户端I/O堆栈。在客户端就可以直接访问缓存在PCC中的数据,避免了从客户端到服务器冗长的数据IO路径。

  • 不同客户端IO之间没有相互影响,更容易进行优化。

  • 减轻了OST IO负载的压力。小的I/O和随机I/O可以规整为大的顺序I/O;零时文件可以直接在客户端删除,不需要刷新到OSTs。

  • 降低了应用的I/O开销,大大减少了网络延迟和锁冲突。

Lustre 布局锁和分级存储机制

Lustre客户端一般不使用任何的本地存储,而PCC使得Lustre可以充分利用客户端本地存储,提供优化的IO缓存服务。PCC的核心实现依赖于Lustre客户端IO模型。它过滤Lustre数据I/O操作,将I/O重定向到客户单本地的PCC后端文件系

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值