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

用于改进处理系统的系统和方法与流程

2022-07-14 05:06:44 来源:中国专利 TAG:

用于改进处理系统的系统和方法
1.相关申请的交叉引用
2.本技术要求于2019年12月4日提交的美国临时申请no.62/943,690的权益。上述申请的全部教导内容通过引入并入本文。


背景技术:

3.与人和动物显示的自然智能不同,人工智能(ai)是机器显示的智能。机器学习是一种形式的ai,其使得系统能够从诸如传感器数据、来自数据库的数据或其它数据的数据中学习。机器学习的焦点是自动学习来识别复杂图案并基于数据做出智能决策。机器学习寻求构建能够在需明确编程或需要人工干预的情况下,自动学习并基于数据训练自身的智能系统或机器。松散地模拟人脑的神经网络是执行机器学习的手段。


技术实现要素:

4.根据一个示例性实施例,一种系统包括耦合到系统控制器的第一学习系统。第一学习系统被配置为标识用于改变处理系统的处理来满足至少一个目标的变异。系统控制器被配置为将所标识的变异应用于处理系统。系统还包括耦合到系统控制器的第二学习系统。第二学习系统被配置为确定所标识和所应用的变异的相应效果。第一学习系统还被配置为基于所确定的相应效果而收敛于变异中的给定变异。给定变异使得能够满足至少一个目标。
5.第一学习系统可以被配置为采用遗传方法来标识变异,并且第二学习系统可以被配置为采用神经网络来确定相应效果。
6.至少一个目标可以与系统内的存储器利用率、存储器等待时间、吞吐量、功率或温度或其组合相关联。然而,应当理解,至少一个目标不限于此。例如,至少一个目标可以与存储器供应、配置或结构相关联。如以下进一步公开的,至少一个目标可以例如经由可以由至少一个监测电路监测的至少一个监测参数来测量。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
7.所标识的变异可以通过改变至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合来改变处理。然而,应理解,所标识的变异不限于改变这些。
8.处理系统可以被耦合到存储器系统并且所标识的变异可以通过重新定位存储器系统中的数据或使其存储器系统中的数据无效来改变处理。
9.处理系统可以被耦合到存储器系统并且所标识的变异可以基于存储器系统的结构来改变存储器系统的存储器访问。
10.所标识的变异可以改变处理系统的指令流、指令管线、时钟速度、电压、空闲时间、现场可编程门阵列(fpga)逻辑或其组合。然而,应理解,所标识的变异不限于改变这些。
11.系统控制器还可以被配置为通过修改处理系统或通过将至少一个消息传输到处理系统来将所标识的变异应用于处理系统,处理系统进而被配置为应用所标识的变异。
12.第二学习系统还可以被配置为采用至少一个监测参数来确定相应效果。相应效果
可以与存储器利用率、温度、吞吐量、等待时间、功率、服务质量(qos)、存储器访问或其组合相关联。然而,应当理解,相应效果不限于与这些相关联。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
13.系统可以还包括至少一个监测电路,至少一个监测电路被配置为通过随时间周期性地监测与处理相关联的至少一个参数来产生至少一个监测参数。第二学习系统可以还被配置为采用至少一个监测参数来确定相应效果。
14.所标识的变异可以包括相应试验变异的群体。第一学习系统可以被配置为采用遗传方法来在逐个群体的基础上演进群体。第一学习系统还可以被配置为在逐个群体的基础上将所演进的群体传输到系统控制器。为了应用所标识的变异,系统控制器还可以被配置为在逐个试验变异的基础上应用将所演进的群体的相应试验变异应用于处理系统。
15.第二学习系统可以被配置为采用神经网络。神经网络被配置为基于处理系统的至少一个监测参数来确定相应效果,该相应效果通过将相应试验变异应用于处理系统而产生。神经网络还可以被配置为基于所确定的相应效果和至少一个目标,将相应排序分配给相应试验变异。神经网络还可以被配置为在逐个试验变异的基础上向系统控制器传输相应排序。
16.系统控制器还可以被配置为向第一学习系统传输群体中的相应排序的群体。相应排序的群体可以包括相应试验变异的相应排序。相应排序可以由神经网络分配并且被传输到系统控制器。遗传方法可以被配置为基于相应排序的群体中的给定相应排序的群体,将群体中的当前群体演进为群体中的下一群体,给定相应排序的群体对应于当前群体。
17.所标识的变异可以包括相应试验变异的群体,其中遗传方法被配置为在逐个群体的基础上演进群体。给定变异可以是由遗传方法一致地包括在演进群体中的给定试验变异,并且由遗传方法基于由神经网络分配给给定变异的相应排序,而收敛于给定变异。
18.系统还可以包括目标系统和试验系统。系统控制器可以被耦合到目标系统并且被耦合到试验系统。处理系统可以是试验系统的试验处理系统。目标系统可以包括目标处理系统。试验处理系统可以是目标处理系统的周期精确模型。系统控制器还可以被配置为将给定变异应用于目标处理系统。
19.目标处理系统可以是物理系统。周期精确模型可以是目标处理系统的物理表示或仿真模型。
20.根据另一个示例性实施例,一种方法可以包括标识用于改变处理系统的处理来满足至少一个目标的变异;将所标识的变异应用于处理系统;确定所标识和所应用的变异的相应效果;以及收敛于所标识和所应用的变异中的给定变异,收敛基于所确定的相应效果,给定变异使得能够满足至少一个目标。
21.其他备选方法实施例与以上结合示例系统实施例描述的那些方法实施例并行。
22.根据又一个示例性实施例,一种系统可以包括用于标识改变处理系统的处理来满足至少一个目标的变异的装置、用于将所标识的变异应用于处理系统的装置、用于确定所标识的所应用的变异的相应效果的装置以及用于收敛于所标识和所应用的变异中的给定变异的装置。收敛可以基于所确定的相应效果。给定变异可以使得能够满足至少一个目标。
23.根据再一个示例性实施例,一种非暂时性计算机可读介质,其上编码有指令序列,指令序列在由至少一个处理器加载和执行时,使得至少一个处理器标识用于改变处理器的
处理来满足至少一个目标的变异,将所标识的变异应用于处理系统,确定所标识和所应用的变异的相应效果,以及收敛于所标识和所应用的变异中的给定变异,收敛基于所确定的相应效果,给定变异使得能够满足至少一个目标。
24.备选的非暂时性计算机可读介质实施例与以上结合示例系统实施例描述的那些实施例并行。
25.应当理解,本文公开的示例性实施例可以以方法、装置、系统或其上包含程序代码的计算机可读介质的形式来实施。
附图说明
26.如附图所示,通过以下对示例性实施例的更具体的描述,上述内容将变得显而易见,在附图中,相同的附图标记在不同的视图中表示相同的部分。附图不必按比例绘制,而是重点在于图示实施例。
27.图1a是具有在其上实施机器学习过程(未示出)的学习系统的示例性实施例的系统的示例性实施例的框图。
28.图1b是图1a的系统的示例性实施例的框图。
29.图2是系统中的机器学习过程的示例性实施例的框图。
30.图3是用于使用机器学习来改变存储器访问的系统的另一个示例性实施例的框图。
31.图4是用于使用机器学习来改变存储器访问的方法的示例性实施例的流程图。
32.图5是用于改进处理系统或系统的示例性实施例的框图。
33.图6是用于改进处理系统的方法的示例性实施例的流程图。
34.图7是可选地在本文所公开的实施例内的计算机的示例性内部结构的框图。
具体实施方式
35.示例性实施例的描述如下。
36.应理解,虽然本文所公开的示例性实施例可以关于改变存储器访问以改进处理系统来描述,但本文所公开的实施例不限于此,并且可以被用于改变处理系统的其它方面来实现其改进。
37.本文所公开的示例性实施例采用机器学习来改变(例如,操纵)存储器访问,从而改变如下文进一步公开的各方面,诸如性能、等待时间或功率。应当理解,改变存储器访问不限于改变性能、等待时间、功率或其组合。根据本公开的各方面,机器学习方法可以涵盖各种各样的方式,包括监督式和非监督式方法。虽然本文所公开的机器学习方法的示例性实施例可以被描述为采用遗传方法和神经网络,但是应当理解,可以采用附加的或备选的(一个或多个)机器学习方法来实现本文中所公开的示例性实施例,诸如通过使用例如支持向量机(svm)、决策树、马尔可夫模型、隐马尔可夫模型、贝叶斯网络、基于群集的学习、其它学习机器或其组合。
38.试图开发通过改变存储器地址或其访问模式来改进处理系统的方法可能是困难的,且将随时间变化以及基于给定指令流的存储器访问模式而变化。包括由用户手动执行并且利用用户的时间和努力来研究历史模式的试错技术的当前解决方案改变指令流来与
当前的硬件架构更好地一起工作等。
39.本文中所公开的示例性实施例创建了这样的系统,该系统使用机器学习和控制系统来操纵存储器地址(对于各种范围可能以不同的方式)、操纵存储器访问顺序或者可能重新定位存储器块(或使其无效)。此外,学习系统可以提供针对用于改变处理系统的方式的反馈,来满足优化并入学习系统的系统的(一个或多个)靶向目标。这样的(一个或多个)靶向目标可以是减少等待时间、增加吞吐量、减少功耗,但是这样的(一个或多个)靶向目标不限于此并且是或包括被认为对于系统自优化有用的(一个多个)其他目标。对于用户来说,识别优化过去的少量变量的方式可能变得非常困难,而如以下关于图1a所公开的,机器学习和控制系统的示例性实施例可以实时地适配并学习来执行对于用户来说可能根本不明显的复杂操纵。
40.图1a是具有在其上实施机器学习过程(未示出)的学习系统108的示例性实施例的系统100的示例性实施例的框图。学习系统108经由机器学习过程来标识与用于改变存储器系统(诸如,图1b的处理系统104所访问的存储器系统106)的存储器访问来在系统100中满足(一个或多个)目标的方式有关的变异(下文进一步公开的),(一个或多个)目标诸如增加吞吐量、减少等待时间、减少功耗、减少温度等。通过采用系统100中的机器学习过程,用户90(例如,软件/硬件工程师)可以避免进行试错实验以确定改变存储器访问而满足(一个或多个)目标的方式。
41.例如,用户90不需要花费时间和精力来开发和测试改变存储器访问来满足(一个或多个)目标的方法。这样的方法可能难以开发,因为其可能需要随时间变化并且基于正由访问存储器系统的处理系统执行的给定指令流的存储器访问模式而变化。此外,这样的方法的有效性取决于系统100的硬件架构相关,并且因此用户90需要花费时间来自定义(和测试)每个硬件架构。这样的自定义可以包括研究历史存储器访问模式和改变不同硬件架构的指令流,以努力满足每个不同硬件架构的(一个或多个)目标。根据示例性实施例,学习系统108使用机器学习过程,诸如以下公开的图1b的机器学习过程110,该机器学习过程可以实时适配并学习来执行对用户90来说可能根本不明显的存储器访问的复杂操纵。
42.图1b是以上公开的图1a的系统100的示例性实施例的框图。在图1b的示例性实施例中,系统100包括耦合到处理系统104的系统控制器102。处理系统104可以是嵌入式处理器系统、多核心处理系统、数据中心或其它处理系统。然而,应当理解,处理系统104不限于此。处理系统104被耦合到存储器系统106。存储器系统106包括至少一个存储器(未示出)。系统100还包括耦合到系统控制器102的学习系统108。如以下进一步公开的,学习系统108可以被称为自修改学习系统,其能够基于对处理系统104应用改变的效果来使其适应为满足至少一个目标118。至少一个目标118在本文中可以被互换地称为至少一个优化标准。
43.学习系统108能够自主地操作,即,学习系统108能够自由地探索和开发其自己对处理系统104的变异(即,变化或改变)的理解,以使得能够在没有显式编程的情况下满足至少一个目标118。学习系统108被配置为经由机器学习过程110,来标识与用于改变存储器系统106的存储器访问114来满足至少一个目标118的方式有关的变异112。系统控制器102被配置为将所标识的变异112应用115到处理系统104。机器学习过程110被配置为采用至少一个监测参数116来收敛于所标识和所应用的变异112中的给定变异(未示出)。至少一个监测参数116受存储器访问114的影响。给定变异使得能够满足至少一个目标118。至少一个监测
参数116可以表示受存储器访问114影响的系统100内的存储器利用率、存储器等待时间、吞吐量、功率或温度。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
44.根据一个示例性实施例,机器学习过程110可以独立地探索不同的方式来执行改变,并且同样地,机器学习过程110可以确定方式。至少一个目标118可以与系统100内的存储器利用率、存储器等待时间、吞吐量、功率或温度或其组合相关联。然而,应当理解,至少一个目标118不限于此。例如,至少一个目标118可以与存储器供应、配置或结构相关联。如以下进一步公开的,至少一个目标可以例如经由可以由至少一个监测电路监测的至少一个监测参数116来测量。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。方式可以包括改变至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合。然而,应当理解,方式不限于此。根据一个示例性实施例,存储器系统106可以包括至少一个动态随机存取存储器(dram),并且如下文关于图3进一步公开的,方式可以包括改变对至少一个dram的库(bank)的库访问。然而,应当理解,方式不限于此。
45.所标识的变异112可以包括与至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合有关的变异。至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合可以与由处理系统104执行的指令序列(未图示)相关联。然而,应当理解,所标识的变型112不限于此。方式可以包括重新定位存储器系统106中的数据或使其无效。然而,应当理解,方式不限于此。所标识的变异112可以包括与重新定位、无效或其组合有关的变异。然而,应当理解,所标识的变异112不限于此。用于改变存储器访问114的方式可以基于诸如下文关于图3进一步公开的存储器系统106的结构。然而,应理解,方式不限于基于存储器系统106的结构。
46.将所标识的变异112应用于处理系统104可以包括修改处理系统104的指令流、指令管线、时钟速度、电压、空闲时间、现场可编程门阵列(fpga)逻辑或其组合。然而,应当理解,修改不限于此。系统控制器102还可以被配置为执行修改或者向处理系统104传输至少一个消息(未示出),处理系统104进而被配置为执行修改。
47.至少一个监测参数116可以包括存储器利用率、温度、吞吐量、等待时间、功率、服务质量(qos)、存储器访问或其组合。然而,应当理解,至少一个监测参数116不限于此。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。系统100还可以包括至少一个监测电路(未示出),至少一个监测电路被配置为随时间周期性地监测与存储器访问106相关联的至少一个参数,来产生至少一个监测参数116。
48.系统100可以是物理系统或物理系统的仿真系统模型。仿真系统模型相对于物理系统可以是周期精确的(例如,在数字周期上)。如以下关于图3进一步公开的,至少一个监测电路可以分别是物理系统或仿真系统模型的至少一个物理监测电路或者至少一个物理监测电路的至少一个仿真监测电路模型。
49.根据一个示例性实施例,机器学习过程110可以被配置为采用与神经网络组合的遗传方法,诸如以下关于图2所公开的遗传方法220和神经网络222(在此也可互换地称为推理引擎)。
50.图2是系统200中的机器学习过程210的示例性实施例的框图。系统200可以被用作以上公开的图1a和图1b的系统100,并且同样地,机器学习过程210可以被用作以上公开的机器学习过程110。
51.在图2的示例性实施例中,系统200包括耦合到处理系统204的系统控制器202。处理系统204被耦合到存储器系统206。系统200还包括耦合到系统控制器202的学习系统208。学习系统208被配置为经由机器学习过程210,来标识与用于改变存储器系统206的存储器访问214来满足至少一个目标218的方式有关的变异212。
52.系统控制器202被配置为将所标识的变异212应用215到处理系统204。机器学习过程210被配置为采用至少一个监测参数216来收敛于所标识和所应用的变异212中的给定变异(未示出)。至少一个监测参数216受存储器访问214的影响。给定变异使得能够满足至少一个目标218。
53.机器学习过程210被配置为采用与神经网络222组合的遗传方法220。神经网络222可以是至少一个神经网络,诸如卷积神经网络(cnn)、递归神经网络(rnn)或其组合。然而,应当理解,神经网络222不限于cnn、rnn或其组合,并且可以是任何合适的人工神经网络(ann)或神经网络的组合。
54.根据一个示例性实施例,遗传方法220基于针对这样的改变的(一个或多个)特定方式(例如,(一个或多个)方法)来演进用于改变存储器访问114的变异(在本文中可互换地称为变更、修改或调整),并且神经网络222确定改变的相应效果,并且使得遗传方法220能够基于改变来演进附加变异。根据一个示例性实施例,遗传方法220可以将方式演进为用于改变存储器访问214的(一个或多个)新方式(例如,(一个或多个)方法)。
55.由遗传方法220标识的变异212包括相应试验变异的群体224,诸如包括所标识的变异212中的相应试验变异226-1的初始群体224-1以及包括所标识的变异212中的相应试验变异226-n的第n群体224-n。遗传方法220可以被配置在逐个群体的基础上演进群体224。
56.在本领域中也称为遗传算法(ga)的遗传方法可以被认为是作用于问题的可能解的群体的随机搜索方法。遗传方法松散地基于群体遗传学构成和选择。可能的解可以被认为被编码为“基因”,基因是通过使当前群体的成员“突变”并通过将解组合在一起而形成新的解,来产生的解的成员。被认为是“较好”(相对于其它解)的解可以被选择来进行繁殖和突变,而其他解,即被认为是“较差”(相对于其它解)的解被丢弃。遗传方法可以被用于搜索潜在解的空间(例如,群体)来找到解决待解决的问题的空间。根据一个示例性实施例,神经网络222对由遗传方法220生成的建议解的有效性进行排序,并且遗传方法基于排序来演进下一解的集合(例如群体)。
57.根据一个示例性实施例,遗传方法220可以基于其成员的相应排序(例如得分),即,其由神经网络222进行排序的相应试验变异,来修改当前群体。当前群体可以是由系统控制器202应用于处理系统204的最近应用的群体。遗传方法220可以被配置为基于相应排序,丢弃给定百分比或数量的当前群体的相应试验变异,使得预定数量的相应试验变异保持不变,基于相应排序来复制相应试验变异,并添加新的相应试验变异,从而将当前群体演进为下一群体。
58.例如,用于改变存储器访问214的方式(例如,方法)可以包括重新布置用于访问存储器系统206的地址的地址位。然而,应当理解,方式不限于此。遗传方法220可以基于大小为十的给定群体,产生相应变异的初始群体,初始群体具有例如重新布置的十倍(但不限于此)存储器地址。然而,应当理解,给定群体大小不限于十。相应变异可以使得存储器地址随机地重新布置十倍,但不限于此。此外,应当理解,存储器不限于被随机地重新布置。
59.神经网络222可以在将相应变异应用于处理系统204之后,基于从至少一个监测参数216确定的相应效果且基于至少一个目标218,来对初始群体的成员中的每个成员进行排序。例如,相对于具有较低等级的相应效果的相应变异,具有表示满足至少一个目标218的较高等级的相应效果的相应变异可以被分配较高的相应排序。这样的对相应变异的排序分配产生经排序的群体,诸如群体224的相应排序的群体230中的给定排序的群体。
60.遗传方法220可以采用例如前三位的解(但不限于此),即,经排序的群体中的前三位的最高排序变异(即,成员),并丢弃剩余的成员。遗传方法220可以将最高排序的成员复制第一次数,将下一最高排序的成员复制第二次数,并且添加新的成员(例如,突变的成员)来产生相应变异的新群体,新群体具有给定群体大小,即,给定数量的相应成员。
61.遗传方法220可以迭代来产生将被应用和被排序的新的代(generation),直到某个成员(即,给定的相应变异)以给定的排序在群体224的代中一致地(例如给定次数)被排序,此时,遗传方法220被理解为已收敛于给定的相应变异,诸如以下进一步公开的图3的给定变异336。应当理解,遗传方法220不限于演进如本文所公开的群体224。
62.学习系统208还可以被配置为在逐个群体的基础上将所演进的群体224传输到系统控制器202。为了应用所标识的变异212,系统控制器202还可以被配置为在逐个试验变异的基础上将所演进的群体224的相应试验变异(例如,224-1

224-n)应用215到处理系统204。
63.神经网络222可以被配置为基于至少一个监测参数216来确定将相应试验变异(例如,224-1

224-n)应用于处理系统204的相应效果(未示出)。神经网络222还可以被配置为基于所确定的相应效果和至少一个目标218,将相应排序228分配给相应试验变异(例如,224-1

224n)。神经网络222还可以被配置为在逐个试验变异的基础上向系统控制器202传输相应排序228。
64.系统控制器202还可以被配置为向学习系统208传输群体224中的相应排序的群体230。相应排序的群体230包括相应试验变异(即,相应群体的成员)的相应排序。例如,相应排序228包括针对群体224-1的相应试验变异226-1的相应排序228-1。类似地,相应排序228包括针对群体224-n的相应试验变异226-n的相应排序228-n。相应排序228可以由神经网络222分配并且被传输到系统控制器202。
65.遗传方法220可以被配置为基于相应排序的群体230中的给定相应排序的群体230-n,将群体224中的当前群体(例如224-n)演进为群体224中的下一群体(例如224-(n 1)(未示出)),其中给定相应排序的群体230-n对应于当前群体(例如224-n)。
66.除了初始群体(例如,224-1)之外,群体224中的每个群体从先前群体演进而来。根据一个示例性实施例,初始群体可以被生成为使得其包括是与方式有关的随机变异的相应试验变异。然而,应当理解,初始群体不限于用随机变异生成。由于初始群体之后的每个群体从先前群体演进而来,因此群体224可以被称为群体的代,其中给定代的相应试验变异基于先前群体的相应试验变异而演进。因此,遗传方法220被配置在逐个群体的基础上演进群体224。
67.根据一个示例性实施例,给定变异是由遗传方法220一致地包括在所演进的群体224中的给定试验变异。可以由遗传方法220基于由神经网络222分配给给定变异的相应排序,而收敛于给定变异。根据一个示例性实施例,给定变异被应用于目标系统,诸如给定变
异336被应用于以下公开的图3的目标系统332。
68.图3是用于使用机器学习来改变存储器访问的系统300的另一个示例性实施例的框图。系统300可以被用作上述图1a和图1b的系统100或图2的系统200。系统300包括目标系统332和试验系统334。根据一个示例性实施例,试验系统334是测试系统。试验系统334改变试验系统334中的存储器访问314a,以确定改变目标系统332中的存储器访问314b来满足至少一个目标318的(一个或多个)方法,而不影响用于这样的确定的目标系统332的操作。试验系统334的存储器访问314a相对于目标系统332的存储器访问314b是周期精确的。存储器访问314a和存储器访问314b可以表示多个命令流,多个命令流包含与存储器访问位置的相应地址组合的读取或写入命令。
69.根据一个示例性实施例,但在非限制的情况下,至少一个目标318可以是提高目标系统332的目标存储器系统306b中的动态随机存取存储器(dram)的dram利用率。例如,至少一个目标318可以包括将这样的利用率分散在dram的多个库上的给定目标,使得访问相同库的目标处理系统304b的线程/核心不连续地命中(即,访问)相同库,且库利用率在dram的库之间均匀地分布。利用率例如可以通过监测电路(未示出)来测量,监测电路被配置为监测数据通道(例如,dq通道)的空闲周期的百分比,并且将这样的百分比随时间周期性地发送到神经网络322。
70.如此,用于改变目标存储器系统306b的存储器访问314b的方式可以基于目标存储器系统306b的结构(例如,库)。至少一个监测参数316中的给定监测参数(未示出)可以表示这样的利用率。然而,应当理解,至少一个监测参数316不限于此。根据一个示例性实施例,目标处理系统304b包括至少一个处理器(未示出),并且目标存储器系统306b包括可以由在目标处理系统304b上执行并因此在试验处理系统304a上执行的线程(未示出)进行访问的多个存储器。
71.至少一个目标318中的另一个目标可以是维持或改进目标处理系统304b中的平均等待时间。这样的平均等待时间可以诸如通过测量在等待来自目标存储器系统306b的数据时带来的(一个或多个)线程的停滞时间来测量,且系统300包括可以反映与试验系统334中所测量的相同的至少一个监测参数316。然而,应当理解,至少一个目标318不限于本文中公开的(一个或多个)目标,并且至少一个监测参数316不限于本文所公开的(一个或多个)监测参数。根据一个示例性实施例,试验系统334可以被用于确定改变目标系统332中的存储器访问314b来满足至少一个目标318的最佳方法。
72.试验系统334是目标系统332的周期精确表示,其中目标系统332可以被称为“真实”系统,其是物理系统。这样,目标系统332的目标处理系统304b和目标存储器系统306b是物理系统。目标系统332可以被部署在现场并且可以“处于服务中”,而试验系统334是测试系统并且被认为是“非服务状态”系统。根据一个示例性实施例,试验系统334可以是目标系统的复制系统。然而,应当理解,试验系统334不限于此。试验系统334包括试验处理系统304a,试验处理系统304a是目标处理系统306b的第一周期精确模型。试验系统334还包括试验存储器系统306a,试验存储器系统306a是目标系统332的目标存储器系统306b的第二周期精确模型。
73.第一和第二周期精确模型可以分别是目标处理系统304b和目标存储器系统306b的物理模型或仿真模型。根据一个示例性实施例,表示目标处理系统304b的指令流的指令
流311可以可选地被传输到试验处理系统304a,以进一步确保试验系统334相对于目标系统332是周期精确的。根据一个示例性实施例,试验系统334实时地模拟目标系统332,并且试验系统334在本文中可互换地称为目标系统332的阴影系统。
74.在图3的示例性实施例中,系统包括耦合到目标系统332和试验系统334的系统控制器302。试验系统334包括耦合到试验存储器系统306a的试验处理系统304a,并且目标系统334b包括耦合到试验存储器系统306b的试验处理系统304b。根据一个示例性实施例,以上公开的图1b和图2的处理系统104和204对应于图3的试验系统334的试验处理系统304a和试验存储器系统306a。根据一个示例性实施例,以上关于图1b和图2公开的给定变异可以是以下公开的图3的给定变异336。
75.图3的系统300还包括耦合到系统控制器302的学习系统308。学习系统308可以用作以上公开的图1b和图2的学习系统108和208。学习系统308被配置为经由机器学习过程310,来标识与用于改变试用存储器系统306a的存储器访问314a来满足至少一个目标318的方式有关的变异312。根据一个示例性实施例,机器学习过程310被配置为如以下进一步详细公开的采用与神经网络322组合的遗传方法320。系统控制器302作用于来自神经网络322的输出,诸如以下进一步公开的相应排序328,并且使得(例如,发起)由遗传方法320生成试验变异的新群体。
76.新群体可以是将由系统控制器302应用于试验处理系统304a的相应试验变异的初始群体或第n 1代群体。例如,初始群体可以经由由系统控制器302传输到学习系统308的命令(未示出)来发起。第n 1代群体可以由系统控制器302例如通过传输第n代群体的相应排序的群体来发起。遗传方法320可以采用经排序的第n代群体来从其演进第n 1代群体。经排序的第n代群体表示当前群体,该当前群体已经由系统控制器302将其相应的试验变异(即,群体成员)应用于试验处理系统304a、并且由神经网络322基于由至少一个监测参数316反映的这样的应用的效果来对其群体成员进行排序。
77.根据一个示例性实施例,神经网络322采用至少一个监测参数316,来确定将变异312中的相应试验变异应用于试验处理系统304a的相应效果。变异312包括具有用于改变存储器访问314a的相应试验变异的群体324。例如,相应试验变异可以是在用于访问试验存储器系统306a的试验系统334中试验(应用)的新地址散列或地址位布置的试验。然而,应当理解,相应试验变异不限于此。
78.新的散列或地址位布置可以由可自主操作的遗传方法320来确定,即,遗传方法320可自由操作并尝试不同方式来改变存储器访问。根据一个示例性实施例,神经网络322已经被训练为识别存储器访问314a改变的、不仅是暂时的(但是它仍可以在某种程度上是暂时的)内容(即,变异或改变),并且神经网络322应针对“真实”系统(即,目标系统332)而做出,以使得目标系统332能够满足至少一个目标318。
79.神经网络322还可以被进一步训练来识别变化的相应效果是否足够程度深以在服务中执行,或者目标系统332是否应当被临时停止并被重新配置来对其应用给定变异336。神经网络322的这样的训练可以至少部分地在实验室环境中用来自用户(诸如以上公开的图1a的用户90)的用户驱动数据(未示出)来执行。这样的用户驱动数据可以使用专用监测电路随时间被捕获,专用监测电路被设计为监测试验系统334的特定参数,诸如存储器利用率、温度、吞吐量、等待时间、功率、服务质量(qos)、存储器访问等,并且用户可以用相应的
标签来标记这样的所捕获的数据,标签指示至少一个目标318中的(一个或多个)给定目标(诸如存储器利用率、存储器等待时间、吞吐量、功率、温度等)是否已经被满足或者至少一个目标318已经被满足的程度。因此,神经网络322以被训练来理解至少一个目标318。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
80.可以采用神经网络322来代替方法,因为神经网络322能够经由至少一个监测参数316来识别应用改变存储器访问的变化(即,试验变异)随时间的效果,并且神经网络322还能够滤除由这些效果表示的、被认为是暂时的并且因此不是可行的改进的、诸如尖峰或系统颠簸的事件。这样,神经网络322非常适合于对已经应用的试验变异进行排序。
81.神经网络322可以是静态的或动态的。例如,神经网络322可以最初被训练并保持静态。备选地,神经网络322可以例如通过基于经由至少一个监测参数316确定的效果,来添加/移除/修改节点(未示出)的层(未示出)而随时间自适应,至少一个监测参数316与由遗传方法320产生的、一旦应用就引起这样的效果的相应试验变异相关。
82.存储器访问314a相对于目标存储器系统306b的存储器访问314b是周期精确的。系统控制器302被配置为将所标识的变异312应用315到试验处理系统304a。如以上关于图2所公开的,机器学习过程310被配置为采用至少一个监测参数316,来收敛于所标识和所应用的变异312中的给定变异336。至少一个监测参数316受存储器访问314a的影响。
83.给定变异336可以是所有变异312之中的特定变异,其使得至少一个目标318能够在试验系统334中并且因此在目标系统332中被满足。试验系统334是目标系统332的周期精确表示,并且同样地,由于给定变异336使得试验系统334能够满足至少一个目标318,所以给定变异336然后可以被应用于目标处理系统304b,使得目标系统332能够满足至少一个目标318。然而,目标系统332的服务不受用于确定能够满足至少一个目标318的给定变异336的机器学习过程310的影响。
84.在图3的示例性实施例中,所标识的变异312包括相应试验变异的群体324,诸如包括所标识的变异312中的相应试验变异326-1的初始群体324-1,以及包括所标识的变异312中的相应试验变异326-n的第n群体324-n。遗传方法320被配置为在逐个群体的基础上演进群体324。
85.学习系统308还被配置在逐个群体的基础上将所演进的群体324传输到系统控制器302。为了应用315所标识的变异312,系统控制器302还被配置为在逐试验变异的基础上将所演进的群体324(例如,324-1

324-n)的相应试验变异(例如,326-1

326-n)应用315到处理系统304。
86.神经网络322被配置为基于至少一个监测参数316来确定将相应试验变异(例如,324-1

324-n)应用于试验处理系统304a的相应效果(未示出)。神经网络322还可以被配置为基于所确定的相应效果和至少一个目标318,将相应排序328分配给相应试验变异(例如,324-1

324-n)。神经网络322还可以被配置为在逐个试验变异的基础上向系统控制器302传输相应排序328。
87.系统控制器302还可以被配置为向学习系统308传输群体324中的相应排序的群体330。相应排序的群体330包括相应试验变异的相应排序,即,相应群体的成员(试验变异)的相应排序。例如,相应排序328包括针对群体324-1的相应试验变异326-1的相应排序328-1。类似地,相应排序328包括针对群体324-n的相应试验变异326-n的相应排序328-n。相应排
序328可以由神经网络322分配并且被传输到系统控制器302。
88.遗传方法320被配置为基于相应排序的群体330中的给定相应排序的群体330-n,将群体324中的当前群体(例如324-n)演进为群体324中的下一群体(例如324-(n 1)(未示出)),其中给定相应排序的群体330-n对应于当前群体(例如324-n)。
89.除了初始群体(例如,324-1)之外,群体324中的每个群体从先前群体演进而来。根据一个示例性实施例,初始群体可以被生成为使得其包括是与方式有关的随机变异的相应试验变异。然而,应当理解,初始群体不限于用随机变异生成。由于初始群体之后的每个群体从先前群体演进而来,因此群体324可以被称为群体的代,其中给定代的相应试验变异基于先前群体的相应试验变异而演进。因此,遗传方法320被配置在逐个群体的基础上演进群体324。
90.根据一个示例性实施例,给定变异336是给定试验变异,其由遗传方法320一致地包括在所演进的群体324中、并由神经网络322分配一致的排序。如以上关于图2所公开的,由遗传方法320基于由神经网络322分配给给定变异336的相应排序,而收敛于给定变异336。系统控制器302还被配置为将给定变异336应用于目标处理系统304b,从而使得能够满足目标系统332中的至少一个目标318。
91.图4是用于使用机器学习来改变存储器访问的方法的示例性实施例的流程图400。方法开始(402)并且经由机器学习过程,来标识与用于改变存储器系统的存储器访问来满足至少一个目标的方式有关的变异,存储器系统被耦合到处理系统(404)。方法将所标识的变异应用于处理系统(406)。方法由机器学习过程,采用至少一个监测参数来收敛于所标识和所应用的变异中的给定变异,至少一个监测参数受存储器访问影响,给定变异使得能够满足至少一个目标(408)。方法然后在示例性实施例中结束(410)。
92.方式可以包括改变至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合。所标识的变异可以包括与至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合有关的变异。方式可以包括重新定位存储器系统中的数据或使其无效。所标识的变异可以包括与重新定位、无效或其组合有关的变异。用于改变存储器访问的方式可以基于存储器系统的结构。
93.将所标识的变异应用于处理系统可以包括修改处理系统的指令流、指令管线(例如,添加或修改(一个或多个)指令)、时钟速度、电压、空闲时间、现场可编程门阵列(fpga)逻辑(例如,添加查找表(lut)来添加加速度或其它修改)或其组合。
94.方法可以还包括通过随时间周期性地监测与存储器访问相关联的至少一个参数来产生至少一个监测参数。至少一个监测参数可以包括存储器利用率、温度、吞吐量、等待时间、功率、服务质量(qos)、存储器访问或其组合。然而,应当理解,至少一个监测参数不限于此。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
95.方法还可以包括采用与神经网络组合的遗传方法来实施机器学习过程。
96.所标识的变异可以包括试验变异的群体,并且方法可以还包括通过遗传方法在逐个群体的基础上演进群体。方法还可以包括在逐个群体的基础上传输所演进的群体。应用所标识的变异可以包括应用所演进的群体的试验变异。应用可以在逐个试验变异的基础上来执行。
97.方法还可以包括由神经网络基于至少一个监测参数来确定将试验变异应用于处
理系统的相应效果。方法还可以包括由神经网络基于所确定的相应效果和至少一个目标,将相应排序分配给试验变异。方法还可以包括通过神经网络,将逐个试验变异基础上的相应排序传输到系统控制器。
98.方法可以还包括由系统控制器向实施机器学习过程的学习系统传输群体中的相应排序的群体。相应排序的群体可以包括相应试验变异的相应排序。相应排序可以由神经网络分配并且被传输到系统控制器。方法还可以包括通过遗传方法,基于相应排序的群体中的给定相应排序的群体,将群体中的当前群体演进为群体中的下一群体,给定相应排序的群体对应于当前群体。
99.所标识的变异可以包括试验变异的群体,并且方法还可以包括通过遗传方法在逐个群体的基础上演进群体。给定变异可以是由遗传方法一致地包括在所演进的群体中的给定试验变异。方法还可以包括通过遗传方法,基于由神经网络分配给给定变异的相应排序,而收敛于给定变异。
100.处理系统可以是试验系统的试验处理系统。存储器系统可以是试验系统的试验存储器系统。试验处理系统可以是目标系统的目标处理系统的第一周期精确模型。试验存储器系统可以是试验系统的目标存储器系统的第二周期精确模型。方法还可以包括将给定变异应用于目标系统的目标处理系统。
101.图5是用于改进处理系统504的系统500的示例性实施例的框图。系统500包括耦合到系统控制器502的第一学习系统508a。第一学习系统508a被配置为标识用于改变处理系统504的处理来满足至少一个目标518的变异512。系统控制器502被配置为将所标识的变异512应用515到处理系统504。系统500还包括耦合到系统控制器502的第二学习系统508b。第二学习系统508b被配置为确定所标识和所应用的变异512的相应效果(未示出)。第一学习系统508a还被配置为基于所确定的相应效果而收敛于变异512中的给定变异(未示出)。给定变异使得能够满足至少一个目标518。
102.第一学习系统508a可以被配置为采用遗传方法520来标识变异512,并且第二学习系统508b可以被配置为采用神经网络522来确定相应效果。
103.至少一个目标518可以与系统500内的存储器利用率、存储器等待时间、吞吐量、功率或温度或其组合相关联。然而,应当理解,至少一个目标518不限于此。例如,至少一个目标518可以与存储器供应、配置或结构相关联。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
104.所标识的变异512可以通过改变至少一个存储器地址、存储器访问顺序、存储器访问模式或其组合来改变处理。然而,应当理解,所标识的变异512不限于改变这些。
105.如上文关于图1b、图2和图3所公开的,处理系统504可以被耦合到存储器系统,并且所标识的变异512可以通过重新定位存储器系统中的数据或使存储器系统中的数据无效来改变处理。如上文关于图3所公开的,所标识的变异512可以基于存储器系统的结构来改变存储器系统的存储器访问。
106.所标识的变异512可以改变处理系统504的指令流、指令管线、时钟速度、电压、空闲时间、现场可编程门阵列(fpga)逻辑或其组合。然而,应当理解,所标识的变异512不限于此。
107.系统控制器502可以还被配置为通过修改处理系统504或通过将至少一个消息(未
示出)传输到处理系统504,来将所标识的变异512应用于处理系统504,处理系统504进而被配置为应用所标识的变异512。
108.第二学习系统508b还可以被配置为使用至少一个监测参数516来确定相应效果。相应效果可以与存储器利用率、温度、吞吐量、等待时间、功率、服务质量(qos)、存储器访问或其组合相关联。然而,应当理解,相应效果不限于与这些相关联。吞吐量、功率或温度可以是系统或存储器吞吐量、功率或温度。
109.系统500还可以包括至少一个监测电路(未示出),至少一个监测电路被配置为通过随时间周期性地监测与处理相关联的至少一个参数,来产生至少一个监测参数516。第二学习系统508b还可以被配置为采用至少一个监测参数516来确定相应效果。
110.所标识的变异512可以包括诸如以上关于图2所公开的相应试验变异的群体。诸如以上关于图2所公开的,第一学习系统508a可以被配置为采用遗传方法520来在逐个群体的基础上演进群体。第一学习系统508a还可以被配置在逐个群体的基础上将所演进的群体传输到系统控制器502。为了应用所标识的变异512,系统控制器502还可以被配置为在逐个试验变异的基础上,将所演进的群体的相应试验变异应用于处理系统504。
111.第二学习系统508b可以被配置为采用神经网络522。神经网络522可以被配置为基于处理系统504的至少一个监测参数516来确定相应效果,相应效果通过将相应试验变异应用于处理系统504而产生。诸如以上关于图2所公开的,神经网络522还可以被配置为基于所确定的相应效果和至少一个目标518来将相应排序528分配给相应试验变异。神经网络522还可以被配置为在逐个试验变异的基础上,向系统控制器502传输相应排序528。
112.诸如以上关于图2所公开的,系统控制器502还可以被配置为向第一学习系统508a传输群体(未示出)中的相应排序的群体(未示出)。相应排序的群体可以包括相应试验变异的相应排序528。相应排序528可以由神经网络522分配并且被传输到系统控制器502。如以上关于图2所公开的,遗传方法520可以被配置为基于相应排序的群体中的给定相应排序的群体,将群体中的当前群体演进为群体中的下一群体,给定相应排序的群体对应于当前群体。
113.如以上关于图2所公开的,所标识的变异512可以包括相应试验变异(未示出)的群体(未示出),其中遗传方法520被配置为在逐个群体的基础上演进群体。给定变异可以是通过遗传方法520一致地包括在所演进的群体中的给定试验变异。如以上关于图2所公开的,可以由遗传方法520基于由神经网络522分配给给定变异的相应排序来收敛于给定变异。
114.系统500还可以包括如以上关于图3所公开的目标系统(未示出)和试验系统(未示出)。系统控制器502可以被耦合到目标系统和试验系统。处理系统504可以是试验系统的试验处理系统。目标系统可以包括目标处理系统。如以上关于图3所公开的,试验处理系统可以是目标处理系统的周期精确模型。系统控制器502还可以被配置为将给定变异应用于目标处理系统。
115.目标处理系统可以是物理系统。周期精确模型可以是目标处理系统的物理表示或仿真模型。
116.图6是用于改进处理系统(诸如上文所公开的处理系统中的任一个)的方法的示例性实施例的流程图600。方法开始(602)并且标识用于改变处理系统的处理来满足至少一个目标的变异(604)。方法将所标识的变异应用于处理系统(606)。方法确定所标识和所应用
的变异的相应效果(608)。方法收敛于所标识和应用的变异中的给定变异,收敛基于所确定的相应效果,给定变异使得能够满足至少一个目标(610)。此后,方法在示例性实施例中结束(612)。
117.图7是在其中可以实施本公开的各种实施例的计算机700的内部结构的示例的框图。计算机700包含系统总线752,其中总线是用于在计算机或数字处理系统的组件之间传送数据的硬件线集合。系统总线752本质上是连接计算机系统的不同元件(例如,处理器、磁盘存储装置、存储器、输入/输出端口、网络端口等)的共享管道(conduit),其使得能够在元件之间传递信息。被耦合到系统总线752的是i/o设备接口754,i/o设备接口754用于将各种输入和输出设备(例如,键盘、鼠标、显示器、打印机、扬声器等)连接到计算机700。网络接口756允许计算机700连接到与网络(例如,全球计算机网络、广域网、局域网等)附接的各种其它设备。存储器758为可以被用于实施本公开的实施例的计算机软件指令760和数据762提供易失性或非易失性存储,其中易失性和非易失性存储器是非暂时性介质的示例。磁盘存储装置764为可以被用于实现本公开的实施例的计算机软件指令760和数据762提供非易失性存储。中央处理器单元766也被耦合到系统总线752并用于计算机指令的执行。
118.如在本文中使用的,术语“引擎”可以个体地或以任何组合指代任何硬件、软件、固件、电子控制组件、处理逻辑和/或处理器设备,包括但不限于:专用集成电路(asic)、现场可编程门阵列(fpga)、电子电路、执行一个或多个软件或固件程序的处理器和存储器、和/或提供所描述的功能的其它适当组件。
119.本文所公开的示例性实施例可以使用计算机程序产品来配置;例如,控件可以被编程在用于实施示例性实施例的软件中。另外的示例性实施例可以包括非暂时性计算机可读介质,非暂时性计算机可读介质包含可以由处理器执行的指令,并且指令在被加载和执行时,使得处理器完成在本文中描述的方法。应当理解,框图和流程图的要素可以诸如经由以上公开的图7的电路系统的一个或多个布置或其等效物、固件、其组合、或将来确定的其它类似实施方式,以软件或硬件方式来实施。
120.另外,本文中描述的框图和流程图的要素可以以任何方式在软件、硬件或固件中进行组合或划分。如果以软件方式实施,则软件可以以能够支持本文中所公开的示例性实施例的任何语言编写。软件可以被存储在任何形式的计算机可读介质中,诸如随机存取存储器(ram)、只读存储器(rom)、紧凑盘只读存储器(cd-rom)等。在操作中,通用或专用处理器或处理核心以本领域公知的方式加载和执行软件。还应当理解,框图和流程图可以包括更多或更少的要素,可以被不同地布置或定向,或者可以被不同地表示。应当理解,实施方式可以指示示出本文所公开的实施例的执行的框图、流程图和/或网络图、以及框图和流程图的数量。
121.本文引用的所有专利、所公开的申请和参考文献的教导内容通过引用整体并入本文。
122.虽然已具体示出和描述了示例性实施例,但是本领域技术人员应当理解,在不脱离由所附权利要求所涵盖的实施例的范围的情况下,可以在形式和细节上进行各种改变。
再多了解一些

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

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

相关文献