基于任务模型的软件开发
多核心共享内存下的软件开发
在2005年,Herb Sutter在Dr.Dobb’s Journal上发表了题为“免费午餐结束:软件开发将转向并发编程”的文章。其中他谈到现在又必要在软件开发中考虑并发了,从而充分的挖掘呈指数量级增加的微处理器的潜能获取生产力的提高。现在微处理器厂商一直都在增加处理器的核心,而不是增加时钟频率。软件开发者将不能够依赖增加处理器时钟频率免费获取性能的提升。
现在几乎所有的机器的处理都至少有两个核心。然而,四核和八核的微处理器在服务器、高级工作站上很流行,甚至是高端的便携电脑。拥有更多内核的单个处理器就将要到来。现代化的微处理器提供了新的多核结构。所以,为软件设计和代码开发做一些准备来充分的利用这种架构还是很重要的。使用visual C#2010 和 .NET 4生成的各种不同类型的程序运行在微处理器的一个或者多个核心上。每一个这样的微处理器都可能有不同数目的内核,具有同时执行多条指令的能力。
你可以将多核微处理器想象为内部有多个相互连通的微处理器的包。所有的核心都可以想图1-1中那样访问主存储器。这就是著名的多核共享内存架构。此架构中的内存共享极易导致性能瓶颈。
图1-2. 分布式内存系统结构图
图1-3展示了拥有三台机器的分布式内存计算机系统。每个机器都有一个四核的处理器和这些内核使用的内存共享架构。这样,每个处理器的私有内存同时也扮演着其四个内核的共享内存的角色。
一个分布式内存系统强制你考虑数据的分布式,因为每个消息检索的远程数据都可能引入潜在的不确定性。由于你可以添加新的机器节点来增加微处理器的数量,所以分布式内存系统能够提供很大的扩展能力。

图 1-3 .混合架构图
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览113903 人正在系统学习中 相关资源:台湾版平彼电脑测试软件_比鲁大师好的测试电脑软件-硬件开发其他…
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!