发明公开
- 专利标题: 一种基于任务窃取的任务调度方法及系统
- 专利标题(英): Task scheduling method and system based on task stealing
-
申请号: CN201710290460.6申请日: 2017-04-28
-
公开(公告)号: CN107220111A公开(公告)日: 2017-09-29
- 发明人: 金海 , 李陈希 , 廖小飞 , 石翔
- 申请人: 华中科技大学
- 申请人地址: 湖北省武汉市洪山区珞喻路1037号
- 专利权人: 华中科技大学
- 当前专利权人: 华中科技大学
- 当前专利权人地址: 湖北省武汉市洪山区珞喻路1037号
- 代理机构: 华中科技大学专利中心
- 代理商 李智; 曹葆青
- 主分类号: G06F9/48
- IPC分类号: G06F9/48 ; G06F9/50
摘要:
本发明公开了一种基于任务窃取的任务调度方法及系统,该方法的实现包括:构造任务依赖图,将依赖节点作为回调函数注册至被依赖节点的回调容器中;为线程池中各线程分配一个无锁双端队列并置空,将根节点按照轮询方式放入各线程的无锁双端队列底部;若线程的无锁双端队列不为空,则从无锁双端队列底部取出节点并执行;若线程的无锁双端队列为空,则从其他线程的无锁双端队列顶部窃取节点,并将窃取的节点压入该线程的无锁双端队列底部,取出窃取的节点进行执行;在所有节点任务执行完成后,将任务依赖图中各节点的入度恢复到原始值,并结束对主线程的阻塞。本发明针对大型任务级并行应用程序,可以有效提高传统任务级并行应用程序的性能。
公开/授权文献
- CN107220111B 一种基于任务窃取的任务调度方法及系统 公开/授权日:2019-08-09