一种基于SCC‑DAG的图计算迭代处理方法

    公开(公告)号:CN106776858A

    公开(公告)日:2017-05-31

    申请号:CN201611070021.6

    申请日:2016-11-28

    CPC classification number: G06F16/9024

    Abstract: 本发明公开了一种基于SCC‑DAG的图计算迭代处理方法,包括预处理步骤和计算步骤;具体地,在预处理阶段获取给定的图中的所有SCC并通过各SCC之间的连接构建SCC‑DAG;在计算阶段,按照SCC‑DAG中SCC的拓扑排序依次在SCC‑DAG的各SCC内进行迭代直至所有SCC收敛,输出收敛状态的数据作为相应算法的运行结果;本发明提供的基于SCC‑DAG的图计算迭代处理方法将迭代处理限定在SCC内部,每个SCC内部独立进行迭代操作,当SCC‑DAG内所有的SCC都收敛时,整张图达到收敛状态;该图计算迭代处理方法用很小的预处理开销换取图收敛速度的提高,减少了计算冗余,降低了IO资源开销。

    一种基于任务窃取的任务调度方法及系统

    公开(公告)号:CN107220111B

    公开(公告)日:2019-08-09

    申请号:CN201710290460.6

    申请日:2017-04-28

    Abstract: 本发明公开了一种基于任务窃取的任务调度方法及系统,该方法的实现包括:构造任务依赖图,将依赖节点作为回调函数注册至被依赖节点的回调容器中;为线程池中各线程分配一个无锁双端队列并置空,将根节点按照轮询方式放入各线程的无锁双端队列底部;若线程的无锁双端队列不为空,则从无锁双端队列底部取出节点并执行;若线程的无锁双端队列为空,则从其他线程的无锁双端队列顶部窃取节点,并将窃取的节点压入该线程的无锁双端队列底部,取出窃取的节点进行执行;在所有节点任务执行完成后,将任务依赖图中各节点的入度恢复到原始值,并结束对主线程的阻塞。本发明针对大型任务级并行应用程序,可以有效提高传统任务级并行应用程序的性能。

    一种关于模板库编程约定的检查方法

    公开(公告)号:CN105022653B

    公开(公告)日:2017-12-12

    申请号:CN201510381789.4

    申请日:2015-07-03

    Abstract: 本发明公开了一种关于模板库编程约定的检查方法,属于计算机并行程序设计技术领域。本发明首先将编程约定描述为状态,以及将状态的迁移描述为编程约定中对指定方法的调用;然后将状态实现为类,并在类中编写符合编程约定的方法来供编程人员调用,以保证当编程人员违反编程约定的时候让编译器会停止编译并给出相应提示;预测编程人员可能会出现哪些错误,并在相应的表示状态的类中添加方法,使得当编程人员违反编程约定时能给出相应的提示信息以帮助编程人员检查并修改错误。本发明能够有效提高编程人员编写并行程序的效率。

    一种关于模板库编程约定的检查方法

    公开(公告)号:CN105022653A

    公开(公告)日:2015-11-04

    申请号:CN201510381789.4

    申请日:2015-07-03

    Abstract: 本发明公开了一种关于模板库编程约定的检查方法,属于计算机并行程序设计技术领域。本发明首先将编程约定描述为状态,以及将状态的迁移描述为编程约定中对指定方法的调用;然后将状态实现为类,并在类中编写符合编程约定的方法来供编程人员调用,以保证当编程人员违反编程约定的时候让编译器会停止编译并给出相应提示;预测编程人员可能会出现哪些错误,并在相应的表示状态的类中添加方法,使得当编程人员违反编程约定时能给出相应的提示信息以帮助编程人员检查并修改错误。本发明能够有效提高编程人员编写并行程序的效率。

    一种基于任务窃取的任务调度方法及系统

    公开(公告)号:CN107220111A

    公开(公告)日:2017-09-29

    申请号:CN201710290460.6

    申请日:2017-04-28

    Abstract: 本发明公开了一种基于任务窃取的任务调度方法及系统,该方法的实现包括:构造任务依赖图,将依赖节点作为回调函数注册至被依赖节点的回调容器中;为线程池中各线程分配一个无锁双端队列并置空,将根节点按照轮询方式放入各线程的无锁双端队列底部;若线程的无锁双端队列不为空,则从无锁双端队列底部取出节点并执行;若线程的无锁双端队列为空,则从其他线程的无锁双端队列顶部窃取节点,并将窃取的节点压入该线程的无锁双端队列底部,取出窃取的节点进行执行;在所有节点任务执行完成后,将任务依赖图中各节点的入度恢复到原始值,并结束对主线程的阻塞。本发明针对大型任务级并行应用程序,可以有效提高传统任务级并行应用程序的性能。

Patent Agency Ranking