并行设计模式全解析
一、并行设计模式基础
在并行编程领域,有一些关键的元模式和实现机制,它们为构建高效的并行程序提供了基础。
(一)元模式
- 共享队列(Shared Queue)
共享队列这种元模式创建的队列数据类型,允许队列被并发访问。它用于支持不同上下文中并发活动的交互,从线程到进程,再到运行在 CPU 协处理器上的并发活动。例如,在主/从(Master/Worker)元模式中,会使用共享队列来为工作进程分配任务。 - 分布式数组(Distributed Array)
分布式数组元模式对并行程序中与数组管理相关的各个方面进行建模,这些数组会被分割并分布到不同的并发活动中。它常被用于实现并发活动之间逻辑上共享的数据结构,但这些数据结构可能会以某种方式进行分区,使得每个并发活动拥有并管理分布式数组的一个部分。该元模式对于使用几何分解元模式的程序特别有用,有助于算法构建,在使用单程序多数据(SPMD)元模式时也能组织程序结构。
不同的元模式在支持算法结构设计空间中不同模式的实现方面具有不同的适用性。例如,任务并行性可以由程序结构组中的四种元模式很好地支持,而递归数据模式仅(部分)由 SPMD 和主/从模式支持。
(二)实现机制
实现并行应用程序的第二个(也是最低层)设计空间是实现机制设计空间,它包含了支持并行编程典型抽象所需的基本机制的元模式,主要有以下三个方面:
1. 执行单元管理(UE Management)
该元
超级会员免费看
订阅专栏 解锁全文
3202

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



