一种pcie非透明桥性能测试的方法

文档序号:8380846阅读:613来源:国知局
一种pcie非透明桥性能测试的方法
【技术领域】
[0001]本发明涉及存储系统领域,具体涉及一种PCIE非透明桥性能测试的方法。
【背景技术】
[0002]目前,双控磁盘阵列已经成为构建大规模存储系统的基本组成单元,双控之间的通信作为磁盘阵列的核心部件,它的性能直接决定磁盘阵列的性能。而PCIE非透明桥作为一个比较新的互连标准已经广泛被用来作为双控制器之间的传输通道。在这种场景下PCIE非透明桥的性能就直接决定了双控磁盘阵列的整体性能。采用一种自动化的、用户可控的测试方法测试PCIE非透明桥的性能就显得尤为重要,可以为双控应用系统提供硬件参考依据和性能调优目标。

【发明内容】

[0003]本发明要解决的技术问题是:本发明主要是提供一种PCIE非透明桥性能测试的方法。
[0004]本发明所采用的技术方案为:
一种PCIE非透明桥性能测试的方法,基于PCIE非透明桥(NTB)的功能提供两个主机系统之间内存映射的功能,实现两控制器之间的通信,根据双控制器设备所具有的通信方式,在双控制器加载ntb驱动之后,加载测试模块;在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建;通过sysfs入口发起数据传输请求,在数据传输完成时,收集统计信息,得到性能测试结果;测试完成,卸载测试模块。
[0005]所述方法通过脚本发起任务,并且收集测试结果,实现自动化测试,提高了测试的效率,有效避免了因人为操作的差异性对性能的影响。
[0006]所述的任务能够多线程处理,能够同时启用多个线程进行并发的接收或发送,线程数能够通过模块参数控制或通过脚本进行控制,实现在不同线程并发条件下的性能统计,为上层应用使用多线程或单线程进行任务处理提供了性能依据。
[0007]数据量的发送是可控的,通过用户空间控制数据发送的总量,为用户对测试时长提供了控制方法。
[0008]数据发送和接收方式是可控的,通过用户空间控制使用CPU或者DMA方式进行传输。通过用户空间发起数据传输测试从NTB PCIE到RAM通过CPU/DMA发送时的性能,并同时测试从NTB RAM到RAM通过CPU/DMA接收时的性能。并且测试在不同线程并发时的性能,为上层应用数据选择使用CPU传输或者DMA传输方式提供选择依据,并同时为线程并发提供依据。
[0009]所述方法通过软件的方式测试PCIE通道传输的最佳性能;测试时,两控制器之间已经能通过NTB进行传输,测试过程具体为:
a)加载测试模块,在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建;
b)该设备属性文件是提供给用户空间的测试入口,包括tx_cpu、tx_dma、rx_cpu、rx_dma四种,分别作为cpu发送、dma发送、cpu接收、dma接收的入口 ;
c)通过模块参数或脚本控制线程数,实现在不同线程并发条件下的性能统计;
d)根据每个线程处理的数据量=总量/线程个数,自动实现各线程对数据处理的均衡分配,控制向用户提供发送数据总量;
e)线程的标识为标识发送是否完成,当线程处理完成时记录测试时间,根据公式:性能=处理数据字节数/处理时间,自动统计性能数值,实现了测试的自动化。
[0010]f)模块卸载时,删除sysfs属性文件。
[0011]本发明的有益效果为:本发明用于双控制器间PCIE NTB硬件层传输性能测试,实现自动化测试,节约软件维护成本,从而提升竞争力。
【附图说明】
[0012]图1为本发明测试过程示意图;
图2本发明测试控制示意图。
【具体实施方式】
[0013]下面参照附图所示,通过【具体实施方式】对本发明进一步说明:
如图2所示,一种PCIE非透明桥性能测试的方法,基于PCIE非透明桥(NTB)的功能提供两个主机系统之间内存映射的功能,实现两控制器之间的通信,根据双控制器设备所具有的通信方式,在双控制器加载ntb驱动之后,加载测试模块;在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建;通过sysfs入口发起数据传输请求,在数据传输完成时,收集统计信息,得到性能测试结果;测试完成,卸载测试模块。测试模块是独立于硬件的,可以随时加载和卸载、不影响硬件通信,解决了测试对硬件的依赖性。
[0014]所述方法通过脚本发起任务,并且收集测试结果,实现自动化测试,提高了测试的效率,有效避免了因人为操作的差异性对性能的影响。
[0015]所述的任务能够多线程处理,能够同时启用多个线程进行并发的接收或发送,线程数能够通过模块参数控制或通过脚本进行控制,实现在不同线程并发条件下的性能统计,为上层应用使用多线程或单线程进行任务处理提供了性能依据。
[0016]数据量的发送是可控的,通过用户空间控制数据发送的总量,为用户对测试时长提供了控制方法。
[0017]数据发送和接收方式是可控的,通过用户空间控制使用CPU或者DMA方式进行传输。通过用户空间发起数据传输测试从NTB PCIE到RAM通过CPU/DMA发送时的性能,并同时测试从NTB RAM到RAM通过CPU/DMA接收时的性能。并且测试在不同线程并发时的性能,为上层应用数据选择使用CPU传输或者DMA传输方式提供选择依据,并同时为线程并发提供依据。
[0018]所述方法通过软件的方式测试PCIE通道传输的最佳性能;测试时,两控制器之间已经能通过NTB进行传输,如图1所示,测试过程具体为:
a)加载测试模块,在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建;
b)该设备属性文件是提供给用户空间的测试入口,包括tx_cpu、tx_dma、rx_cpu、rx_dma四种,分别作为cpu发送、dma发送、cpu接收、dma接收的入口 ; c)通过模块参数或脚本控制线程数,实现在不同线程并发条件下的性能统计;
线程注册时,可以通过参数控制并发线程数,支持单线程、多线程发送和接收;
d)根据每个线程处理的数据量=总量/线程个数,自动实现各线程对数据处理的均衡分配,控制向用户提供发送数据总量;
e)线程的标识为标识发送是否完成,当线程处理完成时记录测试时间,根据公式:性能=处理数据字节数/处理时间,自动统计性能数值,实现了测试的自动化。
[0019]f)模块卸载时,删除sysfs属性文件。
[0020]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
【主权项】
1.一种PCIE非透明桥性能测试的方法,基于PCIE非透明桥NTB的功能提供两个主机系统之间内存映射的功能,实现两控制器之间的通信,其特征在于:根据双控制器设备所具有的通信方式,在双控制器加载ntb驱动之后,加载测试模块;在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建;通过sysfs入口发起数据传输请求,在数据传输完成时,收集统计信息,得到性能测试结果;测试完成,卸载测试模块。
2.根据权利要求1所述的一种PCIE非透明桥性能测试的方法,其特征在于:所述方法通过脚本发起任务,并且收集测试结果。
3.根据权利要求2所述的一种PCIE非透明桥性能测试的方法,其特征在于:所述的任务能够多线程处理,能够同时启用多个线程进行并发的接收或发送,线程数能够通过模块参数控制或通过脚本进行控制,实现在不同线程并发条件下的性能统计。
4.根据权利要求1所述的一种PCIE非透明桥性能测试的方法,其特征在于:数据量的发送是可控的,通过用户空间控制数据发送的总量。
5.根据权利要求1所述的一种PCIE非透明桥性能测试的方法,其特征在于:数据发送和接收方式是可控的,通过用户空间控制使用CPU或者DMA方式进行传输。
6.根据权利要求1-5任一所述的一种PCIE非透明桥性能测试的方法,其特征在于:所述方法通过软件的方式测试PCIE通道传输的最佳性能;测试时,两控制器之间已经能通过NTB进行传输,测试过程具体为: a)加载测试模块,在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建; b)该设备属性文件是提供给用户空间的测试入口,包括tx_cpu、tx_dma、rx_cpu、rx_dma四种,分别作为cpu发送、dma发送、cpu接收、dma接收的入口 ; c)通过模块参数或脚本控制线程数,实现在不同线程并发条件下的性能统计; d)根据每个线程处理的数据量=总量/线程个数,自动实现各线程对数据处理的均衡分配,控制向用户提供发送数据总量; e)线程的标识为标识发送是否完成,当线程处理完成时记录测试时间,根据公式:性能=处理数据字节数/处理时间,自动统计性能数值; f)模块卸载时,删除sysfs属性文件。
【专利摘要】本发明公开了一种PCIE非透明桥性能测试的方法,基于PCIE非透明桥(NTB)的功能提供两个主机系统之间内存映射的功能,实现两控制器之间的通信,根据双控制器设备所具有的通信方式,在双控制器加载ntb驱动之后,加载测试模块;在模块加载时完成ntb设备对用户空间的sysfs属性文件的创建;通过sysfs入口发起数据传输请求,在数据传输完成时,收集统计信息,得到性能测试结果;测试完成,卸载测试模块。本发明用于双控制器间PCIE NTB硬件层传输性能测试,实现自动化测试,节约软件维护成本,从而提升竞争力。
【IPC分类】G06F11-26
【公开号】CN104699584
【申请号】CN201510124193
【发明人】刘变红, 闫永刚, 吴庆民
【申请人】浪潮集团有限公司
【公开日】2015年6月10日
【申请日】2015年3月20日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1