一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法技术

技术编号:14865745 阅读:82 留言:0更新日期:2017-03-20 12:09
本发明专利技术公开了一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,借助指令集模拟器的全仿真环境获取目标程序执行阶段的微架构无关参数,再利用SOM和Kmeans算法提取出输入数据中的特征点,最后通过BP神经网络拟合微架构无关参数与稳态平均吞吐率的关系,训练出精度较高的模型。模型训练完成后,通过模拟器获得程序的微架构无关信息,导入到训练好的神经网络中,即可快速准确地预测实际稳态平均吞吐率值。本发明专利技术采用人工神经网络,极大地提高了乱序处理器稳态下平均吞吐率的预测精度和速度。

【技术实现步骤摘要】

本专利技术涉及一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,属于软硬件协同设计技术。
技术介绍
基于硬件行为建模的硅前架构评估及设计空间探索可提供芯片设计指导意见,降低芯片设计迭代周期。在特定处理器和指定程序运行的情况下,乱序处理器稳态下的平均吞吐率表征了没有缺失事件发生的情况下,处理器性能的极限,同时也在一定程度上反映了应用程序的设计与硬件是否适配。同时,乱序处理器稳态下的平均吞吐率有助于后续的乱序处理器整体性能的分析建模。目前对乱序处理器稳态下平均吞吐率的认识经历过两个阶段,第一个阶段是直接将前端指令发射级的宽度作为乱序处理器稳态下的平均吞吐率,该方法假设:当乱序处理器没有缺失事件发生时,处理器每个时钟内能够处理与前端指令发射级宽度等量的指令。这种方法忽略了对指令依赖、功能单元数量和种类、指令延迟、串行指令分布等因素的考虑,是一种很粗粒度的假设;第二个阶段认为乱序处理器稳态下平均吞吐率与前端指令发射级宽度、关键路径长度、功能单元数目和种类相关,并认为平均吞吐率只受限于影响最大的一个因素。该方法相比于第一种方法,考虑了更多影响平均吞吐率的因素,但局限于单一的影响因素,没有能够考虑到各个要素之间的耦合关系。乱序处理器稳态下的平均吞吐率是指在没有缺失事件发生的情况下,平均每个时钟发射的指令数目。在指令并行度高且处理器后端功能单元充足的条件下,稳态下平均吞吐率等于前端指令发射级的宽度D,该参数也是理想状态下的平均吞吐率。但当指令间存在较强的依赖关系时,比如,后一条指令的执行所需要的数据由前一条指令的执行结果提供,则平均每个时钟能够发射的指令数目减少,且随着依赖链越长,越多,稳态下平均吞吐率就会越低。当处理器后端功能单元数目及种类不充足时,即使指令流本身有较高的并行度,硬件单元受限于数目、种类以及执行延迟的影响,也无法保证最高的平均吞吐率D。另外值得注意的是,安卓系统中引入的串行指令DSB、DMB、ISB,也限制了稳态下平均吞吐率,串行指令要求在该指令之前的指令或者数据访问必须全部完成,才能继续执行后续的指令,那么即使在指令流本身并行度高且处理器后端功能单元充足的条件下,串行指令的分布也很大程度上影响了稳态下平均吞吐率。最后值得注意的是,稳态下平均吞吐率的大小与各个影响因素之间并不是简单的单一作用关系,即各个因素之间的耦合效应也在影响着稳态下平均吞吐率的大小,这无疑加大了机理角度分析的难度。同时由于全仿真时间开销过大,所以本专利技术针对上述问题提出了一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,用于快速准确地预测稳态下平均吞吐率
技术实现思路
专利技术目的:为了克服现有技术中存在的不足,本专利技术提供一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,能够根据微架构无关参数快速准确地预测乱序处理器稳态下平均吞吐率,且预测方法精度高、速度快。技术方案:为实现上述目的,本专利技术采用的技术方案为:一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,包括如下步骤:(1)将指令集模拟器仿真时线程号切换的时间点作为片段分割的间断点,从而将整个目标程序划分为若干片段,对所有片段按线程号进行划分并排序,统计每个片段包含的时钟数,删除时钟数小于阈值(比如1000)的片段;(2)对目标线程中保留下来的片段,利用指令集模拟器获取每个片段的相关微架构无关参数,所述微架构无关参数包括动态指令流混合比(浮点、定点、SIMD、Load/Store指令的数目等)、关键路径长度(针对处理器后端设计的不同,统计相应的关键路径长度分布,本专利统计关键路径长度为1到40的数目分布)、串行化指令、前端发射指令速率(针对处理器前端设计的不同,统计相应的发射指令数目分布,本专利统计发射指令数目为0到4的数目分布)和目标线程的运行总时间;(3)首先,考虑BP神经网络对输入数据的要求(动态指令流混合比、关键路径长度分布、串行化指令),对每个片段的相关微架构无关参数进行预处理,形成对应片段的相关微架构无关参数向量;然后,通过主成分分析(PCA)对每个相关微架构无关参数向量进行降维、去噪处理,形成对应片段的MicaData数据集(微结构无关数据集)。(4)对目标线程中保留下来的片段,首先,通过SOM(SelfOrganizingFeatureMaps,自组织映射网络)将所有MicaData数据集分成N个大类(比如200个大类);然后,通过k-均值聚类(Kmeans聚类)算法将第n个大类分成Mn个小类(一般每个小类的数目是大类里面片断数目的15%),1≤n≤N;选取每个小类中离中心点距离最近的点作为该小类的特征点;步骤(3)和步骤(4)的处理,使得在保留原始数据主要信息的前提下减少了BP神经网络模型训练的输入数据并降低了BP神经网络模型训练所需的时间;(5)对目标线程中保留下来的片段,将所有特征点作为BP神经网络的输入,BP神经网络的输出为目标线程的稳态平均吞吐率,对BP神经网络的输入和输出进行拟合,通过调节BP神经网络的迭代次数和训练精度,训练得到目标线程的BP神经网络模型;(6)BP神经网络模型训练完成后,通过指令集模拟器获得其他待预测线程的微架构无关参数信息,导入到训练好的BP神经网络模型中,即可快速准确地预测实际稳态平均吞吐率值;其他待预测线程包括目标程序中的线程,或者其他应用程序中的线程。具体的,所述步骤(5)中,BP神经网络有三个隐含层,第一隐含层采用30个神经元,第二隐含层采用15个神经元,第三隐含层采用15个神经元;输入层和第一隐含层之间、第一隐含层和第二隐含层之间采用logsig传递函数,第二隐含层和第三隐含层之间、第三隐含层和输出层之间采用purelin传递函数,各层结点之间的权重值均使用trainscg(量化共轭梯度法)进行调节,训练方法采用LM(LevenbergMarquard)算法。有益效果:与现有的稳态平均吞吐率的预测方法相比,本专利技术提供的基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,覆盖了影响稳态平均吞吐率的多个微架构无关参数,其中包括:动态指令混合比,关键路径长度分布,串行指令分布;此外,本专利技术采用神经网络对稳态平均吞吐率进行预测,能够充分地考虑到微架构无关参数之间的耦合性,并且通过训练好的模型能够准确快速地预测到稳态平均吞吐率的值。附图说明图1为采用本专利技术训练Ann模型的具体流程图;图2为神经网络模型训练、测试的输入与目标输出框图;图3为神经网络层级图。...
一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法

【技术保护点】
一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,其特征在于:包括如下步骤:(1)将指令集模拟器仿真时线程号切换的时间点作为片段分割的间断点,从而将整个目标程序划分为若干片段,对所有片段按线程号进行划分并排序,统计每个片段包含的时钟数,删除时钟数小于阈值的片段;(2)对目标线程中保留下来的片段,利用指令集模拟器获取每个片段的相关微架构无关参数,所述微架构无关参数包括动态指令流混合比、关键路径长度、串行化指令、前端指令发射速率和目标线程的运行总时间;(3)首先,考虑BP神经网络对输入数据的要求,对每个片段的相关微架构无关参数进行预处理,形成对应片段的相关微架构无关参数向量;然后,通过主成分分析对每个相关微架构无关参数向量进行降维、去噪处理,形成对应片段的MicaData数据集;(4)对目标线程中保留下来的片段,首先,通过SOM将所有MicaData数据集分成N个大类;然后,通过k‑均值聚类算法将第n个大类分成Mn个小类,1≤n≤N;选取每个小类中离中心点距离最近的点作为该小类的特征点;(5)对目标线程中保留下来的片段,将所有特征点作为BP神经网络的输入,BP神经网络的输出为目标线程的稳态平均吞吐率,对BP神经网络的输入和输出进行拟合,训练得到目标线程的BP神经网络模型;(6)BP神经网络模型训练完成后,通过指令集模拟器获得其他待预测线程的微架构无关参数信息,导入到训练好的BP神经网络模型中,即可快速准确地预测实际稳态平均吞吐率值。...

【技术特征摘要】
1.一种基于人工神经网络的乱序处理器稳态下平均吞吐率的预测方法,其特征在于:包括如下步骤:
(1)将指令集模拟器仿真时线程号切换的时间点作为片段分割的间断点,从而将整个目标程序划分为若干片段,对所有片段按线程号进行划分并排序,统计每个片段包含的时钟数,删除时钟数小于阈值的片段;
(2)对目标线程中保留下来的片段,利用指令集模拟器获取每个片段的相关微架构无关参数,所述微架构无关参数包括动态指令流混合比、关键路径长度、串行化指令、前端指令发射速率和目标线程的运行总时间;
(3)首先,考虑BP神经网络对输入数据的要求,对每个片段的相关微架构无关参数进行预处理,形成对应片段的相关微架构无关参数向量;然后,通过主成分分析对每个相关微架构无关参数向量进行降维、去噪处理,形成对应片段的MicaData数据集;
(4)对目标线程中保留下来的片段,首先,通过SOM将所有MicaData数据集分成N个大类;然后,通过k-均值聚类算法将第n个大类分成Mn个小类,1≤n≤N;选取每个小类中离中心点距离最近的点作为该小类的特征点;
(5)对目标线程中保留下来的片段,将所有特征点作为BP神经网络的输入,BP神经网络的输出为目标线程的稳态平均吞吐率...

【专利技术属性】
技术研发人员:张阳王伟蒋网扣王芹赵煜健凌明
申请(专利权)人:东南大学—无锡集成电路技术研究所
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1