我是靠谱客的博主 精明饼干,最近开发中收集的这篇文章主要介绍并行与分布式计算笔记1并行与分布式计算笔记1,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

并行与分布式计算笔记1

计算节点用InfiniBand网络进行通信,传输速率可以到100GB/s。

并行编译器只能做到执行级的并行,检测到basic block和少量的嵌入的for循环,无法满足并行计算的要求。
所以需要让程序员来编写并行程序。

通过操作系统底层的线程库来编程会非常复杂,甚至出错,所以会有并行编程的工具来进行抽象。

常见的工具有:
OpenMP
Message Passing InterfaceMPI(mpi)
Posix Threads(pthreads)
Open Computing Language(opencl)
CUDA
Map Reduce

并行编程的难点

1找到尽可能多的并行点
2粒度:函数级并行、线程级并行还是进程级并行
3局部性:并行化后是否能够利用局部数据等
4负载均衡:不同线程、不同core之间的负载分布
5协作与同步
6性能模型

任务并行

将一个问题划分成多个不同的子任务在不同的core上运行;
(计算密集型,可以拆分成不同的子任务)

数据并行

1.将问题所涉及的数据才分到不同的core上执行;
2.每个core运行的是相同的程序。
(数据密集型,大数据应用)

最后

以上就是精明饼干为你收集整理的并行与分布式计算笔记1并行与分布式计算笔记1的全部内容,希望文章能够帮你解决并行与分布式计算笔记1并行与分布式计算笔记1所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部