首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 开发>linux 内核>文章内容
Linux 和对称多处理
来源:linux.chinaunix.net 作者:M. Tim Jones 发布时间:2007-06-20  
 

构建松耦合多处理器架构很容易(由于使用了 Beowulf 之类的项目),但是它们也有自身限制。构建大型的多处理器网络可能占用相当大的空间并消耗很多电量。因为它们通常是利用普通硬件来构建的,所以包含的有些硬件不相关却要耗费很多电量和空间。更大的缺点在于通信结构。即使使用高速网络(如 10G 以太网),也存在系统可伸缩性的限制。

紧密耦合多处理

紧密耦合多处理指芯片级多处理(CMP)。可将其看作松耦合架构按比例缩小至芯片级。这正是紧密耦合多处理(也称作多核计算)背后的思想。在一个集成电路中,多个芯片、共享内存以及互连形成了一个紧密集成的多处理核心(参见图 4)。

处理器互连
另一种可选的互连(系统结构总线)是 AMD 的 HyperTransport。Intel® 也在规划称作 Common System Interface 的新互连,预计于 2008 年发布。

图 4. 紧密耦合多处理架构

在 CMP 中,多个 CPU 通过共享总线连接到共享内存(2 级缓存)。每个处理器也拥有自身的快速内存(1 级缓存)。CMP 紧密耦合的本质使处理器与内存之间的物理距离很短,因此可提供最小的内存访问延迟和更高的性能。此类架构在多线程应用程序中运行良好,该类应用程序中线程可能被分配给多个处理器以实现并行操作。这种方法被称作线程级并行(TLP)。

由于这种多处理器架构的流行,很多供应商都生产了 CMP 设备。表 1 列出了一些 Linux 支持的流行变种。


表 1. CMP 设备样例
供应商 设备 说明
IBM POWER4 SMP,双 CPU
IBM POWER5 SMP,双 CPU,四个并发线程
AMD AMD X2 SMP,双 CPU
Intel® Xeon SMP,双 CPU 或四 CPU
Intel Core2 Duo SMP,双 CPU
ARM MPCore SMP,最多四 CPU
IBM Xenon SMP,三个 Power PC CPU
IBM Cell Processor 不对称多处理(Asymmetric multiprocessing,ASMP),九 CPU

 

内核配置

为了在支持 SMP 的硬件上通过 Linux 使用 SMP,必须适当地配置内核。内核配置期间必须启用 CONFIG_SMP 选项,以使内核感知 SMP。通过在多 CPU 主机上运行感知 SMP 的内核,可使用 proc 文件系统了解处理器的数目及类型。

首先,使用 grep 在 /proc 下的 cpuinfo 文件中检索处理器的数目。如清单 1 所示,使用计数选项(-c)来统计以单词 processor 开头的行。然后显示 cpuinfo 文件的内容。显示的示例来自一个二芯片的 Xeon 主板。


清单 1. 使用 proc 文件系统检索 CPU 信息
  
mtj@camus:~$ grep -c ^processor /proc/cpuinfo
8
mtj@camus:~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 15
model           : 6
model name      : Intel(R) Xeon(TM) CPU 3.73GHz
stepping        : 4
cpu MHz         : 3724.219
cache size      : 2048 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr 
pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm 
pbe nx lm pni monitor ds_cpl est cid xtpr

bogomips        : 7389.18

...

processor       : 7
vendor_id       : GenuineIntel
cpu family      : 15
model           : 6
model name      : Intel(R) Xeon(TM) CPU 3.73GHz
stepping        : 4
cpu MHz         : 3724.219
cache size      : 2048 KB
physical id     : 1
siblings        : 4
core id         : 3
cpu cores       : 2
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 6
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr 
pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm 
pbe nx lm pni monitor ds_cpl est cid xtpr

bogomips        : 7438.33 

mtj@camus:~$

共4页: 上一页 [1] 2 [3] [4] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·使用 Linux 系统调用的内核命令
·Linux 2.6.11内核文件IO系统调用
·Linux操作系统的源代码目录树结
·Linux用户态与内核态的交互讲解
·Linux内核对I/O端口的管理实现(
·深入分析 Linux操作系统的内核链
·Linux内核可装载模块对设备驱动
·概述Linux系统的驱动框架及驱动
·详解Linux 2.6内核新文件系统变
·Linux系统可卸载内核模块完全指
·FreeBSD手册讲解(一)--配置FreeB
·编译Linux操作系统的内核讲解
  相关文章
·使用 SystemTap 调试内核
·浅谈关于Linux系统内核的源代码
·浅谈解析Linux操作系统的内核空
·Linux系统内核模块函数调用及命
·Linux内核和核心OS组件的测试与
·Linux系统内核模块和驱动的编写
·Linux内核空间保护与空间数据传
·详解Linux 2.6内核新文件系统变
·Linux系统内核:修改TCP/IP调优参
·Linux系统可卸载内核模块完全指
·Linux系统可卸载内核模块完全指
·Linux系统可卸载内核模块完全指

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!