频道栏目
读书频道 > web开发 > .NET > C#并行编程高级教程:精通.NET 4 Parallel Extension
1.1.1 共享内存多核系统与分布式内存系统之间的区别
2012-07-08 21:30:38     我来说两句
收藏   我要投稿
本书旨在帮助有经验的C#开发人员能够利用.NET Framework 4中引入的Parallel Extensions,将现代微处理器中的多核处理能力转换为应用程序的性能。无论您是刚刚开始从老的多线程模型开始转换,还是已经有过一些...  立即去当当网订购
分布式内存的计算机系统由很多微处理器组成,每个微处理器都有自己私有的内存,如图1-2所示。每个微处理器都可以位于不同的计算机上,而且计算机之间可以有不同类型的通信信道。
例如,有线网络和无线网络都可以是通信信道。如果运行在一个微处理器上的作业需要远程数据,那么这个作业就必须通过通信信道与远程微处理器进行通信。消息传递接口(Message Passing Interface,MPI)是运行在分布式内存计算机系统上的并行应用程序所使用的最流行的通信协议。
使用C#和.NET?Framework时,可以配合MPI来充分发挥共享内存多核系统的特性。
不过,MPI主要关注的是帮助开发在集群上运行的应用程序。
因此,在共享内存的多核系统中,MPI会带来没有必要的额外开销,因为所有的内核都可以访问内存,所以没必要发送消息。
 

\

图1-3展示了一个分布式内存的计算机系统,其中包含3台计算机。每台计算机都有一个四核的微处理器,这些内核之间采用的是共享内存的架构。通过这种方式,每一个微处理器所使用的私有内存对于其4个内核来说又是共享内存。

\

分布式内存系统会迫使您考虑数据分布问题,因为每一个获取远程数据的消息都会产生一个严重的延迟。由于可以通过增加计算机(节点)的方式增加系统微处理器的数量,因此分布式内存的系统提供了很好的可扩展性 


您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.1 使用共享内存的多核系统
下一篇:1.1.2 并行程序设计和多核程序设计
相关文章
图文推荐
排行
热门
最新书评
文章
下载
读书
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站