基于RDMA的Java I/O性能优化

来源 :中国科学院计算技术研究所 | 被引量 : 0次 | 上传用户:crm888crm
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
InfiniBand(IB)是I/O技术领域的一种新型体系结构,提供具有低延迟、高带宽特性的RDMA传输方式,为提高集群通信性能提供了支持。当前在Java应用程序中使用构建于InfiniBand网络之上的TCP/IP通信模拟层(IPoIB、SDP等)性能较差,在通信延迟和通信带宽方面都与使用C语言获得的性能有较大差距,并且带来很大的主机CPU开销,导致InfiniBand网络的通信优势不能充分发挥。研究基于InfiniBand的Java通信层支持,对充分利用InfiniBand网络的RDMA机制,提升Java的I/O性能,满足当前Java服务器集群的通信性能提升需求具有重要意义。   本文研究了设计和实现基于RDMA的Java通信库的3个关键问题:对InfiniBandVerbs API的封装方法、封装中函数参数的传递方法和采用NIO direct buffer实现零拷贝数据通路的方法,这些问题直接影响着InfiniBand网络RDMA优势的发挥。本文总结相关研究,分析了InfiniBand VerbsAPI的函数参数传递特点,同时结合已有对NIO directbuffer的使用和对InfiniBand网络特性的实验评测,探讨了上述问题的解决方法。   首先,在Jdib通信库的初步实现中提出了传地址+传对象的封装方法,对基本的InfiniBand Verbs API函数进行封装,向上层应用提供了基本的RDMA操作接口。之后,对初步实现的通信库进行性能测试发现,当使用传地址加传对象方式通过JNI进行InfiniBand Verbs调用时,对对象内部成员进行操作的JNI函数(getXXXfield和setXXXfield)非常耗时,成为限制通信库性能的瓶颈,导致网络性能无法充分发挥。本文进一步提出了传地址加传对象,传地址加传参数结合使用的方法,避免了JNI对象操作函数的开销,提高通信库的性能;同时,针对JVM buffer和native buffer之间数据拷贝增加数据传输延迟的问题,通过使用direct buffer达到Java应用程序和本地库函数之间的数据共享,对通信库进行进一步改进。   对Jdib通信库进行实验评测表明,改进后的RDMA读操作和RDMA写操作的性能都有了显著提高:封装方式的改进使RDMA读写操作的延迟性能提高3~5us;零拷贝的实现避免了数据量较大时由于数据拷贝导致的网络空闲,缩小了与C测试程序的带宽差距。上述改进使得Jdib通信库的延迟和带宽性能对比现有的TCP/IP模拟层具有显著优势。   本文设计实现的通信库能够为上层Java应用直接使用InfiniBand Verbs提供支持,同时对于构建上层的分布式通信范型,如Java RMI,也提供必要的支持。
其他文献
经过多年的信息化建设,北京市电子政务水平得到了极大的提升,在配备了完善的IT基础设施的同时,也开发了许多应用系统;市政府下属各个区县的信息中心及部门也基本建成了政府门户网
网格计算技术为跨管理域的资源安全共享和提高资源利用率提供了有效支持。在基于网格平台的实际应用系统中,除了计算、存储、数据资源外,还存在着大量的应用软件和工具资源。很
多线程技术是构造下一代分布式应用的基本技术。通过将分布式应用对于Web应用服务器的多线程服务需求提取出来,以统一的编程模型提供给用户,Work Manager是目前构建基于Web应用
密码算法是信息安全领域的重要研究内容,算法的安全性由诸多因素决定,包括算法自身的数学特性以及实现安全性等。近年来,基于实现的算法攻击获得了广泛关注并已成为研究热点之一
在开放、动态的网络环境中,分布式软件呈现出规模庞大、松散聚合、行为复杂等特点,分布式软件自身的特点、复杂多变的网络环境以及用户需求的不断更变,需要对其进行动态的适
本文重点对超图划分和空间填充曲线两类方法进行比较研究。在大规模科学计算中,并行计算效率提升的一个关键在于将数据进行剖分,分配到相应处理器中,以及对处理器中的数据进行动
作为一种无需预设设备支持的无线移动网络,移动自组网的研究越来越多地得到人们的关注,特别是对网络性能有重要影响的路由协议的研究。由于移动自组网中的节点采用电池一类的可
软件测试是伴随软件开发全过程的重要活动。测试管理帮助企业制定软件测试流程,管理测试人员,规范测试运行,分析测试结果,是保证软件测试质量的主要手段。   软件测试模型是软
本文介绍了移动计算领域一个较为年轻的新课题——位置相关数据。位置相关数据是一种向移动用户提供即时、即点信息服务的技术。通过位置相关服务用户在移动过程中可以获得与
流程企业生产过程反映了企业的工艺路线、资源配置及其制造能力,生产过程的稳定运行影响着产品生命周期的各个阶段,因此进行生产过程的实时监控非常必要。生产过程中的大量装置