[发明专利]一种基于过程重要度的线程划分方法有效
申请号: | 201910357150.0 | 申请日: | 2019-04-29 |
公开(公告)号: | CN110069347B | 公开(公告)日: | 2022-10-25 |
发明(设计)人: | 李玉祥;张志勇;张丽丽;牛丹梅;向菲;赵长伟;王剑 | 申请(专利权)人: | 河南科技大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F11/34 |
代理公司: | 洛阳公信知识产权事务所(普通合伙) 41120 | 代理人: | 宋晨炜 |
地址: | 471000 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 过程 重要 线程 划分 方法 | ||
1.一种基于过程重要度的线程划分方法,其特征在于:包括以下步骤:
步骤1、生成过程初始划分方案及计算过程重要度,具体包括:
步骤1.1、将基准程序测试集作为待划分程序集;
步骤1.2、比较基于KNN的线程划分方法和基于机器学习的多核流并行划分方法,选择出对基准程序测试集进行线程划分取得最优性能的划分方法;
步骤1.3、利用步骤1.2的选择的最优性能的划分方法对待划分程序集中一个程序实施自动线程划分,生成程序划分方案,作为该程序中所有过程的初始划分方案;
步骤1.4、利用程序剖析器统计程序过程特征,建立过程重要度模型,计算出过程的重要度;
步骤2、结合过程初始划分方案和过程的重要度,生成过程最佳划分方案,具体包括:
步骤2.1、设定过程的解为过程的划分方案,构建出划分方案的解空间;
步骤2.2、由过程的重要度设计出手工调优频率和手工调优步长的计算方法,约简解空间;
所述的手工调优频率和手工调优步长的计算方法为:待划分程序中所有过程的重要度按照从大到小进行排序,依据麦克劳林公式,对排序的所有过程设定手工调优系数,即{1/n!|},N为大于1的自然数,设定过程的手工调优频率为该过程手工调优系数和调优基数(n!)的乘积;调优步长的设置采用先大后小的策略,开始以线程划分的标志位sp点和cqip点之间指令条数的一半为步长,逐步设置步长为上次步长的一半,直至步长等于1;
步骤2.3、建立和遍历过程调用树,在过程初始划分方案基础上,根据手工调优频率和手工调优步长,在解空间中进行搜索,找出过程的可能解;
步骤2.4、根据性能评估模型评估的结果,在可能解中找出最优解,即最佳划分方案;
所述的性能评估模型的建立方法是:
S1、结合输入程序在运行的剖析信息和程序的推测控制流图SpCFG,构建程序和过程的边代表程序分支概率WCFG;
S2、基推测控制流图于SpCFG和边代表程序分支概率WCFG的分析,计算程序和过程的串行执行时间和推测并行时间;
S3、根据计算的程序和过程的串行执行时间和并行执行时间,依据阿姆达尔定律计算程序和过程的加速比值。
2.如权利要求1所述的一种基于过程重要度的线程划分方法,其特征在于:所述的基准程序测试集为Olden基准测试集和/或SPEC2017基准测试集。
3.如权利要求1所述的一种基于过程重要度的线程划分方法,其特征在于:对过程调用树采用自底向上的遍历顺序,同层之间采用随机顺序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南科技大学,未经河南科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910357150.0/1.html,转载请声明来源钻瓜专利网。