Basic Communication Operations(基本通信操作)

下文所讨论的所有通信操作都是使用直通路由选择而不是存储转发机制

一对多广播以及多对一规约

一对多广播:广播结束后会有p个原始数据的副本。
多对一规约:所有进程的数据通过一个相关的操作符结合起来,累加到一个目标进程中的缓冲区。

环或线性阵列

使用一种递归加倍的技术,在logp步广播完成。每一步都要仔细选择消息发送的目标节点,以免出现阻塞。
这里写图片描述

格网

行和列分别看成线性阵列
这里写图片描述

超立方体

看成一个d维的格网
这里写图片描述

平衡二叉树

每一个中间节点是开关节点。

这里写图片描述

算法实现

算法是在所有节点上跑的,通信从最高维向最低维进行。只有节点标号的i位最低有效位全为0的节点才参与第i维的通信。
这里写图片描述
这里写图片描述

成本分析

这里写图片描述


多对多广播和规约

多对对广播:一种执行方法是执行p个一对多广播
多对多规约:每个节点是多对一规约的目标节点

线性阵列和环

这里写图片描述

规约就是正好相反的步骤。

格网

行和列分别作为线性阵列
这里写图片描述

超立方体

需要分logP步完成(先从相邻节点最低位不同的交换,接着第二个最低位,第三个…)
这里写图片描述

成本

这里写图片描述

多对对广播中的超立方体算法不能不做修改地应用于环和格网结构,否则会引起阻塞
这里写图片描述


全规约与前缀和操作
全规约操作:等同于先进行一个多对一规约,再执行一个一对多广播。每个节点的缓冲区是全部p个节点的缓冲区组合得到的。使用多对多广播通信模式,可以更快完成。

这里写图片描述

将每次的消息相加而不是连接,就能得到全规约。注意每次传的消息长度并没有加倍了,是原来的大小(因为消息是相加合并了)

求前缀和:

这里写图片描述

这里写图片描述


散发和收集
散发:单个节点发送一个大小为m的唯一消息给每一个其他的节点。这也称为一对多私自通信。不设计任何数据复制,发送的消息是不一样的。

这里写图片描述

算法可以不做修改地应用于线性阵列和格网中。

时间复杂度

这里写图片描述


多对多私自通信(总体交换)

矩阵的转置 :每一行给一个处理器管理,转置涉及到不同进程间的多对多私自通信

这里写图片描述

成本
这里写图片描述

格网

每个节点首先根据它的目标节点的列把p个消息分组。

这里写图片描述

这里写图片描述

超立方体

这里写图片描述

这里写图片描述

优化算法:E立方体路由选择
在第j次通信中,节点i和节点j异或所得节点进行通信(In the jth communication step, node i exchanges data with node (i XOR j).)保证了不拥塞,

这里写图片描述


循环移位

在一个p节点的总体中,节点i发送一个数据包给节点(i+q)mod p

环和双向线性阵列:移动min{q, p -q}次相邻节点之间沿一个方向的通信来实现。

格网:先沿行的方向移动(q mod 根号p),再沿列的方向移动(q / 根号p)步。对于行移动之后从高节点到低节点的,需要补一次列移动(行移动,补偿列移动,列移动)

这里写图片描述

这里写图片描述

超立方体:

提高某些通信操作的速度

单端口通信(也可以同时接收和发送数据,但是只能在一个端口上)和全端口通信

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值