基于远程直接内存访问的高性能键值存储系统
发布时间:2021-02-12 23:14
随着数据与系统规模的不断扩大,网络传输成为了键值存储系统的性能瓶颈。同时,远程直接内存访问(RDMA)技术能够支持高带宽和低时延的数据传输,为键值存储系统设计提供了新的思路。结合高性能网络中的RDMA技术,设计并实现了高性能、低CPU负载的键值存储系统Chequer;结合RDMA原语的特性,重新设计了键值存储系统的基本操作工作流程;并设计了基于线性探测的共享hash表,解决客户端缓存失效的问题以及提高hash命中率来减少客户端的读取轮数,进一步提高了系统的性能。在小规模集群上实现了Chequer系统,并通过实验验证了其性能。
【文章来源】:计算机应用. 2020,40(02)北大核心
【文章页数】:5 页
【部分图文】:
Chequer整体架构
内存管理模块用来负责服务器端的内存管理。为了使服务器申请和释放内存块的速度得到提高,且尽量避免服务端成为性能瓶颈,系统实现了基于Buddy内存管理算法的二级缓存的内存池[11]。如图2所示,服务器首先向第一层快速缓存层申请缓冲区并释放缓冲区;经过内存池的二级缓存混合缓存层后,Buddy内存管理层直接向操作系统申请大块内存,且在RDMA网卡中注册这些内存,之后使用Buddy算法管理内存。Buddy算法使得Memory Manager对大块连续内存进行管理,它会调用mmap接口向操作系统申请大块的连续内存,并接收来自上层申请内存和释放连续内存的请求,且可以将大块的缓冲区切割成合适大小的缓冲区反馈给上层。2 Chequer系统关键技术设计
由于客户端发起存储key-value的请求中,value的大小往往不同,大小范围变化可从1 B到1 MB。因此,为了提高系统的操作性能,在设计put操作时,本节设计了put操作的两种传输模式供客户端选择。put操作的整体设计流程如图3所示。put操作的第一种传输模式和传统的put操作模式相同。客户端将key和value直接封装成一条消息,并通过RDMA的send原语发送给服务器端;服务器端在接收到消息请求后,会将key和value拷贝到相应的hash表和存储区。
【参考文献】:
硕士论文
[1]基于RDMA的键值存储系统性能优化[D]. 王成.南京大学 2019
本文编号:3031575
【文章来源】:计算机应用. 2020,40(02)北大核心
【文章页数】:5 页
【部分图文】:
Chequer整体架构
内存管理模块用来负责服务器端的内存管理。为了使服务器申请和释放内存块的速度得到提高,且尽量避免服务端成为性能瓶颈,系统实现了基于Buddy内存管理算法的二级缓存的内存池[11]。如图2所示,服务器首先向第一层快速缓存层申请缓冲区并释放缓冲区;经过内存池的二级缓存混合缓存层后,Buddy内存管理层直接向操作系统申请大块内存,且在RDMA网卡中注册这些内存,之后使用Buddy算法管理内存。Buddy算法使得Memory Manager对大块连续内存进行管理,它会调用mmap接口向操作系统申请大块的连续内存,并接收来自上层申请内存和释放连续内存的请求,且可以将大块的缓冲区切割成合适大小的缓冲区反馈给上层。2 Chequer系统关键技术设计
由于客户端发起存储key-value的请求中,value的大小往往不同,大小范围变化可从1 B到1 MB。因此,为了提高系统的操作性能,在设计put操作时,本节设计了put操作的两种传输模式供客户端选择。put操作的整体设计流程如图3所示。put操作的第一种传输模式和传统的put操作模式相同。客户端将key和value直接封装成一条消息,并通过RDMA的send原语发送给服务器端;服务器端在接收到消息请求后,会将key和value拷贝到相应的hash表和存储区。
【参考文献】:
硕士论文
[1]基于RDMA的键值存储系统性能优化[D]. 王成.南京大学 2019
本文编号:3031575
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3031575.html