并行计算相关问题解答与实践指南
1. 日常并行操作示例及相关分析
在日常生活中,存在许多并行操作的例子,例如多车道高速公路、班级注册队列和邮件投递等。对于这些例子,我们可以从不同角度进行分类,并行设计通常是为了优化效率、提高吞吐量等。不过,计算这些例子的并行加速比可能会比较复杂,需要考虑具体的场景和参数。
对于常见的桌面、笔记本电脑或手机,其理论并行处理能力与串行处理能力相比,由于市场宣传和炒作,很难直接获取真实的规格信息。但大多数设备,包括手持设备,都配备了多核处理器和至少一个集成图形处理器。除了非常老旧的硬件,桌面和笔记本电脑还具备一些向量计算能力。
在商店结账的例子中,可以看到多种并行策略,如多指令多数据(MIMD)、分布式数据、流水线并行和带专用队列的乱序执行。
假设我们有一个图像处理应用程序,每天需要处理1000张大小为4 MiB的图像,串行处理每张图像需要10分钟。集群由多核节点组成,每个节点有16个核心和16 GiB的主内存存储。对于这个工作负载,最佳的并行处理设计是在单个计算节点上进行线程化并结合向量化。4 MiB × 1000 = 4 Gb,但一次处理16张图像只需要64 MiB,远低于集群中每个节点(工作站)的1 GiB。串行处理时间为10分钟 × 1000 = 167分钟,在16个核心上并行处理时间为10.4分钟,向量化可以将时间缩短到5分钟以下。如果客户需求增加10倍,处理时间将变为100分钟,此时可能需要考虑消息传递或分布式计算。
另外,Intel Xeon E5 - 4660处理器的热设计功耗为130 W(所有16个核心使用时的平均功耗),Nvidia的Tesla V100 GPU和AMD的MI25 Radeon
超级会员免费看
订阅专栏 解锁全文
1985

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



