39、英特尔至强融核处理器上的异步并行迪杰斯特拉算法

英特尔至强融核处理器上的异步并行迪杰斯特拉算法

1. 异步并行迪杰斯特拉算法及性能评估

为了最小化核心之间的同步开销,提出了英特尔至强融核(Intel Xeon Phi)上的异步并行迪杰斯特拉算法及其各种变体。

1.1 基于锁的异步并行迪杰斯特拉算法

算法架构

该算法由多轮迭代组成,主要包括以下步骤:
1. LocalScan(G, pid) :从每个线程维护的堆中选择 NUM_SCAN_PER_ITER 个活跃顶点执行 Scan(v) 操作。若执行 Scan(v) 后发现新的可更新顶点 v′ ,若 v′ 属于当前线程,则插入本地堆;否则插入相应的待处理栈 pendingstacki
2. LocalUpdate(G, pid) :将本地待处理栈中的所有顶点移动到本地堆。
3. CheckForTermination(G, pid) :终止条件是所有本地堆和待处理栈为空。

graph LR
    A[开始] --> B[LocalScan]
    B --> C[LocalUpdate]
    C --> D{CheckForTermination}
    D -- 未结束 --> B
    D -- 结束 --&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值