前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >持久内存+RDMA让远程数据不再远-总结

持久内存+RDMA让远程数据不再远-总结

作者头像
yzsDBA
发布2020-11-09 15:14:20
2.3K2
发布2020-11-09 15:14:20
举报
文章被收录于专栏:PostgreSQL研究与原理解析

持久内存-RDMA让远程数据不再远

第一届「中国云计算基础架构开发者大会」(以下简称 CID)将在 2020 年 10 月 25 日举办。会中看到有新硬件PM结合RDMA的议题,这是数据库方面前沿技术,对下一代数据库发展有重要影响。听后进行总结。

正文

包括以下几个议题:PRMEM是什么、技术细节、性能、使用场景及开发的库。

1、什么是PMEM

SSD已经结合了RDMA技术,需要客户端将数据从DRAM通过PCIe拷贝到网卡,传输到服务端网卡再拷贝到DRAM,最后通过PCIe持久化到SSD。具有额外的数据copy。结合PM新硬件,可以消除这部分的影响。

数据从客户端到网卡后,通过RDMA网络直接到对端的网卡,然后直接到PM。消除了经过DRAM的拷贝流程以及CPU的参与,解放出来服务端的CPU,进行其他操作。

2、技术细节

标准的RDMA数据流路径为:数据经过L3 cache->RNIC在通过RDMA网络->远端的RNIC->L3 cache->持久设备。

问题:数据的可视化和持久化

数据对CPU可视,不是对人。数据到达L3 cache及以上才能对CPU可视,但是并不是持久化到远端,宕机会丢失数据。ADR是Intel的异步自刷新技术,使用这个技术的话,当数据达到memory controller这个点后就已经持久化到PM,否则需要到达NVM的controller刷写到PM点才算持久化。

数据到远端的RDMA网卡后,并不能确定数据是在RNIC网卡buffer还是PCIEbuffer还是已经到持久化设备里面。需要额外的步骤来保证数据持久化。

Intel的DDIO技术,提高整体吞吐率,降低延迟,减小能源消耗,让服务器更快处理网络接口数据,只能保证数据对CPU可见。DDIO下数据放到L3 cache里,避免经过内存的拷贝,减小延迟。有两个方案保证持久性。这两种方案哪种最好?

DDIO打开:主要是远端执行CLWB指令刷完cache lines后调用sfence指令,确保数据全部到持久化内存。

DDIO关闭时:数据不经过远端的L3 cache,需要加个read指令,来确保数据都到持久内存。

3、性能

RDMA已经比TCP/IP快了近30%,rpmem以6.8微秒,延迟大大降低

红色表示CPU参与,该技术没有CPU参与。网络和硬盘的延迟都大大降低。

Rpmem的延迟在平均4kb的写进行复制场景下,延迟小于10us。

4、案例

计算节点和存储节点分离,与之前的X8代相比,该一体机使用RDMA访问PM能够获得快10倍的事务处理延迟及2.5倍的事务IOS。

OLTP数据库复制场景下的高延迟问题。因为PM是持久的,所以相比DRAM来说可以直接反馈master可以提交,然后slave异步进行回放。

AI方面。

6、额外步骤保证数据到持久内存

Intel开发的librma可方便进行编程。相比librpmem,软件层次更少,简化软件系统复杂度,更注重API的应用程度,方便工程师使用更少代码实现相同功能。

Librma使用push transfer模型,大大减小RDMA复制的操作,RDMA flush后,由硬件完成数据持久化到PM。同时不需要CPU参与,降低了延迟。

Librma从github上下载。持久化内存编程的书籍《programming persistent memory》年底完成中文版翻译,期待完成后开源。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 yanzongshuaiDBA 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 持久内存-RDMA让远程数据不再远
    • 正文
      • 1、什么是PMEM
      • 2、技术细节
      • 3、性能
      • 4、案例
      • 6、额外步骤保证数据到持久内存
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档