您的位置:首页 > 其它

多核集群上行的混合模型笔记01

2012-12-06 15:00 127 查看
集群系统:
利用网络将计算机按照某种结构连接起来,在并行计算环境下支持统一调度的并行系统。

多核技术:
一个处理器中集成两个或更多完整的计算引擎(核),使用多线程充分执行多个执行内核。

并行编程模型(针对SMP?):
数据并行,消息传递,共享存储三种。

消息传递模型:
底层为一组处理器,每个处理器有自己的内存且只能访问本地的指令和数据(MPI为标准例子)。

MPI的优缺点:
MPI可移植到分布式和共享存储系统结构上,允许静态任务调度,使用于粗粒度的并行。
MPI对于细粒度并行会引发大量通信,动态负载平衡困难,并行改进需要大量修改原有串行代码,调试难度大。

共享存储:
底层硬件为一系列处理器,所有处理器访问同一个共享存储器(OpenMP为标准例子)。

MPI和OpenMP混合编程模型:
MPI分解问题,划分任务,使得各部分(每部分分配到一个多核节点上)之间的通信较少,OpenMP将每个节点上的部分进一步分解,分配到不同核心上,由多个线程通过共享存储通信来并行执行。

混合编程模型优分析:
优点:
1:有效改善MPI代码可扩展性,实现更好的并行粒度(MPI仅负责通信,实行粗粒度并行,OpenMP才是真正实现节点内部的并行,不存在负载均衡问题)
2:更少的通信开销(减少进程数,让线程完成任务,减少进程间通信)
3:空闲CPU可以被派生的线程利用(某个线程可以通过派生线程抢占其他线程空闲的CPU)
4:带宽没有影响,延迟减少了(发送的消息减少,每个消息长度增加)
缺点:
1:纯MPI应用汇导致CPU无法饱和结点间的带宽
2:增加系统开销(如线程fork/join)

 
以上总结纯属参考,总结来自张军、万剑怡的《多核集群系统上的混合编程模型》,介绍一下混合编程模型的大概,不代表个人观点。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: