一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

固态硬盘的线程自适应分配方法、装置和固态硬盘与流程

2022-03-05 09:42:56 来源:中国专利 TAG:


1.本技术涉及电子技术领域,特别是涉及一种固态硬盘的线程自适应分配方法、装置、计算机设备和固态硬盘。


背景技术:

2.随着电子技术的发展,出现了固态硬盘,固态硬盘(solid state disk或solid state drive,简称ssd),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘,在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上基本与普通硬盘一致固态硬盘,具有传统机械硬盘不具备的快速读写、质量轻、能耗低以及体积小等特点。因此,被广泛应用于军事、车载、工控、视频监控、网络监控、网络终端、电力、医疗、航空、导航设备等诸多领域。
3.用户对于固态硬盘的性能要求越来越高,而影响ssd性能的因素有很多,特别是不同的业务场景对性能表现影响很大。目前主要是针对具体的业务场景,优化固态硬盘的固件,使固态硬盘在该业务场景下,达到性能最优。
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.在其中一个实施例中,所述线程分配参数包括:处理gc端下发的输入输出请求线程数和处理主机端下发的输入输出请求线程数。
36.另一方面,提供了一种固态硬盘的线程自适应分配装置,所述装置包括:
37.数据获取模块,用于获取预设时间间隔内的输入输出特征数据;
38.范围确定模块,用于根据所述输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,所述线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;
39.分配参数获取模块,用于根据所述输入输出特征向量范围,从所述线程分配参数映射表中获取第一线程分配参数;
40.比较模块,用于比较当前线程分配参数与所述第一线程分配参数是否一致;
41.参数调整模块,用于当不一致时,将当前线程分配参数调整为所述第一线程分配参数。
42.再一方面,提供了一种计算机设备,包括存储器、处理器固态硬盘,所述固态硬盘的固件运行时实现以下步骤:
43.数据获取模块,用于获取预设时间间隔内的输入输出特征数据;
44.范围确定模块,用于根据所述输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,所述线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;
45.分配参数获取模块,用于根据所述输入输出特征向量范围,从所述线程分配参数映射表中获取第一线程分配参数;
46.比较模块,用于比较当前线程分配参数与所述第一线程分配参数是否一致;
47.参数调整模块,用于当不一致时,将当前线程分配参数调整为所述第一线程分配参数。
48.又一方面,提供了一种固态硬盘,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
49.数据获取模块,用于获取预设时间间隔内的输入输出特征数据;
50.范围确定模块,用于根据所述输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,所述线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;
51.分配参数获取模块,用于根据所述输入输出特征向量范围,从所述线程分配参数映射表中获取第一线程分配参数;
52.比较模块,用于比较当前线程分配参数与所述第一线程分配参数是否一致;
53.参数调整模块,用于当不一致时,将当前线程分配参数调整为所述第一线程分配参数。
54.上述固态硬盘方法、装置、计算机设备和固态硬盘,通过获取预设时间间隔内的输入输出特征数据,可以体现出固态硬盘主要在什么场景中应用;根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;根据输入输出特征向量范围,从线程分配参数映射表中获取第一线程分配参数;比较当前线程分配参数与第一线程分配参数是否一致;当不一致时,将当前线程分配参数调整为第一线程分配参数,实现固态硬盘根据当前的应用场景自适应的修改线程分配参数,使得各个应用场景下固态硬盘的线程分配比例处于最优,性能达到最优,提升了固态硬盘的综合性能。
附图说明
55.图1为一个实施例中固态硬盘的线程自适应分配方法的流程示意图;
56.图2为一个实施例中固态硬盘的线程自适应分配装置的结构框图;
57.图3为一个实施例中计算机设备的内部结构图。
具体实施方式
58.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
59.本技术提供的固态硬盘的线程自适应分配方法,可以应用于固态硬盘。其中,固态硬盘可接入终端使用,使用过程中,固态硬盘中的固件运行时获取预设时间间隔内的输入输出特征数据;根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;根据输入输出特征向量范围,从线程分配参数映射表中获取第一线程分配参数;比较当前线程分配参数与第一线程分配参数是否一致;当不一致时,将当前线程分配参数调整为第一线程分配参数。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备等。
60.在一个实施例中,如图1所示,提供了一种固态硬盘的线程自适应分配方法,以该方法应用于固态硬盘为例进行说明,包括以下步骤:
61.步骤202,获取预设时间间隔内的输入输出特征数据。
62.其中,预设时间间隔可以根据用户对固态硬盘的使用频率进行确定,如一个小时、两个小时或一天等等。输入输出特征数据是在预设时间间隔内收集到的所有输入输出特征向量,输入输出特征向量包括输入输出请求的随机性、块大小、队列深度等等,输入输出又称为i/o,全称为input/output(即输入/输出)。
63.步骤204,根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数。
64.其中,每一个输入输出特征向量范围代表了一种应用场景,应用场景可以有:数据库服务、邮箱服务、web服务和流媒体服务等等。线程分配参数映射表存储在固态硬盘中。线程分配参数包括处理gc下发的输入输出请求线程数和处理主机下发的输入输出请求线程数等等。gc(garbage collection)是垃圾回收机制。主机是固态硬盘中的主控芯片。可以是从输入输出特征数据中,分析出出现频率最高的输入输出特征向量作为代表值,在线程分配参数映射表中所属的输入输出特征向量范围,也可以是从输入输出特征数据中,分析出输入输出特征向量的平均值作为代表值,在线程分配参数映射表中所属的输入输出特征向量范围,还可以是其他方式去噪出可以代表输入输出特征数据的输入输出特征向量作为判断依据。线程分配参数映射表的映射关系确定可以采用执行测试程序自动获得,也可以由人工测试获得。
65.步骤206,根据输入输出特征向量范围,从线程分配参数映射表中获取第一线程分配参数。
66.其中,第一线程分配参数是固态硬盘处于该输入输出特征向量范围对应的应用场景时,可以使固态硬盘性能达到最优的线程分配参数。比如:如果应用场景为流媒体服务,对带宽要求高,垃圾数据相对少,就降低处理gc下发的输入输出请求线程数,减少gc的资源占用;如果应用场景为数据库服务,对延迟和iops要求高,随机写比较多,垃圾数据就会多,gc压力就大,就需要分配相对较多的线程数给gc。iops(input/output operations per second)是指每秒进行读写操作的次数。
67.步骤208,比较当前线程分配参数与第一线程分配参数是否一致。
68.其中,获取固态硬盘的固件中当前的线程分配参数,与第一线程分配参数比较,确定当前的线程分配参数与第一线程分配参数是否一致。例如:当前的线程分配参数是处理gc下发的输入输出请求线程数为4和处理主机下发的输入输出请求线程数8,第一线程分配参数也是处理gc下发的输入输出请求线程数为4和处理主机下发的输入输出请求线程数8,则当前的线程分配参数与第一线程分配参数是一致;当前的线程分配参数是处理gc下发的输入输出请求线程数为4和处理主机下发的输入输出请求线程数8,第一线程分配参数是处理gc下发的输入输出请求线程数为8和处理主机下发的输入输出请求线程数4,则当前的线程分配参数与第一线程分配参数是不一致。
69.步骤300,当不一致时,将当前线程分配参数调整为第一线程分配参数。
70.上述固态硬盘的线程自适应分配方法中,通过获取预设时间间隔内的输入输出特征数据,可以体现出固态硬盘主要在什么场景中应用;根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;根据输入输出特征向量范围,从线程分配参数映射表中获取第一线程分配参数;比较当前线程分配参数与第一线程分配参数是否一致;当不一致时,将当前线程分配参数调整为第一线程分配参数,实现固态硬盘根据当前的应用场景自适应的修改线程分配参数,使得各个应用场景下固态硬盘的线程分配比例处于最优,性能达到最优,提升了固态硬盘的综合性能。
71.在一个实施例中,根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围的步骤,包括:对输入输出特征数据中的各输入输出特征向量进行去噪整合,获得输入输出特征向量的平均值;根据输入输出特征向量的平均值,在线程分配参数映射表中匹配所属的输入输出特征向量范围。
72.其中,采用输入输出特征向量的平均值作为代表值,可以更准确的体现固态硬盘所使用的应用场景的特征,进一步更准确的对应到获取到第一线程分配参数,使固态硬盘的性能达到最优。
73.在一个实施例中,对输入输出特征数据中的各输入输出特征向量进行去噪整合,获得输入输出特征向量的平均值的步骤,包括:将输入输出特征数据中的极端输入输出特征向量剔除,获得剔除后的输入输出特征数据;根据剔除后的输入输出特征数据进行平均值分析,获得输入输出特征向量的平均值。
74.其中,将极端输入输出特征向量剔除,可以避免小概率的输入输出特征向量影响平均值分析,使得输入输出特征向量的平均值可以更准确的体现固态硬盘所使用的应用场景的特征,进一步更准确的对应到获取到第一线程分配参数,使固态硬盘的性能达到最优。
75.在一个实施例中,该固态硬盘的线程自适应分配方法还包括:当接收到输入输出
请求时,记录输入输出请求的输入输出特征向量。
76.其中,输入输出请求可以是gc下发的输入输出请求,也可以是主机下发的输入输出请求。
77.在一个实施例中,以执行测试程序获得线程分配参数映射表的映射关系为例,线程分配参数映射表的映射关系确定方式包括以下步骤:
78.从预选线程分配参数集中,依次选取预选线程分配参数作为目标线程分配参数;按照目标线程分配参数调整第一固态硬盘中的线程分配参数;模拟各个不同的应用场景对第一固态硬盘下发输入输出请求进行性能测试,获取第一固态硬盘在各应用场景下的性能结果;收集第一固态硬盘在各应用场景下对应的输入输出特征参数;返回从预选线程分配参数集中依次选取目标线程分配参数的步骤,直至预选线程分配参数集中的所有预选线程分配参数都被选取,获得性能结果数据,性能结果数据包括各预选线程分配参数作为目标线程分配参数时,第一固态硬盘在各应用场景下的性能结果;根据性能结果数据进行分析,确定各应用场景对应性能最优的初选线程分配参数;根据在各应用场景下收集到输入输出特征参数,确定各应用场景下对应的输入输出特征向量范围;根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
79.其中,模拟各个不同的应用场景可以搭建真实场景,也是使用第三方模拟工具,如fio(支持多种输入输出引擎工作负载生成器)、vdbench(输入输出工作负载生成器)等。性能结果包括带宽、iops(即每秒的输入输出量)、延迟等数据。每一个输入输出特征向量范围都对应了一个应用场景。确定的各应用场景对应性能最优的初选线程分配参数,可以直接作为各输入输出特征向量范围对应性能最优的线程分配参数,确定的线程分配参数映射表的映射关系。也可以对各应用场景对应性能最优的初选线程分配参数进行验证后,验证通过后再确定的线程分配参数映射表的映射关系。
80.在一个实施例中,根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系的步骤,包括:根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行性能检验,获得检验结果;当检验结果满足性能要求时,将各应用场景对应性能最优的初选线程分配参数确定为各应用场景对应性能最优的线程分配参数;根据各应用场景对应性能最优的线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
81.其中,对各应用场景对应性能最优的初选线程分配参数进行验证后,验证通过后再确定的线程分配参数映射表的映射关系,可以提高更准确的对应到调整线程分配参数,使固态硬盘的性能达到最优。
82.在一个实施例中,根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行验证,获得验证结果的步骤,包括:从各应用场景中依次选取应用场景作为目标应用场景;对写入了初步映射表的第二固态硬盘下发目标应用场景的输入输出请求进行性能测试,获取第二固态硬盘在目标应用场景下的性能结果,初步映射表是根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围建立的;返回从各应用场景中依次选取应用场景作为目标应用场景的步骤,直至所有应用场景都被作为目标应用场景,获得第二固态硬盘在各应用场景下的性能结果;当各应用场景
下的性能结果达到预设阈值时,确定检验结果满足性能要求;当各应用场景下的性能结果未达到预设阈值时,确定检验结果不满足性能要求。
83.其中,对各应用场景对应性能最优的初选线程分配参数进行验证后,验证通过后再确定的线程分配参数映射表的映射关系,可以提高更准确的对应到调整线程分配参数,使固态硬盘的性能达到最优。
84.应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
85.在一个实施例中,如图2所示,提供了一种固态硬盘的线程自适应分配装置,包括:数据获取模块、范围确定模块、分配参数获取模块、比较模块和参数调整模块,其中:
86.数据获取模块,用于获取预设时间间隔内的输入输出特征数据;范围确定模块,用于根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;分配参数获取模块,用于根据输入输出特征向量范围,从线程分配参数映射表中获取第一线程分配参数;比较模块,用于比较当前线程分配参数与第一线程分配参数是否一致;参数调整模块,用于当不一致时,将当前线程分配参数调整为第一线程分配参数。
87.其中,线程分配参数包括:处理gc端下发的输入输出请求线程数和处理主机端下发的输入输出请求线程数。
88.在一个实施例中,范围确定模块还用于:对输入输出特征数据中的各输入输出特征向量进行去噪整合,获得输入输出特征向量的平均值;根据输入输出特征向量的平均值,在线程分配参数映射表中匹配所属的输入输出特征向量范围。
89.在一个实施例中,固态硬盘的线程自适应分配装置还包括记录模块:用于当接收到输入输出请求时,记录输入输出请求的输入输出特征向量。
90.在一个实施例中,线程分配参数映射表的映射关系确定方式包括:
91.从预选线程分配参数集中,依次选取预选线程分配参数作为目标线程分配参数;按照目标线程分配参数调整第一固态硬盘中的线程分配参数;模拟各个不同的应用场景对第一固态硬盘下发输入输出请求进行性能测试,获取第一固态硬盘在各应用场景下的性能结果;收集第一固态硬盘在各应用场景下对应的输入输出特征参数;返回从预选线程分配参数集中依次选取目标线程分配参数的步骤,直至预选线程分配参数集中的所有预选线程分配参数都被选取,获得性能结果数据,性能结果数据包括各预选线程分配参数作为目标线程分配参数时,第一固态硬盘在各应用场景下的性能结果;根据性能结果数据进行分析,确定各应用场景对应性能最优的初选线程分配参数;根据在各应用场景下收集到输入输出特征参数,确定各应用场景下对应的输入输出特征向量范围;根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
92.在一个实施例中,根据各应用场景对应性能最优的初选线程分配参数和输入输出
特征向量范围,确定的线程分配参数映射表的映射关系的步骤,包括:根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行性能检验,获得检验结果;当检验结果满足性能要求时,将各应用场景对应性能最优的初选线程分配参数确定为各应用场景对应性能最优的线程分配参数;根据各应用场景对应性能最优的线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
93.在一个实施例中,根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行验证,获得验证结果的步骤,包括:从各应用场景中依次选取应用场景作为目标应用场景;对写入了初步映射表的第二固态硬盘下发目标应用场景的输入输出请求进行性能测试,获取第二固态硬盘在目标应用场景下的性能结果,初步映射表是根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围建立的;返回从各应用场景中依次选取应用场景作为目标应用场景的步骤,直至所有应用场景都被作为目标应用场景,获得第二固态硬盘在各应用场景下的性能结果;当各应用场景下的性能结果达到预设阈值时,确定检验结果满足性能要求;当各应用场景下的性能结果未达到预设阈值时,确定检验结果不满足性能要求。
94.关于固态硬盘的线程自适应分配装置的具体限定可以参见上文中对于固态硬盘的线程自适应分配方法的限定,在此不再赘述。上述固态硬盘的线程自适应分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
95.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏、固态硬盘和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储器、内存储器。该非易失性存储器存储有操作系统和计算机程序。该内存储器为非易失性存储器中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该固态硬盘的固件运行时实现一种固态硬盘的线程自适应分配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
96.本领域技术人员可以理解,图3中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
97.在一个实施例中,提供了一种固态硬盘,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
98.获取预设时间间隔内的输入输出特征数据;根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;根据输入输出特征向量范围,从线程分配参数映射表中获取第一线程分配参数;比较当前线程分配参数与第一线程分配参数是否一致;当不一致时,将当前线程分配参数调整为第一线程分配参数。
99.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
100.对输入输出特征数据中的各输入输出特征向量进行去噪整合,获得输入输出特征向量的平均值;根据输入输出特征向量的平均值,在线程分配参数映射表中匹配所属的输入输出特征向量范围。
101.在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当接收到输入输出请求时,记录输入输出请求的输入输出特征向量。
102.其中,线程分配参数映射表的映射关系确定方式包括:
103.从预选线程分配参数集中,依次选取预选线程分配参数作为目标线程分配参数;按照目标线程分配参数调整第一固态硬盘中的线程分配参数;模拟各个不同的应用场景对第一固态硬盘下发输入输出请求进行性能测试,获取第一固态硬盘在各应用场景下的性能结果;收集第一固态硬盘在各应用场景下对应的输入输出特征参数;返回从预选线程分配参数集中依次选取目标线程分配参数的步骤,直至预选线程分配参数集中的所有预选线程分配参数都被选取,获得性能结果数据,性能结果数据包括各预选线程分配参数作为目标线程分配参数时,第一固态硬盘在各应用场景下的性能结果;根据性能结果数据进行分析,确定各应用场景对应性能最优的初选线程分配参数;根据在各应用场景下收集到输入输出特征参数,确定各应用场景下对应的输入输出特征向量范围;根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
104.根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系的步骤,包括:根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行性能检验,获得检验结果;当检验结果满足性能要求时,将各应用场景对应性能最优的初选线程分配参数确定为各应用场景对应性能最优的线程分配参数;根据各应用场景对应性能最优的线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
105.根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行验证,获得验证结果的步骤,包括:从各应用场景中依次选取应用场景作为目标应用场景;对写入了初步映射表的第二固态硬盘下发目标应用场景的输入输出请求进行性能测试,获取第二固态硬盘在目标应用场景下的性能结果,初步映射表是根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围建立的;返回从各应用场景中依次选取应用场景作为目标应用场景的步骤,直至所有应用场景都被作为目标应用场景,获得第二固态硬盘在各应用场景下的性能结果;当各应用场景下的性能结果达到预设阈值时,确定检验结果满足性能要求;当各应用场景下的性能结果未达到预设阈值时,确定检验结果不满足性能要求。
106.线程分配参数包括:处理gc端下发的输入输出请求线程数和处理主机端下发的输入输出请求线程数。
107.在一个实施例中,提供了一种计算机设备,包括存储器、处理器和固态硬盘,固态硬盘的固件运行时实现以下步骤:
108.获取预设时间间隔内的输入输出特征数据;根据输入输出特征数据,确定在线程分配参数映射表中所属的输入输出特征向量范围,线程分配参数映射表映射了各输入输出特征向量范围对应性能最优的线程分配参数;根据输入输出特征向量范围,从线程分配参
数映射表中获取第一线程分配参数;比较当前线程分配参数与第一线程分配参数是否一致;当不一致时,将当前线程分配参数调整为第一线程分配参数。
109.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
110.对输入输出特征数据中的各输入输出特征向量进行去噪整合,获得输入输出特征向量的平均值;根据输入输出特征向量的平均值,在线程分配参数映射表中匹配所属的输入输出特征向量范围。
111.在一个实施例中,处理器执行计算机程序时还实现以下步骤:当接收到输入输出请求时,记录输入输出请求的输入输出特征向量。
112.其中,线程分配参数映射表的映射关系确定方式包括:
113.从预选线程分配参数集中,依次选取预选线程分配参数作为目标线程分配参数;按照目标线程分配参数调整第一固态硬盘中的线程分配参数;模拟各个不同的应用场景对第一固态硬盘下发输入输出请求进行性能测试,获取第一固态硬盘在各应用场景下的性能结果;收集第一固态硬盘在各应用场景下对应的输入输出特征参数;返回从预选线程分配参数集中依次选取目标线程分配参数的步骤,直至预选线程分配参数集中的所有预选线程分配参数都被选取,获得性能结果数据,性能结果数据包括各预选线程分配参数作为目标线程分配参数时,第一固态硬盘在各应用场景下的性能结果;根据性能结果数据进行分析,确定各应用场景对应性能最优的初选线程分配参数;根据在各应用场景下收集到输入输出特征参数,确定各应用场景下对应的输入输出特征向量范围;根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
114.根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系的步骤,包括:根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行性能检验,获得检验结果;当检验结果满足性能要求时,将各应用场景对应性能最优的初选线程分配参数确定为各应用场景对应性能最优的线程分配参数;根据各应用场景对应性能最优的线程分配参数和输入输出特征向量范围,确定的线程分配参数映射表的映射关系。
115.根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围,构建初步映射表进行验证,获得验证结果的步骤,包括:从各应用场景中依次选取应用场景作为目标应用场景;对写入了初步映射表的第二固态硬盘下发目标应用场景的输入输出请求进行性能测试,获取第二固态硬盘在目标应用场景下的性能结果,初步映射表是根据各应用场景对应性能最优的初选线程分配参数和输入输出特征向量范围建立的;返回从各应用场景中依次选取应用场景作为目标应用场景的步骤,直至所有应用场景都被作为目标应用场景,获得第二固态硬盘在各应用场景下的性能结果;当各应用场景下的性能结果达到预设阈值时,确定检验结果满足性能要求;当各应用场景下的性能结果未达到预设阈值时,确定检验结果不满足性能要求。
116.线程分配参数包括:处理gc端下发的输入输出请求线程数和处理主机端下发的输入输出请求线程数。
117.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机
可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
118.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
119.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献