CN117880142A - 数据传输性能的测试方法、装置、电子设备及存储介质 - Google Patents
数据传输性能的测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117880142A CN117880142A CN202311683879.XA CN202311683879A CN117880142A CN 117880142 A CN117880142 A CN 117880142A CN 202311683879 A CN202311683879 A CN 202311683879A CN 117880142 A CN117880142 A CN 117880142A
- Authority
- CN
- China
- Prior art keywords
- time information
- sequence
- target
- pcie
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 262
- 238000012360 testing method Methods 0.000 title claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 67
- 238000012545 processing Methods 0.000 claims description 38
- 238000004590 computer program Methods 0.000 claims description 11
- 230000002093 peripheral effect Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000007619 statistical method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 101800001718 Amyloid-beta protein Proteins 0.000 description 1
- 210000000481 breast Anatomy 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000010230 functional analysis Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/06—Generation of reports
- H04L43/067—Generation of reports using time frame reporting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例涉及一种数据传输性能的测试方法、装置、电子设备及存储介质,上述方法包括:确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;确定所述目标时间信息序列的统计数据;基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能。由此,可以降低PCIE端的数据传输性能的测试成本。
Description
本申请为申请号202311333052.6、申请日2023年10月16日、发明名称“数据传输性能的测试方法、装置、电子设备及存储介质”专利申请的分案申请。
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据传输性能的测试方法、装置、电子设备及存储介质。
背景技术
PCIE(peripheral component interconnect express,一种高速串行计算机扩展总线标准)是一种高速串行总线接口,是现代计算机系统中常用的一种总线类型,广泛应用于外设与CPU(Central Processing Unit,中央处理器)的数据连接传输,能提供更高的带宽与更低的传输延时。
在需要极速传输性能的应用中,经常应用PCIE-DMA作为设备与CPU的数据传输方式,PCIE-DMA(Direct Memory Access,直接存储器访问)传输性能状况极大的影响了系统的极速性能情况。因为PCIE设备与CPU使用不同的时间戳计算方式,很难统一来计算实现延时性能的测量,这样对现有PCIE-DMA的性能评估只能通过专用设备来测试,对很多普通用户来说,应用成本高,难以普及应用。
可见,如何降低PCIE端的数据传输性能的测试成本,是一个值得关注的技术问题。
发明内容
鉴于此,为解决上述部分或全部技术问题,本申请实施例提供一种数据传输性能的测试方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供一种数据传输性能的测试方法,所述方法包括:
确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;
确定所述目标时间信息序列的统计数据;
基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能;
其中,在所述PCIE端为第一PCIE端的情况下,所述预设参照端为第二PCIE端,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能;在所述预设参照端为所述CPU端的情况下,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能;和/或,
所述数据传输的性能包括所述PCIE端的数据传输延时。
在一个可能的实施方式中,所述目标时间信息序列中的目标时间信息采用数值表示;以及
所述确定所述目标时间信息序列的统计数据,包括:
基于所述目标时间信息序列,确定时间差序列;其中,所述时间差序列中的时间差表示所述CPU端和所述PCIE端采集同一目标数据的时间差,或者,所述时间差序列中的时间差表示所述PCIE端采集两目标数据的时间差,或者,所述时间差序列中的时间差表示所述CPU端采集两目标数据的时间差;
确定所述时间差序列的第一平均值、第一中位数、第一最大值、第一最小值和第一区间比率中的至少一者,得到所述目标时间信息序列的统计数据;
其中,所述第一区间比率表示所述时间差序列中的时间差属于第一时间差区间的比率。
在一个可能的实施方式中,所述基于所述目标时间信息序列,确定时间差序列,包括:
针对所述目标时间信息序列中的非首个目标时间信息,确定该目标时间信息与所述目标时间信息序列中的该目标时间信息的前一目标时间信息之差,得到该目标时间信息对应的时间差;
将所得到的各个时间差组成的序列,确定为时间差序列。
在一个可能的实施方式中,所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
确定所述第一平均值是否属于第一数值区间,得到第一判别信息;
确定所述第一中位数是否属于第二数值区间,得到第二判别信息;
基于所述第一最大值和所述第一最小值,确定是否存在延时抖动,得到第三判别信息;
确定所述第一平均值与所述第一最大值或所述第一最小值的差值,得到目标差值;
确定所述目标差值是否小于或等于预设数值,得到第四判别信息;
基于所述第一判别信息、所述第二判别信息、所述第三判别信息、所述第四判别信息和所述第一区间比率,确定所述PCIE端的数据传输性能。
在一个可能的实施方式中,在所述PCIE端为第一PCIE端、所述预设参照端为第二PCIE端,并且,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定第一CPU端采集目标数据序列中的目标数据的时间信息,得到第一目标时间信息序列,其中,所述第一CPU端采集的目标数据经由第一PCIE端传输至第一DMA内存;
确定第二CPU端采集目标数据序列中的目标数据的时间信息,得到第二目标时间信息序列,其中,所述第二CPU端采集的目标数据经由第二PCIE端传输至第二DMA内存,所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的目标时间信息一一对应;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第一目标时间信息序列和所述第二目标时间信息序列的第一差值序列,其中,所述第一差值序列中的差值为所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的对应目标时间信息的差值;
确定所述第一差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能。
在一个可能的实施方式中,所述确定所述第一差值序列的统计数据,包括:
确定所述第一差值序列的第二平均值、第二中位数、第二最大值、第二最小值和第二区间比率,得到所述第一差值序列的统计数据;
其中,所述第二区间比率表示所述第一差值序列中的差值属于第二差值区间的比率;以及
所述基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能,包括以下至少一项:
基于所述第二平均值、所述第二中位数、所述第二平均值的绝对值、所述第二中位数的绝对值和所述第二区间比率,确定所述第一PCIE端相对于所述第二PCIE端的数据传输快慢情况;
基于所述第二最大值、所述第二最小值、所述第二平均值和所述第二中位数,确定所述第一PCIE端相对于所述第二PCIE端的数据传输的延时抖动情况。
在一个可能的实施方式中,在所述预设参照端为所述CPU端,并且,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能的情况下,所述CPU端按照预设频率执行采集操作,以采集目标数据;以及
所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定CPU端采集目标数据序列中的目标数据的循环次数,得到循环次数序列,其中,循环次数表示所述CPU端当前采集到目标数据与所述CPU端上次采集到目标数据期间执行所述采集操作的次数;
将所述循环次数序列,确定为所述目标时间信息序列;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端相对于所述CPU端的数据传输性能。
在一个可能的实施方式中,在所述数据传输的性能包括所述PCIE端的数据传输延时的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定PCIE端采集目标数据序列中的目标数据的时间信息,得到第三目标时间信息序列;
确定CPU端采集所述目标数据序列中的目标数据的时间信息,得到第四目标时间信息序列;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第四目标时间信息序列与所述第三目标时间信息序列的第二差值序列,其中,所述第二差值序列中的差值为所述第三目标时间信息序列中的目标时间信息与所述第四目标时间信息序列中的对应目标时间信息的差值;
确定所述第二差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端的数据传输延时。
在一个可能的实施方式中,PCIE端的时间戳与CPU端的时间戳不在同一时钟源。
第二方面,本申请实施例提供一种数据传输性能的测试装置,所述装置包括:
第一确定单元,用于确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;
第二确定单元,用于确定所述目标时间信息序列的统计数据;
第三确定单元,用于基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能;
其中,在所述PCIE端为第一PCIE端的情况下,所述预设参照端为第二PCIE端,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能;在所述预设参照端为所述CPU端的情况下,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能;和/或,
所述数据传输的性能包括所述PCIE端的数据传输延时。
在一个可能的实施方式中,所述目标时间信息序列中的目标时间信息采用数值表示;以及
所述确定所述目标时间信息序列的统计数据,包括:
基于所述目标时间信息序列,确定时间差序列;其中,所述时间差序列中的时间差表示所述CPU端和所述PCIE端采集同一目标数据的时间差,或者,所述时间差序列中的时间差表示所述PCIE端采集两目标数据的时间差,或者,所述时间差序列中的时间差表示所述CPU端采集两目标数据的时间差;
确定所述时间差序列的第一平均值、第一中位数、第一最大值、第一最小值和第一区间比率中的至少一者,得到所述目标时间信息序列的统计数据;
其中,所述第一区间比率表示所述时间差序列中的时间差属于第一时间差区间的比率。
在一个可能的实施方式中,所述基于所述目标时间信息序列,确定时间差序列,包括:
针对所述目标时间信息序列中的非首个目标时间信息,确定该目标时间信息与所述目标时间信息序列中的该目标时间信息的前一目标时间信息之差,得到该目标时间信息对应的时间差;
将所得到的各个时间差组成的序列,确定为时间差序列。
在一个可能的实施方式中,所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
确定所述第一平均值是否属于第一数值区间,得到第一判别信息;
确定所述第一中位数是否属于第二数值区间,得到第二判别信息;
基于所述第一最大值和所述第一最小值,确定是否存在延时抖动,得到第三判别信息;
确定所述第一平均值与所述第一最大值或所述第一最小值的差值,得到目标差值;
确定所述目标差值是否小于或等于预设数值,得到第四判别信息;
基于所述第一判别信息、所述第二判别信息、所述第三判别信息、所述第四判别信息和所述第一区间比率,确定所述PCIE端的数据传输性能。
在一个可能的实施方式中,在所述PCIE端为第一PCIE端、所述预设参照端为第二PCIE端,并且,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定第一CPU端采集目标数据序列中的目标数据的时间信息,得到第一目标时间信息序列,其中,所述第一CPU端采集的目标数据经由第一PCIE端传输至第一DMA内存;
确定第二CPU端采集目标数据序列中的目标数据的时间信息,得到第二目标时间信息序列,其中,所述第二CPU端采集的目标数据经由第二PCIE端传输至第二DMA内存,所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的目标时间信息一一对应;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第一目标时间信息序列和所述第二目标时间信息序列的第一差值序列,其中,所述第一差值序列中的差值为所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的对应目标时间信息的差值;
确定所述第一差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能。
在一个可能的实施方式中,所述确定所述第一差值序列的统计数据,包括:
确定所述第一差值序列的第二平均值、第二中位数、第二最大值、第二最小值和第二区间比率,得到所述第一差值序列的统计数据;
其中,所述第二区间比率表示所述第一差值序列中的差值属于第二差值区间的比率;以及
所述基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能,包括以下至少一项:
基于所述第二平均值、所述第二中位数、所述第二平均值的绝对值、所述第二中位数的绝对值和所述第二区间比率,确定所述第一PCIE端相对于所述第二PCIE端的数据传输快慢情况;
基于所述第二最大值、所述第二最小值、所述第二平均值和所述第二中位数,确定所述第一PCIE端相对于所述第二PCIE端的数据传输的延时抖动情况。
在一个可能的实施方式中,在所述预设参照端为所述CPU端,并且,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能的情况下,所述CPU端按照预设频率执行采集操作,以采集目标数据;以及
所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定CPU端采集目标数据序列中的目标数据的循环次数,得到循环次数序列,其中,循环次数表示所述CPU端当前采集到目标数据与所述CPU端上次采集到目标数据期间执行所述采集操作的次数;
将所述循环次数序列,确定为所述目标时间信息序列;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端相对于所述CPU端的数据传输性能。
在一个可能的实施方式中,在所述数据传输的性能包括所述PCIE端的数据传输延时的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定PCIE端采集目标数据序列中的目标数据的时间信息,得到第三目标时间信息序列;
确定CPU端采集所述目标数据序列中的目标数据的时间信息,得到第四目标时间信息序列;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第四目标时间信息序列与所述第三目标时间信息序列的第二差值序列,其中,所述第二差值序列中的差值为所述第三目标时间信息序列中的目标时间信息与所述第四目标时间信息序列中的对应目标时间信息的差值;
确定所述第二差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端的数据传输延时。
在一个可能的实施方式中,PCIE端的时间戳与CPU端的时间戳不在同一时钟源。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请上述第一方面的数据传输性能的测试方法中任一实施例的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面的数据传输性能的测试方法中任一实施例的方法。
第五方面,本申请实施例提供一种计算机程序,所述计算机程序包括计算机可读代码,当所述计算机可读代码在设备上运行时,使得该设备中的处理器实现如上述第一方面的数据传输性能的测试方法中任一实施例的方法。
本申请实施例提供的数据传输性能的测试方法,可以确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据,之后,确定所述目标时间信息序列的统计数据,以便对目标时间信息序列中包含的时间信息进行统计分析,之后,基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能,以便实现PCIE端的数据传输性能的测试。由此,无需依赖专用设备即可实现PCIE端的数据传输性能的测试,可以降低PCIE端的数据传输性能的测试成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
图1为本申请实施例提供的一种数据传输性能的测试方法的流程示意图;
图2为本申请实施例提供的另一种数据传输性能的测试方法的流程示意图;
图3A为本申请实施例提供的一种数据传输性能的测试方法涉及的PCIE端与CPU端进行数据交互的流程示意图;
图3B为本申请实施例提供的再一种数据传输性能的测试方法的流程示意图;
图4为本申请实施例提供的一种数据传输性能的测试装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值并不限制本申请的范围。
本领域技术人员可以理解,本申请实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等对象,既不代表任何特定技术含义,也不表示它们之间的逻辑顺序。
还应理解,在本实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本申请实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本申请对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,上述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。为便于对本申请实施例的理解,下面将参考附图并结合实施例来详细说明本申请。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决现有技术中如何降低PCIE端的数据传输性能的测试成本的技术问题,本申请提供了一种数据传输性能的测试方法,可以降低PCIE端的数据传输性能的测试成本。
图1为本申请实施例提供的一种数据传输性能的测试方法的流程示意图。本方法可以应用于FPGA((Field Programmable Gate Array,现场可编程门阵列)、智能手机、笔记本电脑、台式电脑、便携式计算机、服务器等一个或多个电子设备上。此外,本方法的执行主体可以是硬件,也可以是软件。当上述执行主体为硬件时,该执行主体可以为上述电子设备中的一个或多个。例如,单个电子设备可以执行本方法,或者,多个电子设备可以彼此配合来执行本方法。当上述执行主体为软件时,本方法可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不作具体限定。
如图1所示,该方法具体包括:
步骤101确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据。
在本实施例中,PCIE端,可以表示PCIE设备端。CPU端,可以表示CPU软件端。
实践中,在一些数据高频交互领域,经常使用FPGA板卡这类PCIE设备用于行情与交易处理,并把处理后的数据通过DMA传输给CPU软件,相关数据流程可以如图3A所示,图3A为本申请实施例提供的一种数据传输性能的测试方法涉及的PCIE端与CPU端进行数据交互的流程示意图。
步骤一,PCIE设备(也即上述PCIE端,图示中的设备1、设备2)处理数据(也即上述目标数据序列中的目标数据),并向PCIE总线请求传输到对应的DMA内存,PCIE总线实现数据传输过程,把数据传输到DMA内存中。
步骤二,如果CPU缓存中有对应地址的缓存,系统总线会把数据同步到CPU缓存中,如无则这步不执行。
步骤三,CPU从DMA内存读取数据,如果数据在缓存命中,则直接从缓存中提取。
步骤四,如果数据不在缓存(cache miss,cache中无缓存、缺失),则需经系统总线申请,从DMA内存中请求对应的DMA内存数据。
步骤五,CPU获取到DMA数据,进入相应业务处理。
目标数据序列中的目标数据,可以是上述PCIE端与CPU端交互的各种数据。目标数据序列中的目标数据,可以按照PCIE端向CPU端进行数据传输的先后顺序排列。
时间信息,可以表示PCIE端和/或CPU端采集目标数据序列中的目标数据的时间。例如,时间信息,可以表示PCIE端采集目标数据序列中的目标数据的时间,也可以表示CPU端采集目标数据序列中的目标数据的时间,还可以表示PCIE端和CPU端采集目标数据序列中的目标数据的时间。
目标时间信息序列,中的时间信息的顺序,可以与目标数据序列中的目标数据的顺序相对应。
步骤102,确定所述目标时间信息序列的统计数据。
在本实施例中,上述统计数据可以是针对目标时间信息序列的任意一个或多个统计数据。作为示例,上述统计数据可以是目标时间信息序列中的各个目标时间信息表示的时间的平均数、中位数、最大值、最小值、方差、标准差等。
步骤103,基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能。
在本实施例中,可以基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述预设参照端可以是除所述PCIE端之外的另一PCIE端,也可以是用于与所述PCIE端进行数据交互的CPU端。数据传输性能,可以包括以下至少一项:数据传输速率、数据传输延时、数据传输抖动等。
其中,在所述PCIE端为第一PCIE端的情况下,所述预设参照端为第二PCIE端,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能;在所述预设参照端为所述CPU端的情况下,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能;和/或,所述数据传输的性能包括所述PCIE端的数据传输延时。
换言之,确定所述PCIE端的数据传输性能的方式,至少可以包含方式一、方式二和方式三中的至少一者。
其中,方式一为:在所述PCIE端为第一PCIE端,并且,所述预设参照端为第二PCIE端的情况下,可以通过确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能的方式,来确定所述PCIE端的数据传输性能。
方式二可以为:在所述预设参照端为所述CPU端的情况下,可以通过确定所述PCIE端相对于所述CPU端的数据传输性能的方式,来确定所述PCIE端的数据传输性能。
方式三可以为:在所述数据传输的性能包括所述PCIE端的数据传输延时的情况下,可以通过确定所述PCIE端的数据传输延时,来确定所述PCIE端的数据传输性能。
这里,可以通过共用上述三种方式,来确定所述PCIE端的数据传输性能。在此情况下,可以分别确定所述第一PCIE端相对于所述第二PCIE端、所述CPU端的数据传输延时,来确定所述PCIE端的数据传输性能。
作为示例,在统计数据包括平均值的情况下,如果平均值属于预设第一区间,那么,可以确定PCIE端传输目标数据的频率在一个合理的范围。
作为又一示例,在统计数据包括平均值和最大值(或最小值)的情况下,如果平均值与最大值(或最小值)的差值小于或等于预设数值,那么,可以确定PCIE端传输目标数据的抖动较小。
在本实施例的一些可选的实现方式中,在所述PCIE端为第一PCIE端、所述预设参照端为第二PCIE端,并且,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能的情况下,可以采用如下方式,来确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,进而得到目标时间信息序列:
第一步,确定第一CPU端采集目标数据序列中的目标数据的时间信息,得到第一目标时间信息序列。
其中,第一CPU端,可以是任一CPU端。
第一目标时间信息序列,可以是经由第一CPU端采集目标数据序列中的目标数据而获得的时间信息的序列。
其中,所述第一CPU端采集的目标数据经由第一PCIE端传输至第一DMA内存。
第一PCIE端,可以是用于向第一CPU端传输目标数据的PCIE端。
第一DMA内存,可以是经由所述第一PCIE端采集目标数据后传输至的DMA内存,也即所述第一CPU端从其中采集目标数据的DMA内存。
第二步,确定第二CPU端采集目标数据序列中的目标数据的时间信息,得到第二目标时间信息序列。
其中,第二CPU端,可以是任一不同于第一CPU端的另一CPU端。
第二目标时间信息序列,可以是经由第二CPU端采集目标数据序列中的目标数据而获得的时间信息的序列。
其中,所述第二CPU端采集的目标数据经由第二PCIE端传输至第二DMA内存。所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的目标时间信息一一对应。
第二PCIE端,可以是用于向第二CPU端传输目标数据的PCIE端。
第二DMA内存,可以是经由所述第二PCIE端采集目标数据后传输至的DMA内存,也即所述第二CPU端从其中采集目标数据的DMA内存。
在此基础上,可以采用如下方式,来确定所述目标时间信息序列的统计数据:
步骤一,确定所述第一目标时间信息序列和所述第二目标时间信息序列的第一差值序列。
其中,所述第一差值序列中的差值为所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的对应目标时间信息的差值。
作为示例,如果第一目标时间信息序列为“A1、B1、C1”,第二目标时间信息序列为“A2、B2、C2”,那么,第一差值序列可以是“A1-A2、B1-B2、C1-C2”。
步骤二,确定所述第一差值序列的统计数据,得到所述目标时间信息序列的统计数据。
这里,上述统计数据可以是针对第一差值序列的任意一个或多个统计数据。作为示例,上述统计数据可以是第一差值序列中的各个差值的平均数、中位数、最大值、最小值、方差、标准差等。
进一步地,在此基础上,可以采用如下方式,来基于所述统计数据,确定所述PCIE端的数据传输性能:基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端(也即上述预设参照端)的数据传输性能。
作为示例,在统计数据包括平均值的情况下,如果平均值为正值,那么,可以确定第一PCIE端传输目标数据的效率低于第二PCIE端传输目标数据的效率;如果平均值为负值,那么,可以确定第一PCIE端传输目标数据的效率高于第二PCIE端传输目标数据的效率。
可以理解,上述可选的实现方式中,可以通过确定第一目标时间信息序列和第二目标时间信息序列的差值序列,实现两不同PCIE端的数据传输性能的比对测试,可以降低不同PCIE端的数据传输性能的比对测试的成本。
在本实施例的一些可选的实现方式中,可以采用如下方式,来确定所述第一差值序列的统计数据:
第一步,确定所述第一差值序列的第二平均值、第二中位数、第二最大值、第二最小值和第二区间比率,得到所述第一差值序列的统计数据。
其中,所述第二区间比率表示所述第一差值序列中的差值属于第二差值区间的比率。
第二平均值,可以是第一差值序列中的各个差值的平均值。
第二中位数,可以是第一差值序列中的各个差值的中位数。
第二最大值,可以是第一差值序列中的各个差值中的最大值。
第二最小值,可以是第一差值序列中的各个差值中的最小值。
第二差值区间,可以是预先确定的差值区间。
由此,第一差值序列的统计数据,可以包括:第二平均值、第二中位数、第二最大值、第二最小值和第二区间比率。
在此基础上,可以采用如下至少一种方式,来基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能:
方式一,基于所述第二平均值、所述第二中位数、所述第二平均值的绝对值、所述第二中位数的绝对值和所述第二区间比率,确定所述第一PCIE端相对于所述第二PCIE端的数据传输快慢情况(也即上述数据传输性能)。
这里,可以通过第二平均值、第二中位数判断第一PCIE端和第二PCIE端比较的性能情况,如第二平均值、第二中位数是正值,则第一PCIE端比第二PCIE端慢,如第二平均值、第二中位数是负值,则表示第一PCIE端比第二PCIE端快。第二平均值的绝对值、第二中位数的绝对值越大,则表示第一PCIE端和第二PCIE端的差距越大。
可以通过第二区间比率,确定第一PCIE端和第二PCIE端之间快慢的比率,能在一定程度提升均值与极值(也即上述最大值或最小值)在统计方面的不足之处。如第二区间比率表示第一差值序列中大于0的差值的数量大于或等于80%,则说明第二PCIE端比第一PCIE端更快的情况占比80%,这值更能体现第二PCIE端和第一PCIE端对比的快慢延时性能。
方式二,基于所述第二最大值、所述第二最小值、所述第二平均值和所述第二中位数,确定所述第一PCIE端相对于所述第二PCIE端的数据传输的延时抖动情况(也即上述数据传输性能)。
这里,第二最大值、第二最小值可以表示第二PCIE端和第一PCIE端对比的极值,如果极值与第二平均值、第二中位数的差距较大,预示着抖动会比较大,分布不均衡,有可能有极值影响了均值,对比情况可能受其它因素干扰。
在本实施例的一些可选的实现方式中,在所述预设参照端为所述CPU端,并且,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能的情况下,所述CPU端按照预设频率执行采集操作,以采集目标数据。
在此基础上,可以采用如下方式,来确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列:
第一步,确定CPU端采集目标数据序列中的目标数据的循环次数,得到循环次数序列。
其中,循环次数表示所述CPU端当前采集到目标数据与所述CPU端上次采集到目标数据期间执行所述采集操作的次数。
这里,循环次数序列中的各个循环次数的顺序,可以与目标数据序列中的各个目标数据的顺序相对应。
第二步,将所述循环次数序列,确定为所述目标时间信息序列。
在此基础上,可以采用如下方式,来基于所述统计数据,确定所述PCIE端的数据传输性能:基于所述统计数据,确定所述PCIE端相对于所述CPU端(也即上述预设参照端)的数据传输性能。
这里,通过查询循环次数序列中的循环次数,若循环次数大于0,说明CPU端本次末能从DMA内存中获取到数据,循环次数越高,等待的时间越多,以此可分析PCIE端是否存在处理瓶颈,或此时数据暂停。当CPU端处理与PCIE端上行处理在同一DMA地址操作时,即读写同步、循环次数为0,如在刚开始传输的时刻,或PCIE端处理慢于CPU端处理时,这时会导致循环次数加大,由此可辨别性能瓶颈会出现在哪里。
可以理解,通过上述循环次数序列的统计数据可以进行PCIE端CPU端之间的性能对比分析。
在本实施例的一些可选的实现方式中,在所述数据传输的性能包括所述PCIE端的数据传输延时的情况下,可以采用如下方式,来确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,从而得到目标时间信息序列:
第一步,确定PCIE端采集目标数据序列中的目标数据的时间信息,得到第三目标时间信息序列。
第三目标时间信息序列,可以是经由PCIE端采集目标数据序列中的目标数据而获得的时间信息的序列。
第二步,确定CPU端采集所述目标数据序列中的目标数据的时间信息,得到第四目标时间信息序列。
第四目标时间信息序列,可以是经由CPU端采集目标数据序列中的目标数据而获得的时间信息的序列。
在此基础上,可以采用如下方式,来确定所述目标时间信息序列的统计数据:
步骤一,确定所述第四目标时间信息序列与所述第三目标时间信息序列的第二差值序列。
其中,所述第二差值序列中的差值为所述第三目标时间信息序列中的目标时间信息与所述第四目标时间信息序列中的对应目标时间信息的差值。
作为示例,如果第三目标时间信息序列为“A1、B1、C1”,第四目标时间信息序列为“A2、B2、C2”,那么,第二差值序列可以是“A1-A2、B1-B2、C1-C2”。
步骤二,确定所述第二差值序列的统计数据,得到所述目标时间信息序列的统计数据。
这里,第二差值序列的统计数据可以是针对第二差值序列的任意一个或多个统计数据。作为示例,上述统计数据可以是第二差值序列中的各个差值的平均数、中位数、最大值、最小值、方差、标准差等。
进一步地,可以采用如下方式,来基于所述统计数据,确定所述PCIE端的数据传输性能:基于所述统计数据,确定所述PCIE端的数据传输延时(也即上述数据传输性能)。
可以理解,上述可选的实现方式中,可以分析PCIE总线的性能情况。具体地,PCIE端某个时刻的传输延时,是可以通过设备记录间隔以及软件端记录间隔来测评的,当然这个延时是个相对值,并非PCIE端固有性能体现,只反映某个时刻传输某个数据的相对值,此值可能受到某时刻PCIE端传输负载压力、总线竞争情况影响,但能一定程度反馈PCIE总线传输的实时状况,可以为PCIE-DMA传输系统优化提供一定的决策依据。由此,即使软件时间戳与设备时间戳不在同一时钟源,无法进行等式计算不在同一时钟源,无法进行等式计算,也可以基于上述统计数据,来确定所述PCIE端的数据传输延时。
在本实施例的一些可选的实现方式中,软件时间戳与设备时间戳不在同一时钟源。
可以理解,上述可选的实现方式中所描述的方案,可以在软件时间戳与设备时间戳不在同一时钟源的情况下,实现异构平台的PCIE端的数据传输性能的测试。
本申请实施例提供的数据传输性能的测试方法,可以确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据,之后,确定所述目标时间信息序列的统计数据,以便对目标时间信息序列中包含的时间信息进行统计分析,之后,基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能,以便实现PCIE端的数据传输性能的测试。由此,无需依赖专用设备即可实现PCIE端的数据传输性能的测试,可以降低PCIE端的数据传输性能的测试成本。
图2为本申请实施例提供的另一种数据传输性能的测试方法的流程示意图。如图2所示,该方法具体包括:
步骤201,确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;所述目标时间信息序列中的目标时间信息采用数值表示;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据。
在本实施例中,PCIE端,可以表示PCIE设备端。CPU端,可以表示CPU软件端。
实践中,在一些数据高频交互领域(例如金融领域),经常使用FPGA板卡这类PCIE设备用于行情与交易处理,并把处理后的数据通过DMA传输给CPU软件,相关数据流程可以如图3A所示,图3A为本申请实施例提供的一种数据传输性能的测试方法涉及的PCIE端与CPU端进行数据交互的流程示意图。
步骤一,PCIE设备(也即上述PCIE端,图示中的设备1、设备2)处理数据(也即上述目标数据序列中的目标数据),并向PCIE总线请求传输到对应的DMA内存,PCIE总线实现数据传输过程,把数据传输到DMA内存中。
步骤二,如果CPU缓存中有对应地址的缓存,系统总线会把数据同步到CPU缓存中,如无则这步不执行。
步骤三,CPU从DMA内存读取数据,如果数据在缓存命中,则直接从缓存中提取。
步骤四,如果数据不在缓存(cache miss,Cache中无缓存、缺失),则需经系统总线申请,从DMA内存中请求对应的DMA内存数据;
步骤五,CPU获取到DMA数据,进入相应业务处理。
目标数据序列中的目标数据,可以是上述PCIE端与CPU端交互的各种数据。目标数据序列中的目标数据,可以按照PCIE端向CPU端进行数据传输的先后顺序排列。
时间信息,可以表示PCIE端和/或CPU端采集目标数据序列中的目标数据的时间。例如,时间信息,可以表示PCIE端采集目标数据序列中的目标数据的时间,也可以表示CPU端采集目标数据序列中的目标数据的时间,还可以表示PCIE端和CPU端采集目标数据序列中的目标数据的时间。
目标时间信息序列,中的时间信息的顺序,可以与目标数据序列中的目标数据的顺序相对应。
所述目标时间信息序列中的目标时间信息采用数值表示。例如,目标时间信息序列中的目标时间信息,可以为CPU端采集目标数据的时间戳,也可以为PCIE端采集目标数据的时间戳,还可以为所述CPU端当前采集到目标数据与所述CPU端上次采集到目标数据期间执行所述采集操作的次数(也即上述循环次数)。
步骤202,基于所述目标时间信息序列,确定时间差序列;其中,所述时间差序列中的时间差表示所述CPU端和所述PCIE端采集同一目标数据的时间差,或者,所述时间差序列中的时间差表示所述PCIE端采集两目标数据的时间差,或者,所述时间差序列中的时间差表示所述CPU端采集两目标数据的时间差。
在本实施例中,在步骤201通过确定CPU端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,所述时间差序列中的时间差可以表示所述CPU端采集两目标数据的时间差。在此情况下,可以采用如下方式,来基于所述目标时间信息序列,确定时间差序列:
如果目标时间信息序列为“A0r、A1r……Air”,其中,Air表示CPU端采集目标数据的时间,i+1表示目标时间信息序列中的目标时间信息的数量,那么,时间差序列可以是“B0r、Bir……B(i-1)r”,B(i-1)r的取值等于Air-A(i-1)r。
在步骤201通过确定PCIE端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,所述时间差序列中的时间差可以表示所述PCIE端采集两目标数据的时间差。在此情况下,可以采用如下方式,来基于所述目标时间信息序列,确定时间差序列:
如果目标时间信息序列为“A0t、A1t……Ait”,其中,Ait表示PCIE端采集目标数据的时间,i+1表示目标时间信息序列中的目标时间信息的数量,那么,时间差序列可以是“B0t、Bit……B(i-1)t”,B(i-1)t的取值等于Ait-A(i-1)t。
在步骤201通过确定PCIE端和CPU端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,所述时间差序列中的时间差可以表示所述CPU端与所述PCIE端采集同一目标数据的时间差。在此情况下,可以采用如下方式,来基于所述目标时间信息序列,确定时间差序列:
如果目标时间信息序列包括第一目标时间信息序列“A0r、A1r……Air”和第二目标时间信息序列“A0t、A1t……Ait”,其中,Air表示CPU端采集目标数据的时间,i+1表示目标时间信息序列中的目标时间信息的数量,Ait表示PCIE端采集目标数据的时间,那么,时间差序列可以是“ɡA1r,ɡA2r,ɡA3r,……,ɡAnr”,ɡAnr的取值等于Air-Ait。
步骤203,确定所述时间差序列的第一平均值、第一中位数、第一最大值、第一最小值和第一区间比率中的至少一者,得到所述目标时间信息序列的统计数据;其中,所述第一区间比率表示所述时间差序列中的时间差属于第一时间差区间的比率。
在本实施例中,第一平均值,可以是时间差序列的平均值。
第一中位数,可以是时间差序列的中位数。
第一最大值,可以是时间差序列中的最大值。
第一最小值,可以是时间差序列的最小值。
第一时间差区间,可以是预先确定的时间差区间。
步骤204,基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能。
在本实施例中,步骤204与图1对应实施例中的步骤103基本一致,这里不再赘述。
在本实施例的一些可选的实现方式中,可以采用如下方式,来基于所述目标时间信息序列,确定时间差序列:
首先,针对所述目标时间信息序列中的非首个目标时间信息,确定该目标时间信息与所述目标时间信息序列中的该目标时间信息的前一目标时间信息之差,得到该目标时间信息对应的时间差。
之后,将所得到的各个时间差组成的序列,确定为时间差序列。
作为示例,在步骤201通过确定CPU端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,所述时间差序列中的时间差可以表示两所述CPU端采集目标数据的时间差。在此情况下,可以采用如下方式,来基于所述目标时间信息序列,确定时间差序列:
如果目标时间信息序列为“A0r、A1r……Air”,其中,Air表示CPU端采集目标数据的时间,i表示目标时间信息序列中的目标时间信息的数量,那么,时间差序列可以是“B0r、Bir……B(i-1)r”,B(i-1)r的取值等于Air-A(i-1)r。
作为又一示例,在步骤201通过确定PCIE端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,所述时间差序列中的时间差可以表示所述PCIE端采集两目标数据的时间差。在此情况下,可以采用如下方式,来基于所述目标时间信息序列,确定时间差序列:
如果目标时间信息序列为“A0t、A1t……Ait”,其中,Ait表示PCIE端采集目标数据的时间,i表示目标时间信息序列中的目标时间信息的数量,那么,时间差序列可以是“B0t、Bit……B(i-1)t”,B(i-1)t的取值等于Ait-A(i-1)t。
可以理解,上述可选的实现方式中,可以通过确定目标时间信息与所述目标时间信息序列中的该目标时间信息的前一目标时间信息之差,可以更低成本实现PCIE端的数据传输性能的测试。
在上述可选的实现方式中的一些应用场景下,可以采用如下方式,来基于所述统计数据,确定所述PCIE端的数据传输性能:
第一步,确定所述第一平均值是否属于第一数值区间,得到第一判别信息。
其中,第一判别信息可以表示第一平均值是否属于第一数值区间。第一数值区间可以表示预先设定的数值区间。
第二步,确定所述第一中位数是否属于第二数值区间,得到第二判别信息。
其中,第二判别信息,可以表示第一中位数是否属于第二数值区间。第二数值区间可以表示预先设定的数值区间。
第三步,基于所述第一最大值和所述第一最小值,确定是否存在延时抖动,得到第三判别信息。
其中,第三判别信息,可以表示是否存在延时抖动。
第四步,确定所述第一平均值与所述第一最大值或所述第一最小值的差值,得到目标差值。
其中,目标差值可以表示第一平均值与所述第一最大值或所述第一最小值的差值。
第五步,确定所述目标差值是否小于或等于预设数值,得到第四判别信息。
其中,第四判别信息可以表示目标差值是否小于或等于预设数值。
第六步,基于所述第一判别信息、所述第二判别信息、所述第三判别信息、所述第四判别信息和所述第一区间比率,确定所述PCIE端的数据传输性能。
作为示例,在步骤201通过确定CPU端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,采用本方法可以直观反映PCIE端传输目标数据的频率,通过第一平均值、第一最大值、第一最小值、第一中位数、第一区间比率来进行分析,第一平均值、第一中位数可以反映PCIE端传输目标数据的频率是否在一个合理的范围,能体现设备处理性能状况,第一最大值、第一最小值体现是否有延时抖动,第一平均值与极值(也即上述第一最大值、第一最小值)的差距是否丝滑,抖动过大过小以及抖动幅度过多都预示设备处理潜在问题。
作为又一示例,在步骤201通过确定PCIE端采集目标数据序列中的目标数据的时间信息的方式得到目标时间信息序列的情况下,本方法可以直观反映CPU端接收记录的快慢,通过第一平均值、第一最大值、第一最小值、第一中位数、第一区间比率来进行分析,第一平均值、第一中位数反映CPU软件(也即上述CPU端)接收处理记录的频率是否在一个合理的范围,能体现系统处理性能状况,第一最大值、第一最小值体现是否有延时抖动,第一平均值与极值(也即上述第一最大值、第一最小值)的差距是否丝滑,抖动过大过小以及抖动幅度过多都预示系统处理潜在问题。可以查看Bir,如Bir远大于第一平均值(例如Bir与第一平均值之差大于或等于预设阈值),而前几个时刻的Bit没明显波动,则性能瓶颈可能在软件处理或PCIE传输瓶颈。
需要说明的是,除以上所记载的内容之外,本实施例还可以包括图1对应的实施例中所描述的相应技术特征,进而实现图1所示数据传输性能的测试方法的技术效果,具体请参照图1相关描述,为简洁描述,在此不作赘述。
本申请实施例提供的数据传输性能的测试方法,通过时间差序列的第一平均值、第一中位数、第一最大值、第一最小值和第一区间比率中的至少一者,来确定PCIE端的数据传输性能。由此,无需依赖专用设备即可实现PCIE端的数据传输性能的测试,可以降低PCIE端的数据传输性能的测试成本。
下面对本申请实施例进行示例性说明,但需要注意的是,本申请实施例可以具有以下所描述的特征,但以下描述并不构成对本申请实施例保护范围的限定。
PCIE是一种高速串行总线接口,是现代计算机系统中常用的一种总线类型,广泛应用于外设与CPU的数据连接传输,能提供更高的带宽与更低的传输延时。
在需要极速传输性能的应用中,经常应用PCIE-DMA作为设备与CPU的数据传输方式,PCIE-DMA传输性能状况极大的影响了系统的极速性能情况。因为设备与CPU使用不同的时间戳计算方式,很难统一来计算实现延时性能的测量,这样对现有PCIE-DMA的性能评估只能通过专用设备来测试,对很多普通用户来说,应用成本高,难以普及应用。
本方法通过应用统计分析,大数据挖掘,线性回归等多种技术运用,以较小的成本,方便易用方式对PCIE-DMA传输性能进行综合评估,找到性能瓶颈点,对系统进行性能挖掘优化。
在现有的技术与方案中,PCIE性能评测需要依靠专用的设备,通过专用硬件设备来测量PCIE的传输性能,因为PCIE硬件的特殊性,无法使用软件的方式进行精准测量,系统软件也没有类似的手段。
通过专用设备方式能直观反映PCIE的传输性能,但设备价格昂贵,成本高,对普通用户不太友好,如果能通过便捷的方式来测试系统的性能状况,是比较容易受大众所接受的。
在高频交易等领域,经常使用FPGA板卡这类PCIE设备用于行情与交易处理,并把处理后的数据通过DMA传输给CPU软件,相关数据流程如图3A所示。
在图3A所示的处理流程中,PCIE-DMA的处理性能过程,包含从设备发送数据到内存,到CPU从内存取到内存的这个时间间隔,图中所示为T2-T1的时间,但T1与T2时间为不同时钟源产生,两者相减是没有意义的,为此,需要通过其它的方式来模拟实现T2-T1的时间获取处理。
本方法通过融合大数据统计分析技术,实现对PCIE-DMA性能的可观测、可诊断,同时通过这一方法,可以分析PCIE设备、CPU软件的性能瓶颈,实现多厂商PCIE设备的性能对比测试。如图3B所示,图3B为本申请实施例提供的再一种数据传输性能的测试方法的流程示意图。本方法实现PCIE-DMA的延时性能检测,需要经过数据采集、数据统计、分析推导、优化指引这些步骤来完成。
具体而言,可以包含如下步骤:
步骤一,数据收集:
这里,可以收集设备端(也即上述PCIE端)与CPU软件端(也即上述CPU端)的相关数据,设备端采集的数据包含记录收集时间戳t、记录标识d,记录相关业务数据s,CPU软件端收集的数据包含接收时的时间戳r,等待记录的循环计数j(也即上述循环次数),每一行的记录都有上述的字段,每个记录值以A标记,如第2行循环计数为A2j,相关记录如下:
步骤二,统计:
根据采集的数据记录,进行多种不同场景的记录统计,如:
1)设备端包间距统计,统计包间距的平均值(也即上述第一平均值)、中位数(也即上述第一中位数)、最大值(也即上述第一最大值)、最小值(也即上述第一最小值),区间比值(也即上述第一区间比率)等,求序列Bit,其取值等于A(i+1)t-Ait,进行排序,可求出平均值最大值max(Bit),最小值min(Bit),中位数median(Bit),区间比率。其中,i+1、n均表示包的数量,也即上述目标数据序列中的目标数据的数量。
2)CPU软件包间距统计,统计包间距的平均值(也即上述第一平均值)、中位数(也即上述第一中位数)、最大值(也即上述第一最大值)、最小值(也即上述第一最小值),区间比值(也即上述第一区间比率)等,求序列Bir其取等于A(i+1)r-Air进行排序,可求出平均值最大值max(Bir),最小值min(Bir),中位数median(Bir),区间比率。其中,i+1、n表示包的数量,也即上述目标数据序列中的目标数据的数量。
3)不同厂商设备(也即上述第一PCIE端和第二PCIE端)之间的对比统计,假设厂商α的记录为αA,厂商β的记录为βA,统计最终落地的CPU时间戳,比较两者差值ɡA=αA-βA,得到一个序列{ɡA0r,ɡA1r,ɡA2r,……,ɡAir},取这个序列的平均值(也即上述第二平均数) 最大值(也即上述第二最大值)max(ɡAir),最小值(也即上述第二最小值)min(ɡAir),中位数(也即上述第二中位数)median(ɡAir),快慢比率(也即上述第二区间比率)。其中,i+1、n表示包的数量,也即上述目标数据序列中的目标数据的数量。
步骤三,推理分析:
以上述统计为基础,可以对采集与统计的数据进行分析,从而分析出系统性能瓶颈,为系统优化提供决策依据,能实现以下功能分析:
1)直观反映设备产生记录的频率,通过avg(Bit)、max(Bit)、min(Bit)、median(Bit)、区间比率来进行分析,avg(Bit)、median(Bit)反映设备产生记录的频率是否在一个合理的范围,能体现设备处理性能状况,max(Bit)、min(Bit)值体现是否有延时抖动,均值与极值的差距是否丝滑,抖动过大过小以及抖动幅度过多都预示设备处理潜在问题。
2)直观反映软件接收记录的快慢,通过avg(Bir)、max(Bir)、min(Bir)、median(Bir)、区间比率来进行分析,avg(Bir)、median(Bir)反映CPU软件接收处理记录的频率是否在一个合理的范围,能体现系统处理性能状况,max(Bir)、min(Bir)值体现是否有延时抖动,均值与极值的差距是否丝滑,抖动过大过小以及抖动幅度过多都预示系统处理潜在问题。可以查看Bir,如Bir远大于avg(Bir),而前几个时刻的Bit没明显波动,则性能瓶颈可能在软件处理或PCIE传输瓶颈。
3)实现厂商性能对比,通过avg(ɡAir)、max(ɡAir)、min(ɡAir)、median(ɡAir)、快慢比率来进行分析,avg(ɡAir)、median(ɡAir)反映厂商比较的性能情况,如它们值是正值,则厂商α比厂商β慢,如值是负值,则表示厂商α比厂商β快,这个值距离0值越大,则表示两个厂商的差距越大;max(ɡAir)、min(ɡAir)值表示的是两厂商对比的极值,如果极值与平均值、中位数的差距较大,预示着抖动会比较大,分布不均衡,有可能有极值影响了均值,对比情况可能受其它因素干扰;快慢占比率揭示了厂商之间快慢的比率,能在一定程度提升均值与极值在统计方面的不足之处,如厂商α比厂商β更快占比80%,这值更能体现厂商对比的快慢延时性能。
4)分析设备与软件之间的性能快慢对比,通过统计出来的数据,可以进行设备与软件之间的性能对比分析。首先,通过查询循环计数Aij值,当Aij>0,软件末能从DMA内存中获取到数据,Aij越高,等待的时间越多,以此可分析设备是否有处理瓶颈,或此时数据暂停;再次,最后,当软件处理与设备上行处理在同一DMA地址操作时,即读写同步,如在刚开始传输的时刻,或设备处理慢于软件处理时,这时会导致软件处理Aij的数值加大,从这可辨别性能瓶颈会出现在那里。
5)分析PCIE总线的性能情况,从上述统计可知,软件处理时间Air=设备处理时间Ait+PCIE传输延时Pi+DMA内存提取延时Di,但软件时间戳与设备时间戳不在同一时钟源,无法进行等式计算,所以这个公式是不成立的,但可以通过包间隔来确定线性关系,如是Bir≈Bit+Pi+Di,转换一下Pi≈Bir-Bit-Di,所以Pi的值大小,由Bit、Bit、Di来决定,因Di与Pi是同步的,那其实是Pi≈Bir-Bit,即PCIE某个时刻的传输延时,是可以通过设备记录间隔以及软件端记录间隔来测评,当然这个延时是个相对值,并非PCIE固有性能体现,只反映某个时刻传输某个数据的相对值,此值可能受到某时刻PCIE传输负载压力、总线竞争情况影响,但能一定程度反馈PCIE总线传输的实时状况,可以为PCIE-DMA传输系统优化提供一定的决策依据。
这里,记录标识d、记录相关业务数据s,可以用于进行数据区分。其中,记录标识d可以为除时间戳之外的数据标识。实践中,相同的时间戳和/或记录标识可能并非对应相同的数据(也即上述业务数据s)。
因此,在一些情况下,可以采用如下方式,来确定是否为同一数据:首先确定两业务数据s是否对应相同的记录标识。如果两业务数据s对应相同的记录标识,则可以进一步确定两业务数据s是否相同。如果两业务数据s相同,则可以确定两业务数据s相同。如果两业务数据s不同,则可以确定两业务数据s不同。如果两业务数据s对应不同的记录标识,则可以直接确定两业务数据s不同。
进一步地,在实现厂商性能对比的过程中,也即基于所述统计数据确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能的情况下,可以采用相同数据进行测试。例如,确定第一CPU端采集目标数据a、b、c的时间信息,得到第一目标时间信息序列。确定第二CPU端采集同样的目标数据a、b、c的时间信息,得到第二目标时间信息序列。之后,确定所述第一目标时间信息序列和所述第二目标时间信息序列的第一差值序列。然后,确定所述第一差值序列的统计数据,得到所述目标时间信息序列的统计数据。最后,基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能。有车,可以进一步提高比对测试的准确性。
需要说明的是,除以上所记载的内容之外,本实施例还可以包括以上各实施例中所描述的技术特征,进而实现以上所示数据传输性能的测试方法的技术效果,具体请参照以上描述,为简洁描述,在此不作赘述。
本申请实施例提供的数据传输性能的测试方法,通过软件方式进行PCIE-DMA性能检测,所实现的PCIE-DMA性能检测方法,包含数据采集、数据统计、数据分析以及优化指引相关方法步骤。其中,数据采集,包含记录收集时间戳、记录标识,记录相关业务数据,CPU软件端收集的数据包含接收时的时间戳,等待记录的循环计数相关记录信息。本方法支持实现设备端包间距统计,可统计包间距的平均值、中位数、最大值、最小值,区间比值等数据,以及支持实现CPU软件包间距统计,可统计包间距的平均值、中位数、最大值、最小值,区间比值等数据,此外还实现了一种不同厂商设备之间的对比统计方式,支持比较厂商之间的对比差值,包含平均值、中位数、最大值、最小值信息。可以记录产生频率实现设备处理性能检测的方法与技术,通过接收侧软件处理的延时性能,统计分析系统的性能状况,可诊断多厂商性能的对比情况。并且,还提供了分析设备与软件之间的性能快慢对比的方法,以及实现PCIE总线的性能情况的诊断方法。
图4为本申请实施例提供的一种数据传输性能的测试装置的结构示意图。具体包括:
第一确定单元401,用于确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;
第二确定单元402,用于确定所述目标时间信息序列的统计数据;
第三确定单元403,用于基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能;
其中,在所述PCIE端为第一PCIE端的情况下,所述预设参照端为第二PCIE端,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能;在所述预设参照端为所述CPU端的情况下,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能;和/或,
所述数据传输的性能包括所述PCIE端的数据传输延时。
在一个可能的实施方式中,所述目标时间信息序列中的目标时间信息采用数值表示;以及
所述确定所述目标时间信息序列的统计数据,包括:
基于所述目标时间信息序列,确定时间差序列;其中,所述时间差序列中的时间差表示所述CPU端和所述PCIE端采集同一目标数据的时间差,或者,所述时间差序列中的时间差表示所述PCIE端采集两目标数据的时间差,或者,所述时间差序列中的时间差表示所述CPU端采集两目标数据的时间差;
确定所述时间差序列的第一平均值、第一中位数、第一最大值、第一最小值和第一区间比率中的至少一者,得到所述目标时间信息序列的统计数据;
其中,所述第一区间比率表示所述时间差序列中的时间差属于第一时间差区间的比率。
在一个可能的实施方式中,所述基于所述目标时间信息序列,确定时间差序列,包括:
针对所述目标时间信息序列中的非首个目标时间信息,确定该目标时间信息与所述目标时间信息序列中的该目标时间信息的前一目标时间信息之差,得到该目标时间信息对应的时间差;
将所得到的各个时间差组成的序列,确定为时间差序列。
在一个可能的实施方式中,所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
确定所述第一平均值是否属于第一数值区间,得到第一判别信息;
确定所述第一中位数是否属于第二数值区间,得到第二判别信息;
基于所述第一最大值和所述第一最小值,确定是否存在延时抖动,得到第三判别信息;
确定所述第一平均值与所述第一最大值或所述第一最小值的差值,得到目标差值;
确定所述目标差值是否小于或等于预设数值,得到第四判别信息;
基于所述第一判别信息、所述第二判别信息、所述第三判别信息、所述第四判别信息和所述第一区间比率,确定所述PCIE端的数据传输性能。
在一个可能的实施方式中,在所述PCIE端为第一PCIE端、所述预设参照端为第二PCIE端,并且,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定第一CPU端采集目标数据序列中的目标数据的时间信息,得到第一目标时间信息序列,其中,所述第一CPU端采集的目标数据经由第一PCIE端传输至第一DMA内存;
确定第二CPU端采集目标数据序列中的目标数据的时间信息,得到第二目标时间信息序列,其中,所述第二CPU端采集的目标数据经由第二PCIE端传输至第二DMA内存,所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的目标时间信息一一对应;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第一目标时间信息序列和所述第二目标时间信息序列的第一差值序列,其中,所述第一差值序列中的差值为所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的对应目标时间信息的差值;
确定所述第一差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能。
在一个可能的实施方式中,所述确定所述第一差值序列的统计数据,包括:
确定所述第一差值序列的第二平均值、第二中位数、第二最大值、第二最小值和第二区间比率,得到所述第一差值序列的统计数据;
其中,所述第二区间比率表示所述第一差值序列中的差值属于第二差值区间的比率;以及
所述基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能,包括以下至少一项:
基于所述第二平均值、所述第二中位数、所述第二平均值的绝对值、所述第二中位数的绝对值和所述第二区间比率,确定所述第一PCIE端相对于所述第二PCIE端的数据传输快慢情况;
基于所述第二最大值、所述第二最小值、所述第二平均值和所述第二中位数,确定所述第一PCIE端相对于所述第二PCIE端的数据传输的延时抖动情况。
在一个可能的实施方式中,在所述预设参照端为所述CPU端,并且,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能的情况下,所述CPU端按照预设频率执行采集操作,以采集目标数据;以及
所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定CPU端采集目标数据序列中的目标数据的循环次数,得到循环次数序列,其中,循环次数表示所述CPU端当前采集到目标数据与所述CPU端上次采集到目标数据期间执行所述采集操作的次数;
将所述循环次数序列,确定为所述目标时间信息序列;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端相对于所述CPU端的数据传输性能。
在一个可能的实施方式中,在所述数据传输的性能包括所述PCIE端的数据传输延时的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定PCIE端采集目标数据序列中的目标数据的时间信息,得到第三目标时间信息序列;
确定CPU端采集所述目标数据序列中的目标数据的时间信息,得到第四目标时间信息序列;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第四目标时间信息序列与所述第三目标时间信息序列的第二差值序列,其中,所述第二差值序列中的差值为所述第三目标时间信息序列中的目标时间信息与所述第四目标时间信息序列中的对应目标时间信息的差值;
确定所述第二差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端的数据传输延时。
在一个可能的实施方式中,PCIE端的时间戳与CPU端的时间戳不在同一时钟源。
本实施例提供的数据传输性能的测试装置可以是如图4中所示的数据传输性能的测试装置,可执行以上所述的各数据传输性能的测试方法的所有步骤,进而实现以上所述的各数据传输性能的测试方法的技术效果,具体请参照以上相关描述,为简洁描述,在此不作赘述。
如图5所示,本申请实施例还提供了一种电子设备,包括处理器111、通信接口112、存储器113和通信总线114,其中,处理器111,通信接口112,存储器113通过通信总线114完成相互间的通信,
存储器113,用于存放计算机程序;
在本申请一个实施例中,处理器111,用于执行存储器113上所存放的程序时,实现前述任意一个方法实施例提供的数据传输性能的测试方法,包括:
确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;
确定所述目标时间信息序列的统计数据;
基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述任意一个方法实施例提供的数据传输性能的测试方法的步骤,包括:
确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由所述PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;
确定所述目标时间信息序列的统计数据;
基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种数据传输性能的测试方法,其特征在于,所述方法包括:
确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由PCIE端采集后传输至DMA内存,以使CPU端从所述DMA内存采集目标数据;
确定所述目标时间信息序列的统计数据;
基于所述统计数据,确定所述PCIE端的数据传输性能;其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能;
其中,在所述PCIE端为第一PCIE端的情况下,所述预设参照端为第二PCIE端,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能;在所述预设参照端为所述CPU端的情况下,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能;和/或,
所述数据传输的性能包括所述PCIE端的数据传输延时。
2.根据权利要求1所述的方法,其特征在于,所述目标时间信息序列中的目标时间信息采用数值表示;以及
所述确定所述目标时间信息序列的统计数据,包括:
基于所述目标时间信息序列,确定时间差序列;其中,所述时间差序列中的时间差表示所述CPU端和所述PCIE端采集同一目标数据的时间差,或者,所述时间差序列中的时间差表示所述PCIE端采集两目标数据的时间差,或者,所述时间差序列中的时间差表示所述CPU端采集两目标数据的时间差;
确定所述时间差序列的第一平均值、第一中位数、第一最大值、第一最小值和第一区间比率中的至少一者,得到所述目标时间信息序列的统计数据;
其中,所述第一区间比率表示所述时间差序列中的时间差属于第一时间差区间的比率。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标时间信息序列,确定时间差序列,包括:
针对所述目标时间信息序列中的非首个目标时间信息,确定该目标时间信息与所述目标时间信息序列中的该目标时间信息的前一目标时间信息之差,得到该目标时间信息对应的时间差;
将所得到的各个时间差组成的序列,确定为时间差序列。
4.根据权利要求3所述的方法,其特征在于,所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
确定所述第一平均值是否属于第一数值区间,得到第一判别信息;
确定所述第一中位数是否属于第二数值区间,得到第二判别信息;
基于所述第一最大值和所述第一最小值,确定是否存在延时抖动,得到第三判别信息;
确定所述第一平均值与所述第一最大值或所述第一最小值的差值,得到目标差值;
确定所述目标差值是否小于或等于预设数值,得到第四判别信息;
基于所述第一判别信息、所述第二判别信息、所述第三判别信息、所述第四判别信息和所述第一区间比率,确定所述PCIE端的数据传输性能。
5.根据权利要求1所述的方法,其特征在于,在所述PCIE端为第一PCIE端、所述预设参照端为第二PCIE端,并且,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定第一CPU端采集目标数据序列中的目标数据的时间信息,得到第一目标时间信息序列,其中,所述第一CPU端采集的目标数据经由第一PCIE端传输至第一DMA内存;
确定第二CPU端采集目标数据序列中的目标数据的时间信息,得到第二目标时间信息序列,其中,所述第二CPU端采集的目标数据经由第二PCIE端传输至第二DMA内存,所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的目标时间信息一一对应;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第一目标时间信息序列和所述第二目标时间信息序列的第一差值序列,其中,所述第一差值序列中的差值为所述第一目标时间信息序列中的目标时间信息与所述第二目标时间信息序列中的对应目标时间信息的差值;
确定所述第一差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能。
6.根据权利要求5所述的方法,其特征在于,所述确定所述第一差值序列的统计数据,包括:
确定所述第一差值序列的第二平均值、第二中位数、第二最大值、第二最小值和第二区间比率,得到所述第一差值序列的统计数据;
其中,所述第二区间比率表示所述第一差值序列中的差值属于第二差值区间的比率;以及
所述基于所述统计数据,确定所述第一PCIE端相对于所述第二PCIE端的数据传输性能,包括以下至少一项:
基于所述第二平均值、所述第二中位数、所述第二平均值的绝对值、所述第二中位数的绝对值和所述第二区间比率,确定所述第一PCIE端相对于所述第二PCIE端的数据传输快慢情况;
基于所述第二最大值、所述第二最小值、所述第二平均值和所述第二中位数,确定所述第一PCIE端相对于所述第二PCIE端的数据传输的延时抖动情况。
7.根据权利要求1所述的方法,其特征在于,在所述预设参照端为所述CPU端,并且,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能的情况下,所述CPU端按照预设频率执行采集操作,以采集目标数据;以及
所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定CPU端采集目标数据序列中的目标数据的循环次数,得到循环次数序列,其中,循环次数表示所述CPU端当前采集到目标数据与所述CPU端上次采集到目标数据期间执行所述采集操作的次数;
将所述循环次数序列,确定为所述目标时间信息序列;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端相对于所述CPU端的数据传输性能。
8.根据权利要求1所述的方法,其特征在于,在所述数据传输的性能包括所述PCIE端的数据传输延时的情况下,所述确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列,包括:
确定PCIE端采集目标数据序列中的目标数据的时间信息,得到第三目标时间信息序列;
确定CPU端采集所述目标数据序列中的目标数据的时间信息,得到第四目标时间信息序列;以及
所述确定所述目标时间信息序列的统计数据,包括:
确定所述第四目标时间信息序列与所述第三目标时间信息序列的第二差值序列,其中,所述第二差值序列中的差值为所述第三目标时间信息序列中的目标时间信息与所述第四目标时间信息序列中的对应目标时间信息的差值;
确定所述第二差值序列的统计数据,得到所述目标时间信息序列的统计数据;以及
所述基于所述统计数据,确定所述PCIE端的数据传输性能,包括:
基于所述统计数据,确定所述PCIE端的数据传输延时。
9.根据权利要求1-8之一所述的方法,其特征在于,PCIE端的时间戳与CPU端的时间戳不在同一时钟源。
10.一种数据传输性能的测试装置,其特征在于,所述装置包括:
第一确定单元,用于确定PCIE端和/或CPU端采集目标数据序列中的目标数据的时间信息,得到目标时间信息序列;其中,所述目标数据序列中的目标数据与所述目标时间信息序列中的目标时间信息一一对应;目标数据经由PCIE端采集后传输至DMA内存,以使所述CPU端从所述DMA内存采集目标数据;
第二确定单元,用于确定所述目标时间信息序列的统计数据;
第三确定单元,用于基于所述统计数据,确定所述PCIE端的数据传输性能,其中,所述数据传输性能表示所述PCIE端相对于预设参照端进行数据传输的性能;
其中,在所述PCIE端为第一PCIE端的情况下,所述预设参照端为第二PCIE端,所述数据传输性能包括所述第一PCIE端相对于所述第二PCIE端的数据传输性能;在所述预设参照端为所述CPU端的情况下,所述数据传输性能包括所述PCIE端相对于所述CPU端的数据传输性能;和/或,
所述数据传输的性能包括所述PCIE端的数据传输延时。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-9任一所述的方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述权利要求1-9任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311683879.XA CN117880142A (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311683879.XA CN117880142A (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
CN202311333052.6A CN117081960B (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311333052.6A Division CN117081960B (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117880142A true CN117880142A (zh) | 2024-04-12 |
Family
ID=88710167
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311333052.6A Active CN117081960B (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
CN202311683879.XA Pending CN117880142A (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311333052.6A Active CN117081960B (zh) | 2023-10-16 | 2023-10-16 | 数据传输性能的测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN117081960B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8860433B1 (en) * | 2012-07-31 | 2014-10-14 | Altera Corporation | Method and system for self-contained timing and jitter measurement |
CN103198001B (zh) * | 2013-04-25 | 2017-02-01 | 加弘科技咨询(上海)有限公司 | 能够自测pcie接口的存储系统及测试方法 |
US9939838B1 (en) * | 2015-01-22 | 2018-04-10 | Invensense, Inc. | Systems and methods for time stamping sensor data |
CN109889398B (zh) * | 2017-12-06 | 2020-12-04 | 中国移动通信有限公司研究院 | 一种检测媒体流业务质量的方法及装置、设备、存储介质 |
CN116867087A (zh) * | 2018-09-27 | 2023-10-10 | 中兴通讯股份有限公司 | 业务传输方法及装置 |
CN109739712B (zh) * | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | Fpga加速卡传输性能测试方法、装置及设备和介质 |
CN113868039B (zh) * | 2021-08-30 | 2024-02-09 | 浪潮电子信息产业股份有限公司 | 一种测试方法、装置及相关设备 |
CN116032411A (zh) * | 2023-03-17 | 2023-04-28 | 湖南有马信息技术有限公司 | 一种时间戳同步方法、系统、终端及存储介质 |
-
2023
- 2023-10-16 CN CN202311333052.6A patent/CN117081960B/zh active Active
- 2023-10-16 CN CN202311683879.XA patent/CN117880142A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
CN117081960B (zh) | 2023-12-22 |
CN117081960A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110806954B (zh) | 评估云主机资源的方法、装置、设备及存储介质 | |
CN109587008B (zh) | 检测异常流量数据的方法、装置及存储介质 | |
US8595369B2 (en) | Method and system for correlating front-end and back-end transactions in a data center | |
CN111563014B (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN102955719B (zh) | 疑似内存泄漏的确定方法及装置 | |
US10411969B2 (en) | Backend resource costs for online service offerings | |
CN111338967B (zh) | 一种分流测试方法、装置、电子设备及存储介质 | |
CN109379305A (zh) | 一种数据下发方法、装置、服务器及存储介质 | |
WO2023123956A1 (zh) | 一种io全生命周期时延监测方法及相关装置 | |
CN110647447A (zh) | 用于分布式系统的异常实例检测方法、装置、设备和介质 | |
CN115576872B (zh) | 多级缓存的访问检测方法及装置 | |
WO2019029149A1 (zh) | 保单的险种状态信息统计方法、终端设备及存储介质 | |
KR20180033961A (ko) | 계량데이터 관리 시스템 및 컴퓨터 판독가능 기록 매체 | |
CN111290305B (zh) | 多套惯导系统多路数字量采集与处理防冲突方法及系统 | |
CN117081960B (zh) | 数据传输性能的测试方法、装置、电子设备及存储介质 | |
CN108667740A (zh) | 流量控制的方法、装置及系统 | |
CN110750498A (zh) | 对象访问方法、装置及存储介质 | |
CN109815260B (zh) | 波形显示装置、波形参数统计方法、终端设备及存储介质 | |
CN112330147A (zh) | 一种业务受理信息监控方法、装置及存储介质 | |
CN116701191A (zh) | 量化回测的优化方法、装置、设备、存储介质及程序产品 | |
WO2023045365A1 (zh) | 视频质量评估方法、装置、电子设备及存储介质 | |
CN113315721B (zh) | 一种网络数据特征处理方法、装置、设备及存储介质 | |
CN111343242B (zh) | 一种信息收集方法、装置、设备、存储介质及分布式系统 | |
TWI718620B (zh) | 設備是否位於目標區域的識別方法及裝置和電子設備 | |
CN112131070B (zh) | 调用关系跟踪方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |