基于RDMA和NVM的分布式消息队列研究

来源 :重庆大学 | 被引量 : 0次 | 上传用户:yintaozhy1988
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在分布式环境中,消息队列的引入可有效地解决不同子系统之间的通信问题,同时降低各系统之间的耦合度,保证消息的异步消费和流量削峰。现有的消息队列将消息存放在内存或磁盘中,通过以太网传输数据,无法同时兼顾消息持久化和高吞吐量。近年来出现的新型存储与网络技术带来了突破此困境的机遇。一方面,新型的非易失存储器(Non-Volatile Memory,NVM)具有内存级的读写速度和可按字节寻址等优点;另一方面,远程内存直接存取技术(Remote Direct Memmory Access,RDMA)可以直接读写远端内存,不需要占用远端的CPU。本文从消息的持久化存储和消息的传输机制两方面进行优化,利用NVM和RDMA的特性,提出兼顾消息持久化和高吞吐量的分布式消息队列FlashQ,在保证消息可靠交付的同时,实现高吞吐量和低时延的消息传输。本文的主要贡献如下:(1)提出基于NVM的高性能消息存储技术。现有的消息队列大都将消息保存在基于磁盘等块设备的文件系统中实现消息的持久化保存,存取消息需要经过复杂的I/O软件栈。FlashQ利用NVM的特性,通过进程的虚拟地址访问消息文件,避免慢速I/O软件栈。此外,FlashQ将消息元数据映射在进程的虚拟地址空间,实现对消息的快速随机定位。(2)提出基于RDMA单边操作的快速消息无锁传输机制。通过RDMA WRITE、RDMA READ单边操作直接存取远端消息数据,无需远端CPU的参与,实现高吞吐量、低时延的消息传输。本文通过将Topic划分为多个Partition的分区机制,避免消息发布流程中远程写入消息冲突,实现远程写入消息的无锁化。针对远程消息写入流程,本文提出基于消息生产速度和传输速度的自适应消息批处理策略,降低传输时延,提高传输带宽。(3)提出基于生产时间的消息快速索引机制。FlashQ设计了基于消息生产时间的消息索引机制,通过建立多精确度的分层索引结构以及检索机制,快速定位到每秒生产的消息,从而提高消息回溯的效率。(4)设计系统容灾机制和负载均衡策略保证FlashQ的高可用性。针对系统容灾机制,FlashQ对所有消息文件进行冗余备份,在服务器发生单点故障时快速恢复。针对负载均衡策略,FlashQ将各Topic Partition尽量均匀的分布在不同的消息服务器上,避免单机存储空间不足,同时避免由于单机连接数量过多争夺带宽而引起的传输性能下降。最后,基于提出的设计,本文在Linux环境中实现了分布式消息队列FlashQ,并设计实现了消息生产、消费的测试工具进行验证实验。实验结果表明,FlashQ在传输常用的长度为1KB的消息时,单Topic Partition发布消息的吞吐量接近69万条/秒,是Qpid(RDMA)的6.4倍,是Kafka的7.5倍;连续生产1000条消息时,平均发布延迟仅13微秒左右,是相同环境下Qpid(RDMA)的1/20左右,Kafka的1/1400左右;以推模式消费时,吞吐量接近69万条/秒,是同样采用推模式的Qpid(RDMA)的6.4倍;以拉模式消费时,在每次只拉取一条消息的情况下,吞吐量达到近16万条/秒,是Kafka的近4倍。
其他文献
海底地下水排泄(SGD)被认为是地下水向沿海海洋环境排泄的主要通道,SGD伴随污染物和微量元素的运输,可能会影响水质和海洋生态系统,甚至会污染环境.尽管水文地质学家对非均质
与传统的激光光源相比,超连续谱光源具有输出光谱范围宽的优点,并具备空间相干性好、亮度高等特点,在主动高光谱成像、光电对抗、生物医学等领域具有重要的应用价值。当前,高
位于2~5μm中红外波段的激光在国防、医疗、通信方面有着特殊的重要应用。拉曼光纤激光器是近些年以来新兴的光纤激光器研究热门,它具有在光纤透过窗口内任意波长输出激光的能
移动设备的数量不断增长的同时,用户对移动设备性能的要求也越来越高。智能手机是使用最广泛的移动设备。移动设备与传统的PC最大的区别就是其移动性,不可能无时无刻连接着电
数据驱动的医疗(data driven healthcare)旨在运用大规模的数据,通过数据分析、机器学习等方法,实现疾病风险预测,以提供最好的和最个性化的护理。电子病历中蕴含着大量有价
本文研究一类基于忆阻器的惯性神经网络的动力学行为,它们包括耗散性、鲁棒耗散性、有限时间同步、指数同步和固定时间同步性。首先,通过非降阶方法,我们直接对该忆阻惯性神
本文主要研究基于忆阻器的神经网络的有限时间同步和固定时间同步。由于忆阻权重系数的不连续性导致神经网络系统右端不连续,系统没有经典意义下的解。应用微分包含和集值映
近年来,随着云计算、大数据、人工智能、智慧城市、智慧交通、自动驾驶等技术的快速发展,引起数字资源的大规模扩张,从而要求底层信息系统的存储能力和计算能力的提高来支持
监控摄像头作为构建平安和谐社会的重要手段,被广泛应用于社会的各个方面。然而,摄像头长期处于自然环境中,容易受到天气、周围环境的干扰,影响摄像头的正常工作。例如摄像头
动态随机存储器(Dynamic Random Access Memory,简称DRAM)因其超高的读写性能而被广泛应用在各种计算设备中。但DRAM受到存储密度和能耗的限制,容量难以进一步扩展。相比于DR