一种并发系统的内部性能评估方法和系统与流程

文档序号:24194917发布日期:2021-03-09 16:30阅读:197来源:国知局
一种并发系统的内部性能评估方法和系统与流程

1.本发明涉及性能评估领域,更具体地,特别是指一种并发系统的内部性能评估方法和系统。


背景技术:

2.在ssd(固态硬盘)读写的开发过程中,性能是关注焦点。现有很多测试性能的工具,但只能测试出ssd的整体读写性能,无法知道ssd内部各个模块的运行时间,这就使开发人员无法知道代码哪个模块比较耗性能,无法进行针对性的优化。
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.图1为本发明提供的并发系统的内部性能评估方法的流程示意图。
具体实施方式
45.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
46.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
47.基于上述目的,本发明实施例的第一个方面,提出了一种快速确定并发系统的性能瓶颈以执行针对性优化的并发系统的内部性能评估方法的一个实施例。图1示出的是本发明提供的并发系统的内部性能评估方法的流程示意图。
48.所述的并发系统的内部性能评估方法,如图1所示,包括执行以下步骤:
49.步骤s101,向内部性能代码中设置多个状态位置,并为每个状态位置生成相对应的状态标识;
50.步骤s103,基于并发系统的内存储器容量和内部性能评估的精度需求确定总采样数;
51.步骤s105,响应于基于总采样数运行内部性能代码,而在每个状态位置依次记录消耗时间周期和本地采样数;
52.步骤s107,基于每个状态位置的消耗时间周期、本地采样数、和内部性能代码的运行频率确定每个状态位置的消耗时间;
53.步骤s109,基于消耗时间评估每个状态位置的内部性能。
54.本发明通过在代码任意位置设置状态,对ctxid(上下文位置索引)进行采样,能够测试代码处理流程中任意一段代码执行所消耗的时间。能使开发人员在ssd等并发系统的开发过程中方便快捷的估算出性能瓶颈,进而有针对性的对代码进行优化。
55.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
56.在一些实施方式中,每个状态标识是唯一的并且彼此不同。
57.在一些实施方式中,基于并发系统的内存储器容量和内部性能评估的精度需求确定总采样数包括:
58.基于并发系统的内存储器容量确定上下文位置索引的最大值;
59.基于内部性能评估的精度需求确定上下文位置索引的最小值;
60.基于上下文位置索引的最大值和最小值确定总采样数。
61.在一些实施方式中,响应于基于总采样数运行内部性能代码,而在每个状态位置依次记录消耗时间周期和本地采样数包括:
62.将从当前采样开始到状态位置的消耗时间周期记为当前时间周期;
63.将总采样数中的所有当前时间周期叠加获得消耗时间周期;
64.将总采样数中经历状态位置的次数作为本地采样数。
65.在一些实施方式中,基于每个状态位置的消耗时间周期、本地采样数、和内部性能代码的运行频率确定每个状态位置的消耗时间包括:
66.基于状态位置的消耗时间周期与前一状态位置的消耗时间周期之差确定状态位置的差分消耗时间周期;
67.基于差分消耗时间周期与本地采样数之商确定平均消耗时间周期;
68.基于平均消耗时间周期与运行频率之商确定状态位置的消耗时间。
69.在一些实施方式中,内部性能代码的运行频率为并发系统的处理器工作频率;并发系统为固态硬盘存储器。
70.在一些实施方式中,方法还包括:在评估每个状态位置的内部性能后,还定位内部性能低于阈值的状态位置以重新执行优化。
71.下面根据具体实施例进一步阐述本发明的具体实施方式。
72.首先确定状态位置,即确定需要在哪些地方进行性能估算,并给每个状态设置一个状态id,这个状态id必须设置成全局唯一的,用来标识该状态。理论上想评估多少地方,就可以添加多少个状态。使用过程中可以在代码任意位置进行添加。
73.然后设定采样数,即确定要用多少个ctxid来进行性能评估,采样数越多,性能评估越准确,但越消耗内存,这里需要根据实际情况取一个合理的值。本发明实施例设置的值为1024。
74.在代码运行过程中,在各个状态位置记录采样点当前消耗的cycle(循环)数,并基于该状态的上一个状态消耗的cycle数来更新,即,用当前状态的cycle数减去上一个状态的cycle数作为当前状态的实际cycle数,并且记录该采样点各个状态执行的次数。
75.进行读写测试,测试完成后,读取采样点各个状态消息的cycle数和执行次数(即各个状态消息本地的采样数),然后根据cpu的频率很容易就可以计算出两个状态之间消耗的时间。
76.从上述实施例可以看出,本发明实施例提供的并发系统的内部性能评估方法,通过向内部性能代码中设置多个状态位置,并为每个状态位置生成相对应的状态标识;基于并发系统的内存储器容量和内部性能评估的精度需求确定总采样数;响应于基于总采样数运行内部性能代码,而在每个状态位置依次记录消耗时间周期和本地采样数;基于每个状态位置的消耗时间周期、本地采样数、和内部性能代码的运行频率确定每个状态位置的消耗时间;基于消耗时间评估每个状态位置的内部性能的技术方案,能够快速确定并发系统的性能瓶颈以执行针对性优化。
77.需要特别指出的是,上述并发系统的内部性能评估方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于并发系统的内部性能评估方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实
施例之上。
78.基于上述目的,本发明实施例的第二个方面,提出了一种快速确定并发系统的性能瓶颈以执行针对性优化的并发系统的内部性能评估系统的一个实施例。系统包括:
79.处理器;和
80.存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
81.向内部性能代码中设置多个状态位置,并为每个状态位置生成相对应的状态标识;
82.基于并发系统的内存储器容量和内部性能评估的精度需求确定总采样数;
83.响应于基于总采样数运行内部性能代码,而在每个状态位置依次记录消耗时间周期和本地采样数;
84.基于每个状态位置的消耗时间周期、本地采样数、和内部性能代码的运行频率确定每个状态位置的消耗时间;
85.基于消耗时间评估每个状态位置的内部性能。
86.在一些实施方式中,响应于基于总采样数运行内部性能代码,而在每个状态位置依次记录消耗时间周期和本地采样数包括:
87.将从当前采样开始到状态位置的消耗时间周期记为当前时间周期;
88.将总采样数中的所有当前时间周期叠加获得消耗时间周期;
89.将总采样数中经历状态位置的次数作为本地采样数。
90.在一些实施方式中,基于每个状态位置的消耗时间周期、本地采样数、和内部性能代码的运行频率确定每个状态位置的消耗时间包括:
91.基于状态位置的消耗时间周期与前一状态位置的消耗时间周期之差确定状态位置的差分消耗时间周期;
92.基于差分消耗时间周期与本地采样数之商确定平均消耗时间周期;
93.基于平均消耗时间周期与运行频率之商确定状态位置的消耗时间。
94.从上述实施例可以看出,本发明实施例提供的系统,通过向内部性能代码中设置多个状态位置,并为每个状态位置生成相对应的状态标识;基于并发系统的内存储器容量和内部性能评估的精度需求确定总采样数;响应于基于总采样数运行内部性能代码,而在每个状态位置依次记录消耗时间周期和本地采样数;基于每个状态位置的消耗时间周期、本地采样数、和内部性能代码的运行频率确定每个状态位置的消耗时间;基于消耗时间评估每个状态位置的内部性能的技术方案,能够快速确定并发系统的性能瓶颈以执行针对性优化。
95.需要特别指出的是,上述系统的实施例采用了所述并发系统的内部性能评估方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述并发系统的内部性能评估方法的其他实施例中。当然,由于所述并发系统的内部性能评估方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述系统也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
96.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例
的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
97.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1