|
|
51CTO旗下网站
|
|
移动端

3.4.2 存储器和并行性

《并行程序设计原理》侧重论述并行程序设计的基本原理,解释各种现象,并分析为何这些现象意味着成功进行并行程序设计的机遇或是阻碍。第3章将介绍有助于我们分析并行性能的一些概念。本节说的是存储器和并行性。

作者:陆鑫达 林新华来源:机械工业出版社|2009-07-15 15:56

3.4.2   存储器和并行性

通常增加使用存储器的代价可以增加并行性。在某些情况下,少量的额外存储器能显著改进性能。(当然,我们必须非常小心,因为存在一些情况,其中并行计算的主要益处是有较大的可用存储器容量,所以我们不希望丢弃这种益处。)

私有化   通过使用附加的存储器消除伪相关就可增加并行性。例如,在统计3的个数程序中,private_count变量的使用就可消除线程在每次遇到3时所需进行的交互,其影响是使count的变量数从1增加到线程数t。这只花费了很小的存储器代价,但却因减少相关性而获得了很大的节省。

填充   也可通过填充(padding)增加并行性,填充是指分配额外的存储器迫使变量留驻在它们自己的cache行上。在统计3的个数例子中,我们已看到如何使用填充来消除假共享,当对独立的不相关的变量访问变成相关时,由于这些独立变量被分配在同一cache行上就导致这种假共享的出现。我们可以把假共享看成是伪相关的一种特殊形式,由于消除假共享能减少线程间的交互频率,从而就会使性能获得显著的改进。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

我的运维日志系统构建之路

我的运维日志系统构建之路

数据驱动运维
共18章 | 我叫于小炳

191人订阅学习

CentOS文件服务的最佳实战

CentOS文件服务的最佳实战

涨薪跳槽必备技能
共15章 | 追风蚂蚁

88人订阅学习

小白网工宝典

小白网工宝典

一次搞定思科华为
共15章 | 思科小牛

431人订阅学习

读 书 +更多

精通ASP.NET 2.0+XML+CSS网络开发混合编程

本书以最新的ASP.NET 2.0为基础,详细阐述了当前网络开发的经典架构ASP.NET 2.0+XML+CSS的各个知识点,以及SQL Server 2005的相关知识。全...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客