[发明专利]一种用于异构众核系统下的应用程序线程数动态调整方法有效

专利信息
申请号: 201510090555.4 申请日: 2015-02-27
公开(公告)号: CN104657219B 公开(公告)日: 2017-10-20
发明(设计)人: 董小社;巨涛;朱正东;李亮;白秀秀;吴树森;魏晓林 申请(专利权)人: 西安交通大学
主分类号: G06F9/50 分类号: G06F9/50
代理公司: 西安通大专利代理有限责任公司61200 代理人: 陆万寿
地址: 710049 *** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开了一种用于异构众核系统下的应用程序线程数动态调整方法,该方法以异构众核硬件架构特征和程序运行时动态阶段性变化的特性为基础,通过采集反映程序性能变化的系统级性能计数器的状态信息,利用预测模型实时估计出最优的线程数,以此为指导动态的对应用程序的线程数进行调整。为保证合理的利用异构众核系统的计算资源来提高程序计算性能的同时降低系统能耗提供了一个有效的解决方法。
搜索关键词: 一种 用于 异构众核 系统 应用程序 线程 动态 调整 方法
【主权项】:
一种用于异构众核系统下的应用程序线程数动态调整方法,其特征在于,包括如下步骤:1)异构系统主机端主进程将程序循环部分代码分派到异构系统的协处理器上运行,通过系统硬件性能记数器获取程序在不同的线程数运行情况下的IPS1和IPSn的值,其中IPS1为单个线程运行时程序每秒钟所处理的指令数,IPSn为n个线程运行时程序每秒钟所处理的指令数;2)将收集到的状态信息IPS1和不同线程数情况下的IPSn值返回到CPU主机端;3)CPU主机端根据以下公式计算多线程运行时相对于单个线程运行时的相对周转时间fn:fn=TTnTT1=1IPSn*SIP1IPS1*SIP=IPS1IPSn---(1)]]>公式(1)中TTn和TT1分别表示多线程运行时程序的执行时间和单线程运行时的程序执行时间,SIP为程序总的指令数;4)根据公式(1)计算得到多组(fn,n)值,利用最小二乘法,通过求解以下方程组:α*Σn=1N(n-1)2+β*Σn=1N(n2-n2-1n-1)=Σn=1N[n2-(fn+1)*n+fn]α*Σn=1N(n2-1)(n-1)n+β*Σn=1N(n2-1)2n2=Σn=1N(n2-n2-1n*fn-1)]]>计算出最优线程数预测模型中的系数α,β的值,其中α表示所处理任务中的串行比例系数、β表示并行任务比例系统、γ表示额外开销对性能的影响因子;5)根据最优线程数预测模型:n=βγ=β1-α-β---(2)]]>计算最优线程数预测值n;6)将步骤4)中计算出的α和β的值代入公式(2)计算出最优线程数预测值n,将应用程序的线程数设为最优线程数n后重新在协处理器端运行应用程序;同时以最优线程数为标准将空闲的处理核及处理核内部的硬件线程关闭或置于非活动状态;7)程序在协处理器端运行的过程中,在一定的时间间隔内对程序的运行状态信息采集一次,并对程序的运行状态进行检测;如果检测到程序发生阶段性变化,则转到步骤2);如果程序在协处理器端运行过程中没有检测到阶段性变化,则继续运行程序,直到程序运行结束;8)将协处理器端的运行结果返回给主机端,主机端继续执行整个应用程序的后继部分,遇到有循环部分则继续分派到协处理器端执行,即转到步骤1);9)不断的迭代直到整个应用程序执行完成,从而实现了在应用程序运行的过程中动态的对线程数进行调整。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510090555.4/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top