本公开涉及性能分析,尤其涉及一种跨总线性能分析系统、方法、装置和存储介质。
背景技术:
1、pcie(peripheral component interconnect express)总线是一种高速串行通信总线标准,用于连接计算机主板上的各种外部设备,如图形处理器、网络适配器、存储控制器等。pcie提供了高带宽和低延迟的数据传输,使得设备能够快速地与主机进行通信。利用性能分析工具可以借助硬件性能计数器对总线之间的数据传输和通信性能进行分析和评估,然而,当前的方案在进行系统性能分析时存在性能分析结果不准确,执行性能测试任务的效率低下等问题。
技术实现思路
1、有鉴于此,本公开提出了一种跨总线性能分析系统、方法、装置和存储介质。
2、根据本公开的一方面,提供了一种跨总线性能分析系统。该系统包括主机侧和设备侧,主机侧和设备侧通过总线相连,该设备侧用于:
3、通过设备侧上的第一线程从设备侧上的第一队列中读取设备侧的性能数据,设备侧的性能数据由设备侧上的第二线程写入;
4、将设备侧的性能数据发送至主机侧;
5、主机侧用于:
6、通过主机侧上的第一线程从主机侧上的第二队列中读取主机侧的性能数据,主机侧的性能数据由主机侧上的第二线程写入;
7、获取设备侧的性能数据,基于主机侧的性能数据和设备侧的性能数据得到同步数据,同步数据被用于进行性能分析,得到性能分析结果。
8、在一种可能的实现方式中,设备侧还用于:
9、基于设备侧上的第二线程收集设备侧的性能数据;
10、主机侧还用于:
11、基于主机侧上的第二线程收集主机侧的性能数据。
12、在一种可能的实现方式中,将设备侧的性能数据发送至主机侧,包括:
13、将设备侧的性能数据发送至主机侧的共享队列中;
14、更新设备侧和主机侧上的第一控制信息,第一控制信息表示共享队列的队尾位置;
15、获取设备侧的性能数据,包括:
16、在主机侧上的第一控制信息指示的队尾位置不等于第二控制信息指示的队首位置的情况下,从共享队列中读取设备侧的性能数据,第二控制信息表示共享队列的队首位置。
17、在一种可能的实现方式中,主机侧还用于:
18、在读出设备侧的性能数据后更新设备侧和主机侧上的第二控制信息。
19、在一种可能的实现方式中,设备侧还用于:
20、读取设备侧上的计时寄存器指示的第一寄存器时间,以及设备侧的系统时间;
21、将设备侧的系统时间和第一寄存器时间发送给主机侧;
22、主机侧还用于:
23、读取设备侧上的计时寄存器指示的第二寄存器时间,以及主机侧的系统时间;
24、基于设备侧的系统时间、第一寄存器时间、第二寄存器时间和主机侧的系统时间,确定主机侧和设备侧之间的时间偏移;
25、将时间偏移写入时间同步缓冲区,时间偏移用于对主机侧的性能数据和设备侧的性能数据中的时间进行同步。
26、在一种可能的实现方式中,主机侧还用于:
27、读取设备侧上的计时寄存器指示的第二寄存器时间,以及主机侧的系统时间;
28、将第二寄存器时间和主机侧的系统时间发送给设备侧;
29、设备侧还用于:
30、读取设备侧上的计时寄存器指示的第一寄存器时间,以及设备侧的系统时间;
31、基于设备侧的系统时间、第一寄存器时间、第二寄存器时间和主机侧的系统时间,确定主机侧和设备侧之间的时间偏移;
32、基于时间偏移调整第一队列中性能数据的时间。
33、在一种可能的实现方式中,主机侧的系统时间包括开始读取第二寄存器时间时的主机侧的第一系统时间,以及完成读取第二寄存器时间时的主机侧的第二系统时间,基于设备侧的系统时间、第一寄存器时间、第二寄存器时间和主机侧的系统时间,计算主机侧和设备侧之间的时间偏移,包括:
34、基于设备侧的系统时间、第一寄存器时间、第二寄存器时间、主机侧的第一系统时间和主机侧的第二系统时间,计算主机侧和设备侧之间的时间偏移。
35、在一种可能的实现方式中,设备侧还用于:
36、基于时间同步缓冲区中的时间偏移调整第一队列中性能数据的时间。
37、在一种可能的实现方式中,性能数据包括索引标识、事件标识和事件发生的时间。
38、根据本公开的另一方面,提供了一种跨总线性能分析方法。该方法包括:
39、通过设备侧上的第一线程从设备侧上的第一队列中读取设备侧的性能数据,设备侧的性能数据由设备侧上的第二线程写入;
40、将设备侧的性能数据发送至主机侧;
41、通过主机侧上的第一线程从主机侧上的第二队列中读取主机侧的性能数据,主机侧的性能数据由主机侧上的第二线程写入;
42、获取设备侧的性能数据,基于主机侧的性能数据和所述设备侧的性能数据得到同步数据,所述同步数据被用于进行性能分析,得到性能分析结果。
43、在一种可能的实现方式中,性能数据包括索引标识、事件标识和事件发生的时间。
44、在一种可能的实现方式中,该方法还包括:
45、基于设备侧上的第二线程收集设备侧的性能数据;
46、基于主机侧上的第二线程收集主机侧的性能数据。
47、在一种可能的实现方式中,将设备侧的性能数据发送至主机侧,包括:
48、将设备侧的性能数据发送至主机侧的共享队列中;
49、更新设备侧和主机侧上的第一控制信息,第一控制信息表示共享队列的队尾位置;
50、获取设备侧的性能数据,包括:
51、在主机侧上的第一控制信息指示的队尾位置不等于第二控制信息指示的队首位置的情况下,从共享队列中读取设备侧的性能数据,第二控制信息表示共享队列的队首位置。
52、在一种可能的实现方式中,该方法还包括:
53、在读出设备侧的性能数据后更新设备侧和主机侧上的第二控制信息。
54、在一种可能的实现方式中,该方法还包括:
55、读取设备侧上的计时寄存器指示的第一寄存器时间,以及设备侧的系统时间;
56、将设备侧的系统时间和第一寄存器时间发送给主机侧;
57、读取设备侧上的计时寄存器指示的第二寄存器时间,以及主机侧的系统时间;
58、主机侧基于设备侧的系统时间、第一寄存器时间、第二寄存器时间和主机侧的系统时间,确定主机侧和设备侧之间的时间偏移;
59、将时间偏移写入时间同步缓冲区,时间偏移用于对主机侧的性能数据和设备侧的性能数据中的时间进行同步。
60、在一种可能的实现方式中,该方法还包括:
61、读取设备侧上的计时寄存器指示的第二寄存器时间,以及主机侧的系统时间;
62、将第二寄存器时间和主机侧的系统时间发送给设备侧;
63、读取设备侧上的计时寄存器指示的第一寄存器时间,以及设备侧的系统时间;
64、设备侧基于设备侧的系统时间、第一寄存器时间、第二寄存器时间和主机侧的系统时间,确定主机侧和设备侧之间的时间偏移;
65、基于时间偏移调整第一队列中性能数据的时间。
66、在一种可能的实现方式中,主机侧的系统时间包括开始读取第二寄存器时间时的主机侧的第一系统时间,以及完成读取第二寄存器时间时的主机侧的第二系统时间,基于设备侧的系统时间、第一寄存器时间、第二寄存器时间和主机侧的系统时间,计算主机侧和设备侧之间的时间偏移,包括:
67、基于设备侧的系统时间、第一寄存器时间、第二寄存器时间、主机侧的第一系统时间和主机侧的第二系统时间,计算主机侧和设备侧之间的时间偏移。
68、在一种可能的实现方式中,该方法还包括:
69、基于时间同步缓冲区中的时间偏移调整第一队列中性能数据的时间。
70、根据本公开的另一方面,提供了一种跨总线性能分析装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为在执行所述存储器存储的指令时,实现上述方法。
71、根据本公开的另一方面,提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现上述方法。
72、根据本公开的另一方面,提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
73、根据本技术实施例,通过引入第一队列和第二队列,其中使设备侧用于从第一队列中读取设备侧的性能数据并发送给主机侧,使主机侧从第二队列中读取主机侧的性能数据,并基于主机侧的性能数据和设备侧的性能数据得到同步数据以用于进行性能分析,得到性能分析结果,其中由第一线程从队列中读取性能数据,由第二线程向队列中写入性能数据,可以实现在主机侧和设备侧上分别将性能数据收集及分析的线程与主工作线程进行解耦,从而大大减小了性能数据收集及分析的线程对主工作线程的影响,使得性能分析结果可以真实反映测试任务对应的性能,大大提高了跨总线场景下性能分析结果的准确性,且提高了执行性能测试任务的效率。
74、根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
1.一种跨总线性能分析系统,其特征在于,其特征在于,所述系统包括主机侧和设备侧,所述主机侧和设备侧通过总线相连,所述设备侧用于:
2.根据权利要求1所述的系统,其特征在于,所述设备侧还用于:
3.根据权利要求1所述的系统,其特征在于,所述将所述设备侧的性能数据发送至所述主机侧,包括:
4.根据权利要求3所述的系统,其特征在于,所述主机侧还用于:
5.根据权利要求1所述的系统,其特征在于,所述设备侧还用于:
6.根据权利要求1所述的系统,其特征在于,所述主机侧还用于:
7.根据权利要求5或6所述的系统,其特征在于,所述主机侧的系统时间包括开始读取第二寄存器时间时的主机侧的第一系统时间,以及完成读取第二寄存器时间时的主机侧的第二系统时间,所述基于所述设备侧的系统时间、所述第一寄存器时间、所述第二寄存器时间和所述主机侧的系统时间,计算主机侧和设备侧之间的时间偏移,包括:
8.根据权利要求5所述的系统,其特征在于,所述设备侧还用于:
9.根据权利要求1所述的系统,其特征在于,所述性能数据包括索引标识、事件标识和事件发生的时间。
10.一种跨总线性能分析方法,其特征在于,所述方法包括:
11.一种跨总线性能装置,其特征在于,包括:
12.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求10所述的方法。
