[发明专利]多核平台下串行程序运行时的自动并行化加速方法有效
申请号: | 201010264074.8 | 申请日: | 2010-08-27 |
公开(公告)号: | CN101916185A | 公开(公告)日: | 2010-12-15 |
发明(设计)人: | 过敏意;杨蓝麒;李阳;陈鹏宇;杨晓鹏;王稳寅;沈耀 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王锡麟;王桂忠 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种计算机技术领域的多核平台下串行程序运行时的自动并行化加速方法,新增可共享读取的程序计数器寄存器组,并在操作系统中建立自动并行加速线程,选择一个线程作为加速的对象,然后实时地分析此线程将要执行到的指令代码,并对其中执行循环的指令代码进行修改,达到使被加速线程自动并行执行的目的。本发明在运行时对程序进行自动并行,不用对现有程序进行预先的处理,整个过程由操作系统完成,对于用户完全透明。本发明能够在有空闲的CPU核时自动利用空闲资源对程序进行并行加速,免去等待预先处理程序的时间,也省去用户手动转换程序的麻烦。 | ||
搜索关键词: | 多核 平台 串行 程序 运行 自动 并行 加速 方法 | ||
【主权项】:
一种多核平台下串行程序运行时的自动并行化加速方法,其特征在于,包括以下步骤:第一步,建立一个共享读取的程序计数寄存器组SPC,该寄存器组中寄存器的个数与CPU核的数目相同,每个寄存器分别与对应的CPU核相连以实时地储存该CPU核的程序计数器值;第二步,当存在空闲的CPU核时,进行加速对象选择处理,得到自动并行加速线程的加速对象为线程P;第三步,当线程P存在已分析指令集合Sp时,载入该集合Sp;否则,为线程P新建一个集合Sp,对线程P所在的CPU核进行读取处理,得到线程P所在的CPU核当前正在读取的指令Ic,并由Ic追踪线程P下一条将要执行指令的地址,将追踪分析的指令代码和跳转关系加入集合Sp中;第四步,采用第三步的方法,得到线程P将要执行的所有指令,当集合Sp中每次加入条件转移指令后且集合Sp中存在循环代码时,进行进度校验和替换处理;第五步,当线程P被调度出CPU核时,系统以中断方式将该事件连同当时的SPCp值发送给自动并行加速线程,当自动并行加速线程正在替换处理中时,则使用此时的SPCp值作为读取Ic的依据,继续执行替换处理直到退出该步骤;否则,自动并行加速线程根据当时的SPCp值读取Ic,清空或更新集合Sp,其结果等待线程P被调入时继续使用;第六步,返回第二步,开始处理新的需要加速的线程。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010264074.8/,转载请声明来源钻瓜专利网。
- 上一篇:通信装置
- 下一篇:移动通信终端和控制多径干扰去除装置的起动的方法