分布式锁是分布式存储系统的重要组件,锁协议的性能对系统整体的性能有关键性影响。远程直接内存访问(remote direct memory access,RDMA)是一种新兴的数据中心网络技术,它支持单边网络通信原语,可以降低系统CPU开销,同时具备低延迟、...分布式锁是分布式存储系统的重要组件,锁协议的性能对系统整体的性能有关键性影响。远程直接内存访问(remote direct memory access,RDMA)是一种新兴的数据中心网络技术,它支持单边网络通信原语,可以降低系统CPU开销,同时具备低延迟、高吞吐的性能特性,为设计高速分布式锁协议提供了新机遇。然而,设计基于RDMA的分布式锁协议面临诸多挑战。着重在保证高性能的前提下解决扩展性和公平性挑战,提出一种RDMA网络中的高性能分布式锁协议FeLock,它利用多种类型的RDMA网络通信原语,使客户端不仅能与服务端通信加解锁,还能与其他客户端直接通信以移交锁所有权,同时实现了高性能、公平性和性能的扩展性。具体地,为保证高性能,FeLock引入了节点粒度锁管理机制,缩减锁协议在关键路径上的网络往返次数。为实现扩展性,FeLock引入了轮转移交机制,将所有节点排成1个环,客户端按照其在环中的顺序依次移交锁的所有权。为实现公平性和避免客户端饥饿,FeLock引入了节点信用机制,限制节点连续加锁的次数,避免其他节点上的客户端无法加锁。实验显示,FeLock相比于现有单边RDMA锁协议(如DSLR)表现出相似或更高的性能,并且具有更好的公平性和扩展性。在3~120个客户端的环境下,FeLock的吞吐量是DSLR的1.01~7.51倍,公平性提升至多2.24倍。展开更多
文摘分布式锁是分布式存储系统的重要组件,锁协议的性能对系统整体的性能有关键性影响。远程直接内存访问(remote direct memory access,RDMA)是一种新兴的数据中心网络技术,它支持单边网络通信原语,可以降低系统CPU开销,同时具备低延迟、高吞吐的性能特性,为设计高速分布式锁协议提供了新机遇。然而,设计基于RDMA的分布式锁协议面临诸多挑战。着重在保证高性能的前提下解决扩展性和公平性挑战,提出一种RDMA网络中的高性能分布式锁协议FeLock,它利用多种类型的RDMA网络通信原语,使客户端不仅能与服务端通信加解锁,还能与其他客户端直接通信以移交锁所有权,同时实现了高性能、公平性和性能的扩展性。具体地,为保证高性能,FeLock引入了节点粒度锁管理机制,缩减锁协议在关键路径上的网络往返次数。为实现扩展性,FeLock引入了轮转移交机制,将所有节点排成1个环,客户端按照其在环中的顺序依次移交锁的所有权。为实现公平性和避免客户端饥饿,FeLock引入了节点信用机制,限制节点连续加锁的次数,避免其他节点上的客户端无法加锁。实验显示,FeLock相比于现有单边RDMA锁协议(如DSLR)表现出相似或更高的性能,并且具有更好的公平性和扩展性。在3~120个客户端的环境下,FeLock的吞吐量是DSLR的1.01~7.51倍,公平性提升至多2.24倍。