当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Linux 和对称多处理应用程序介绍

Unix/Linux
以假乱真 Linux中实现Vista界面主题
gnome与KDE字体大小不同的解决
Slackware 10 系统的汉化、美化
linux 常见音乐、视频播放器简介
Linux系统下用DCOP连接KDE应用程序
使用xmanager访问linux图形界面
Linux操作系统下制作特效照片也精彩
用新型D-BUS与Linux桌面应用程序通讯
使用Portland改善Linux桌面移植性
Linux操作系统下安装QQ最简单的方法
linux下浏览CHM及其它文件格式电子书
Linux下gnome桌面转换为KDE桌面的方法
Linux系统使用Windows XP字体美化汉字
Linux操作系统窗口系统精彩问与答
英文界面中文输入法与汉字的正常显示
在Fedora中编译安装Mplayer的详细步骤
Linux上五十个最佳的FireFox扩展插件
迁移到Linux桌面的六个忠告
Linux下登录windown系统远程桌面
Ubuntu Linux下播放Real多媒体的方法

Unix/Linux 中的 Linux 和对称多处理应用程序介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 53 ::
收藏到网摘: n/a

    如主流中央处理器(CPU)供应商所证明的那样,多核处理器随时准备着占领桌面和嵌入式市场。多处理带来了更高的性能,也同时带来了新的问题。本文将探讨多处理和开发使用 SMP 的 Linux® 应用程序背后的思想。

    可以通过多种方法提高 Linux 系统的性能,而其中最流行的一种是提高处理器的性能。一个明显的解决方案是使用具有更快时钟频率的处理器,但是对于任何特定技术来讲都存在一个物理极限,时钟频率也有这样的极限。当达到那个极限时,可使用 “越多越好” 的方法应用多处理器。不幸的是,多处理器的性能并不与单个处理器性能的总和成线性比例。

    在开始讨论 Linux 中的多处理应用程序之前,我们先来快速地回顾一下多处理的历史。

多处理的历史

Flynn 的多 CPU 架构分类

Single Instruction, Single Data(SISD) 是典型的单处理器架构。Multiple Instruction, Multiple Data(MIMD) 多处理架构拥有一些独立的处理器,它们各自操作独立数据(控制并行)。最后,Single Instruction, Multiple Data(SIMD) 拥有操作不同数据的大量处理器(数据并行)。

请参阅下面的 参考资料 部分,获取 Flynn 的原始文件的详细信息。

    多处理起源于 20 世纪 50 年代中期的一些公司,这些公司中有些您可能知道,而另一些您可能就不记得了(IBM、Digital Equipment Corporation、Control Data Corporation)。20 世纪 60 年代早期,Burroughs Corporation 引入了一种对称 MIMD 多处理器,它带有四个 CPU 并通过交叉开关可连接最多十六个内存模块(第一种 SMP 架构)。1964 年引入了 CDC 6600,它的使用比较成功并得到流行,它提供了一个带有十个子处理器(外围处理单元)的 CPU。20 世纪 60 年代末,Honeywell 发布了它的第一个 Multics 系统,这是带八个 CPU 的另一种对称多处理系统。

    在开发多处理系统的同时,各种技术的使用也提高了缩小处理器体积和运行更快的时钟频率的能力。20 世纪 80 年代,Cray Research 等公司引入了多处理器系统和类似 UNIX® 的操作系统(CX-OS),以便利用这些能力。

    20 世纪 80 年代末期,随着单处理器个人计算机系统(如 IBM PC)的流行,多处理系统的使用呈下降趋势。但是到了二十年后的现在,多处理利用对称多处理技术又回到了个人计算机系统中。

Amdahl 法则

    Gene Amdahl 是一名计算机架构师、IBM 职员,在 IBM、Amdahl Corporation(以他的名字命名的企业)和其他一些公司从事计算机架构开发。但是最著名的是他的法则,该法则用于在改进系统的一部分后预测最大的预期系统改进。它主要用来计算使用多处理器后理论上的最大性能改进(参见图 1)。


图 1. 处理器并行化的 Amdahl 法则
处理器并行化的 Amdahl 法则

    使用图 1 所示的等式,可计算系统的最大性能改进,N 表示处理器的数目,而因数 F 指定不能并行化的系统部分(即本质上顺序的系统部分)。结果如图 2 所示。


图 2. 最多十个 CPU 的 Amdahl 法则
最多十个 CPU 的 Amdahl 法则

    图 2 中最上面的一条线显示了处理器的数目。理想状态下,添加另外的处理器来解决问题时,希望看到这样的性能增长。不幸的是,并非所有的问题都可以并行化,而且还有管理处理器的开销,所以速度的提高并没有这么大。底部(紫色的线)是一个 90% 的处理属于顺序性的问题例子。在此图中,最佳的情况是棕色的线,它展示了一个 10% 顺序性(因此 90% 可并行化)的问题。即使在这种情况下,十个处理器的执行性能也只比五个稍好一点儿。