当前位置: 首页 > 专利查询>浙江大学专利>正文

基于机器学习的预取能效优化自适应装置及方法制造方法及图纸

技术编号:13747610 阅读:74 留言:0更新日期:2016-09-24 04:32
本发明专利技术公开了一种基于机器学习的预取能效优化自适应装置及方法,本发明专利技术的结合机器学习的动态调整预取配置的方法,能够根据应用的特征最大化预取能效。具体如下:a、提取程序特征:通过硬件计数器提取应用程序在运行时的存储访问行为及预取相关行为信息,作为程序特征观测量;b、构建训练数据集:根据程序特征提取的结果,选择与预取能效最相关的特征及达到最大能效时预取的配置,作为一个有效数据;c、训练学习模型:给定程序的特征观测量及对应的最优预取配置作为模型的输入,采用机器学习的算法训练学习模型;d、动态预测预取配置:学习模型根据新的应用程序运行时收集程序特征观测量对程序进行分类,预测预取的配置最大化能效。

【技术实现步骤摘要】

本专利技术涉及计算机存储系统的性能优化领域,结合机器学习方法优化预取的能效。
技术介绍
硬件数据预取是提升系统性能的有效方法之一。当前处理器系统多采用一种或多种数据预取的方法来优化存储系统。由于预取效果与应用程序及处理器结构密切相关,而且同一应用程序在运行时的不同阶段的运行特性表现不同,因此单一的预取引擎很难适合所有的应用程序。另外,激进的过度预取会污染高速缓存、增加带宽需求,从而导致性能降低与功耗增加。为了应对上述问题,很多研究人员采用多种预取方式,如多模式自调预取[1],能够识别流模式和链式模式数据流,提升不同应用运行时的性能。但是当存在多种预取配置时,如何选择合适的预取是存在的挑战之一。当前主要是通过经验来调整,预取的准确率并不是很高,而且实验发现很多预取配置性能接近,不需要激进的预取。如何设计中折中预取精度与硬件开销,提高预取能效是未来处理器系统亟需解决的核心技术。机器学习系统自动地从数据中学习程序,挖掘出数据中的映射关系,能够很好的对目标预测分析,解决非线性问题,已经被广泛地应用于计算机科学等领域。在体系结构的研究中,很多研究人员借助机器学习的方法来加快设计空间的探索、资源分配、调度、负载平衡、分支预测,以及根据程序的特性预测预取配置和缩小预取引擎的设计空间。研究人员针对IBM POWER8处理器[2](25比特配置表示)的大型预取配置空间结合线性判别分析的方法缩小预取搜索空间(从225缩小到5种),并实现动态预测预取的配置。主要考虑的问题是搜索空间的缩小,但是未考虑到功耗问题,实际上有很多种预取配置的性能接近但是功耗不一样,在性能优势接近时应优先选择功耗较低的配置。针对IntelCore2Quad Q6600中的多种预取配置,研究人员提出结合机器学习方法最大化预取效率的方法[3],主要对程序的特征详细分析,提取与预取性能最相关的特征,并量化表示不同程序间的特征,从而提高预测的准确性,分析三种不同的机器学习方法(决策树、logistic回归和欧氏距离)来预测预取的性能提升,离线分析,未实现动态调整,也未考虑能效问题。上文中涉及的文献如下:[1]、多模式数据预取装置及其管理方法。专利技术人:刘鹏,刘勇,辛愿,专利号ZL201310134803.1申请日:2013-04-18,授权公告日:2016-03-02。[2]、Li Minghua,Chen Guancheng,Wang Qijun,Lin Yonghua,Peter Hofsee,Per Stenstrom,Dian Zhou,PATer:A Hardware Prefetching Automatic Tuner on IBM POWER8Processor.IEEE Computer Architecture Letters,2015:DOI 10.1109/LCA.2015.2442972(Li Minghua,Chen Guancheng,Wang Qijun,Lin Yonghua,Peter Hofsee,Per Stenstrom,Dian Zhou.PATer:IBM POWER8处理器上的一种硬件预取自调,IEEE Computer Architecture Letters期刊,2015)。[3]、Saami Rahmana,Martin Burtscher,Ziliang Zong,Apa Qasem.Maximizing Hardware Prefetch Effectiveness with Machine Learning.IEEE 17th International Conference on High Performance Computing and Communications(HPCC),2015(Saami Rahmana,Martin Burtscher,Ziliang Zong,Apa Qasem,基于机器学习的最大化硬件预取效率,第十七届IEEE高性能计算和通信国际会议,2015)。
技术实现思路
本专利技术要解决的技术问题是提供一种基于机器学习的预取能效优化自适应装置及相应的适应法,本专利技术处理器系统能够根据应用的特征,自动优化预取与结构的适应性,实现能效的优化。为了解决上述技术问题,本专利技术提供一种基于机器学习的预取能效优化自适应装置,包括学习模块部分和基本处理器这两大组件;所述基本处理器包括处理器核、一级高速缓存单元、二级高速缓存单元、下一级存储、一级数据预取装置、二级数据预取装置、硬件计数器统计模块、程序特征片段检测模块、特殊目的寄存器;所述学习模块部分包括特征提取模块(9)、学习模型。所述信号传递关系如下:处理器核发起访问高速缓存请求信息给一级高速缓存单元,一级高速缓存单元将数据信息返回给处理器核;一级高速缓存单元将收到的访问地址信息传递给一级数据预取装置,一级数据预取装置返回预取数据给一级高速缓存单元;一级高速缓存单元将收到的访问地址信息在一级高速缓存缺失时传递给二级高速缓存单元,二级高速缓存单元将取到的数据返回给一级高速缓存单元;二级高速缓存单将收到的访问地址信息传递给二级数据预取装置,二级数据预取装置返回预取数据给二级高速缓存单元;二级高速缓存单元将收到的访问地址在二级高速缓存单元缺失时传递给下一级存储,下一级存储将取到的数据返回给二级高速缓存单元;处理器核、一级高速缓存单元、二级高速缓存单元、一级数据预取装置、二级数据预取装置将访问各单元的访存信息包括缺失次数、替换次数、写回次数、预取数、预取准确次数、
预取污染次数等传递给硬件计数器统计模块;硬件计数器统计模块将缺失次数、预取数、预取准确数、预取污染次数传递给程序特征片段检测模块;硬件计数器统计模块将获得的数据传递给学习模块部分中的特征提取模块;特征提取模块将提取的特征经过计算传递给学习模型;学习模型将经过已经学习好的算法处理得到的分类结果传递给特殊目的控制器;特殊目的控制器将分类结果传递给基本处理器中的一级和二级数据预取装置。本专利技术还同时提供了一种基于机器学习的预取能效优化自适应方法;包括以下步骤:1)、离线训练学习模型:通过收集不同应用程序在不同预取配置下运行收集到的硬件计数器信息及最佳的预取配置对机器学习算法实现的学习模型训练,该步骤又包括以下步骤:1.1)提取程序特征:处理器核、一级高速缓存单元及二级高速缓存单元的访问信息传递给硬件计数器统计模块,特征提取模块从硬件计数器统计模块提取访问高速缓存信息作为应用程序在运行时的存储访问行为及预取相关行为信息,作为程序特征观测量;1.2)构建训练数据集:根据程序特征提取的结果,选择与预取能效最相关的特征及达到最大能效时预取的配置,作为一个有效数据;1.3)训练学习模型:给定程序的特征观测量及对应的最优预取配置作为模型的输入,采用机器学习的算法训练学习模型;2)、动态预测预取配置:学习模型根据新的应用程序运行时处理器核、一级高速缓存单元及二级高速缓存单元传递给硬件计数器统计模块的访存信息经特征提取模块处理后传递给学习模型,学习模型处理后将分类结果传递给特殊目的寄存器,特殊目的寄存器控制一级数据预取装置和二级数据预取装置的预取距离和深度,从而实时预测预取的配置最大化能效本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/CN105955709.html" title="基于机器学习的预取能效优化自适应装置及方法原文来自X技术">基于机器学习的预取能效优化自适应装置及方法</a>

【技术保护点】
基于机器学习的预取能效优化自适应装置,其特征是:包括学习模块部分(12)和基本处理器(13)这两大组件;所述基本处理器(13)包括处理器核(1)、一级高速缓存单元(2)、二级高速缓存单元(3)、下一级存储(4)、一级数据预取装置(5)、二级数据预取装置(6)、硬件计数器统计模块(7)、程序特征片段检测模块(8)、特殊目的寄存器(11);所述学习模块部分(12)包括特征提取模块(9)、学习模型(10)。

【技术特征摘要】
1.基于机器学习的预取能效优化自适应装置,其特征是:包括学习模块部分(12)和基本处理器(13)这两大组件;所述基本处理器(13)包括处理器核(1)、一级高速缓存单元(2)、二级高速缓存单元(3)、下一级存储(4)、一级数据预取装置(5)、二级数据预取装置(6)、硬件计数器统计模块(7)、程序特征片段检测模块(8)、特殊目的寄存器(11);所述学习模块部分(12)包括特征提取模块(9)、学习模型(10)。2.根据权利要求1所述的基于机器学习的预取能效优化自适应装置,其特征是:处理器核(1)发起访问高速缓存请求信息给一级高速缓存单元(2),一级高速缓存单元(2)将数据信息返回给处理器核(1);一级高速缓存单元(2)将收到的访问地址信息传递给一级数据预取装置(5),一级数据预取装置(5)返回预取数据给一级高速缓存单元(2);一级高速缓存单元(2)将收到的访问地址信息在一级高速缓存(2)缺失时传递给二级高速缓存单元(3),二级高速缓存单元(3)将取到的数据返回给一级高速缓存单元(2);二级高速缓存单元(3)将收到的访问地址信息传递给二级数据预取装置(6),二级数据预取装置(6)返回预取数据给二级高速缓存单元(3);二级高速缓存单元(3)将收到的访问地址在二级高速缓存单元缺失时传递给下一级存储(4),下一级存储将取到的数据返回给二级高速缓存单元(3);处理器核(1)、一级高速缓存单元(2)、二级高速缓存单元(3)、一级数据预取装置(5)、二级数据预取装置(6)将访问各单元的访存信息传递给硬件计数器统计模块(7),所述访存信息包括缺失次数、替换次数、写回次数、预取数、预取准确次数、预取污染次数;硬件计数器统计模块(7)将缺失次数、预取数、预取准确数、预取污染次数传递给程序特征片段检测模块(8);硬件计数器统计模块(7)将获得的数据传递给学习模块部分(12)中的特征提取模块(9);特征提取模块(9)将提取的特征经过计算传递给学习模型(10);学习模型(10)将经过已经学习好的算法处理得到的分类结果传递给特殊目的控制器(11);特殊目的控制器(11)将分类结果传递给基本处理器(13)中的一级数据预取装置(5)和二级数据预取装置(6)。3.基于机器学习的预取能效优化自适应方法,其特征是包括以下步骤:1)、离线训练学习模型:通过收集不同应用程序在不同预取配置下运行收集到的硬件计数器信息及最佳的预取配置对机器学习算法实现的学习模型训练,该步骤具体包括以下步骤:1.1)提取程序特征:处理器核(1)、一级高速缓存单元(2)及二级高速缓存单元(3)
\t的访问信息传递给硬件计数器统计模块(7),特征提取模块(9)从硬件计数器统计模块(7)提取访问高速缓存信息作为应用程序在运行时的存储访问行为及预取相关行为信息,作为程序特征观测量;1.2)构建训练数据集:根据程序特征提取的结果,选择与预取能效最相关的特征及达到最大能效时预取的配置,作为一个有效数据;1.3)训练学习模型:给定程序的特征观测量及对应的最优预取配置作为模型的输入,采用机器学习的算法训练学习模型(10);2)、动态预测预取配置:学习模型(10)根据新的应用程序运行时处理器核(1)、一级高速缓存单元(2)及二级高速缓存单元(3)传递给硬件计数器统计模块(7)的访存信息经特征提取模块(9)处理后传递给学习模型(10),学习模型(10)处理后将分类结果传递给特殊目的寄存器(11),特殊目的寄存器(11)控制一级数据预取装置(5...

【专利技术属性】
技术研发人员:刘鹏周英
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

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

1