报告人:清华大学 陆游游
报告连接: https://www.bilibili.com/video/BV13P4y1M72t?spm_id_from=333.999.0.0
背景
- 数据存储的需求:
- 数据量大、实时要求高
- 尤其体现在新型应用上:高带宽、低延迟、性能稳定
- 内存存储系统:数据存储的高性能需求催生而来
- 新型网络设备
- NVM(延迟:几百纳秒量级)
- RDMA(延迟:1微秒量级):绕过内核,减少拷贝,远端的CPU不参与直接访问远端内存
- 硬件带来新机遇:持久性内存
- Intel 3D-Xpoint
- 内存模式(Memory Mode):超大容量内存、容易使用
- 应用直访模式(App Direct Mode)——(不容易丢失,所以持久性通常在此模式下):操作系统将其作为独立存储设备、应用直接访问
- Intel 3D-Xpoint
- 更大的挑战:软件效率问题
传统存储的挑战
测试结果
——对于现在高速硬件来说,现在的软件占了延迟的大部分,对于带宽的利用率很低。
4个主要挑战
- 软件栈开销
- 存储架构:层次结构导致软件栈臃肿(数据在拷贝)
- 持久性内存和高速网卡:数据直访
- 操作系统开销
- 存储软件:操作系统管理数据开销大(锁的存在限制了多核的性能)
- 持久性内存Load/Store指令直访
- 请求持久化开销
- 传统存储软件:产生大量小写,造成持久化效率低
- 持久性内存:写带宽有限
- 分布式协议开销
- 高速网络:具有一定可编程能力
- 传统存储协议:网络视作黑盒
工作内容
Octopus:软件栈开销
-
基于RDMA的分布式持久性共享内存池
-
如何减少拷贝?客户端可以通过RDMA直接读写文件系统数据
-
如何高效I/O?
- 原来:服务器主动式I/O(适用于慢速以太网,在高速硬件下,CPU很容易成为瓶颈)
- 改为:客户端主动式I/O(客户端从分布式持久性共享内存中直接读写数据)
KucoFS:操作系统开销
- 用户/内核态协同文件系统
- 元数据管理技术
- DRAM+NVM混合内存元数据管理,解决元数据的扩展性
- 功能卸载
- 批量处理
- 数据管理技术
- 用户态锁管理
- 乐观读
- 元数据管理技术
FlaStore:持久化开销
网络存储协同的批量处理技术。
Concordia:分布式协议开销
- 在网分布式协议(缓存一致性)
- 利用可编程交换机的高性能和中心化
- 利用交换机对缓存一致性请求进行串行化和多播
总结
背景问题:我们需要从硬件满、软件复杂转换为硬件快、软件高效。
- 软件栈;
- 体系结构适配:CPU缓存的行、刷新粒度匹配问题等;
- 操作系统设计:存储上、网络上;
- 分布式协议设计:机器之间互相发送消息占用的效率。