32、多核架构下的并行图划分技术解析

多核架构下的并行图划分技术解析

1. 核心概念:无定形数据并行性

无定形数据并行性是一种并行处理方式,在给定一组活动节点以及节点顺序的情况下,它允许同时处理活动节点,但需遵循邻域和顺序约束。与传统数据并行性相比,它具有以下特点:
- 并发操作可能相互冲突。
- 活动可以动态创建。
- 活动可能修改底层数据结构。

对于有序活动元素,活动的提交顺序必须与元素的顺序一致。

2. Galois系统:并行处理的利器

Galois系统是一套用于Java的数据结构和运行时系统,旨在让程序能够利用无定形数据并行性。

2.1 数据结构库

该系统提供了一系列并发实现的数据结构库,如常用的图、映射和集合等,适用于不规则算法。数据结构的实现需满足以下三个属性:
1. 数据结构上的操作必须表现为原子执行。
2. 应强制执行适当的邻域约束。
3. 在发生冲突时应支持回滚操作。

2.2 执行模型

数据结构存储在共享内存中,活动节点由多个线程处理。空闲线程会随机选择一个活动节点,并对其应用操作符。每个数据结构都会确保其邻域约束得到遵守,此过程由库代码而非应用代码完成。若邻域约束被违反,会向运行时系统报告冲突,系统会回滚其中一个冲突活动。为支持回滚,每个修改数据结构的库方法在修改前会复制数据。

2.3 运行时系统

Galois运行时系统负责协调应用程序的并行执行。 foreach 结构由多个线程执行,每个线程从Galois迭代器中获取一个活动节点并进行推测性执行,必要时回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值