[发明专利]一种用于在多核平台下优化关键临界区的方法无效
申请号: | 201310681619.9 | 申请日: | 2013-12-13 |
公开(公告)号: | CN103699363A | 公开(公告)日: | 2014-04-02 |
发明(设计)人: | 廖小飞;金海;丁海淼;章勤;范学鹏 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/48 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用于在多核平台下优化关键临界区的方法,包括:工作线程在主程序入口创建全局锁信息管理列表,用于存储锁和其对应的任务队列之间的关联关系,工作线程接收并执行并行任务,根据并行任务对锁发出加锁请求,并判断加锁是否成功,如果成功则工作线程在内存中为新的任务队列分配空间,以获取该任务队列的起始地址,工作线程将锁与获取的任务队列的起始地址之间的关联关系存储在全局锁信息管理列表中,工作线程在全局锁信息管理列表中存储该新的任务队列初始化完毕的信息,工作线程进入临界区执行并行任务,并判断执行并行任务期间是否有新的并行子任务生成。本发明能够解决现有多核平台下临界区过大导致程序性能降低的技术问题。 | ||
搜索关键词: | 一种 用于 多核 平台 优化 关键 临界 方法 | ||
【主权项】:
一种用于在多核平台下优化关键临界区的方法,其特征在于,包括以下步骤:(1)工作线程在主程序入口创建全局锁信息管理列表,用于存储锁和其对应的任务队列之间的关联关系;(2)工作线程接收并执行并行任务,根据并行任务对锁发出加锁请求,并判断加锁是否成功,如果成功则转入步骤(3),如果失败则转入步骤(10);(3)工作线程在内存中为新的任务队列分配空间,以获取该任务队列的起始地址;(4)工作线程将锁与步骤(3)中获取的任务队列的起始地址之间的关联关系存储在全局锁信息管理列表中;(5)工作线程在全局锁信息管理列表中存储该新的任务队列初始化完毕的信息;(6)工作线程进入临界区执行并行任务,并判断执行并行任务期间是否有新的并行子任务生成,如果有则转入步骤(7),否则过程结束;(7)工作线程查询全局锁信息管理列表,并将新的并行子任务存储在锁关联的任务队列中;(8)工作线程判断是否所有的并行子任务均已生成完毕,如果是则转入步骤(9),否则返回步骤(6);(9)工作线程依次从锁关联的任务队列中获取并行子任务并执行该并行子任务,直至所有并行子任务都处理完毕为止,然后过程结束;(10)工作线程查询全局锁信息管理列表,以判断锁是否与获取的任务队列的起始地址之间存在关联关系,若存储有,则转入步骤(11),否则工作线程暂停工作0.5秒至1秒后,重复步骤(10);(11)工作线程查询锁关联的任务队列,并判断该任务队列是否不为 空,若不为空则转入步骤(12),否则过程结束;(12)工作线程依次从锁关联的任务队列中获取并行子任务并执行该并行子任务,直至所有并行子任务都处理完毕为止,然后过程结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310681619.9/,转载请声明来源钻瓜专利网。