英特尔至强融核处理器上的异步并行迪杰斯特拉算法
在处理现实世界道路网络的单源最短路径(SSSP)问题时,英特尔至强融核(Xeon Phi)处理器被用于加速计算。由于现实世界道路网络的出度较低,该问题通常存在并行性不足的问题。传统方法如Delta - Stepping会维护一个全局顶点集来监控进入下一个超级步骤的顶点,但在MIC架构上,全局结构的成本相对较高,导致大多数基于MIC架构的先前工作无法超越顺序实现。接下来我们将详细介绍异步并行迪杰斯特拉算法及其相关优化。
1. 异步并行迪杰斯特拉算法及性能评估
为了最小化核心之间的同步开销,我们提出了基于英特尔至强融核处理器的异步并行迪杰斯特拉算法及其各种变体。
1.1 基于锁的异步并行迪杰斯特拉算法
- 算法架构 :该算法由多轮迭代组成,主要包括以下步骤:
- LocalScan(G, pid) :从每个线程维护的堆中选择
NUM_SCAN_PER_ITER个活跃顶点执行Scan(v)操作。如果执行Scan(v)后发现新的可更新顶点v′,若v′属于当前线程,则将其插入本地堆;否则,将其插入相应的pendingstacki。 - LocalUpdate(G, pid) :将本地
pending stack中的所
- LocalScan(G, pid) :从每个线程维护的堆中选择
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



