看到很多人在这个上面把概念弄混淆,我这里给大家简单介绍一下这两个技术的不同。多核技术可以看成是一种cpu的集成技术,在一个CPU处理模块上,可以 集成2个或者是多个CPU,但是,他们还是单独的物理cpu。并发多线程技术则需要OS的支持,是在OS级别上,可以实现一个物理cpu的多线程并发处 理,提高oltp环境模式下的cpu利用率。
先说多核技术,如在IBM的power5中,就有如下几种不同的cpu集成模式:如Dual-Core Module(双核),表示一个cpu模块中其实有2个物理的cpu(也叫core),他们共享L2与L3 cache。这种cpu模块一般用在520/550上,所以,象采用这种模式的550最多可以有4颗CPU(2个cpu模块)。而Quad Core Module [QCM],这个不知道怎么翻译了,这种技术下,在一个cpu模块中,有4个物理cpu,相当与2个Dual-Core Module集成在一个cpu模块中,从55Q以后的机型,如55Q、55A都支持这样的cpu模块,所以,如果采用这样的模块,55A就可以达到8颗物 理cpu。最后说Multi-Chip Module,这个就叫多核技术了,如一个cpu模块中,可以有8个物理cpu,相当于4个Dual-Core Module,一般用在590与595上。如图,则是一个采用了Multi-Chip Module技术的cpu模块:
从以上的图片与描述可以看到,这种多核技术不过是物理cpu的高集成度技术,让更小的地方,可以放更多的cpu,如550空间大小不变,同样2个cpu模 块,如果采用双核的cpu模块,则只可以支持4颗cpu,如果采用Quad Core Module [QCM]技术的cpu模块,则最多可以支持到8颗cpu。
需要注意的是,这个时候550的cpu模块(cpu插槽)并没有增加,所以,如果在开始选型的时候,只选择4颗cpu(或以下),而又想留有扩展余地的 话,则一定要选择Quad Core Module [QCM]技术的cpu模块,否则,以后只能通过更换cpu模块(而不是增加cpu模块)来升级cpu个数了,这样会比较麻烦。
在不同的厂商,对这个多核技术可能略有差别,如Sun将其多核心架构命名为CMT(Chip Multi-Threaded),把一个芯片(类似IBM的CPU模块,内含2个或多个core)叫成一个cpu(physical processor)。CMT技术能够将更多的晶体管压缩到一个芯片中,同时能够简化每一个CPU的设计,把更多的CPU压在一个芯片当中以提高整个芯片 处理交易事务的能力。需要知道的是,这里与ibm的core的定义将有所差别,IBM认为一个core是一个cpu(physical processor),而SUN认为一个芯片是一个CPU。更多的人习惯拿CMT技术与下面说的SMT技术来对比,但是CMT是硬件技术,SMT更多是软 件技术,所以,我个人认为与多核技术对比比较合适。
因为以上的差别,以cpu为收费对象的厂商,如Oracle,则在不同的cpu类型上,一般有不同的处理方式,现在一般已经不在按物理的cpu来购买 license,而是cpu模块方式来购买,例如oracle规定,在IBM Dual-Core Module(双核模块)的power芯片上,一个双核模块(内含2颗物理cpu)只需要购买1.5个license。
看了多核技术,我们再说并发多线程技术,在power5的构架上,以及AIX 5.3以上,或运行在其上的linux 2.6核心以上,都可以支持这个技术,也叫SMT(simultaneous multi-threading)技术。一个物理的CPU,在IBM中也就是一个core,在OS层面上,将显示为2颗(或多颗,这需要看未来的发展可能 性)逻辑的CPU。
注意的是,这种技术与硬件构架以及OS都是有关系的,如SMT就是power5才支持的,而且也要特定的OS,如Aix 5.3才支持,也就是说,power5上跑5.2,也是不支持这样的技术的。在这样的技术中,每个power5 cpu两个硬件线程,SMT旨在利用POWER5处理器的超标量特性,以便同时执行多个指令。它的基本理念是:没有一个单一应用可使向POWER5这样的 超标量处理器达到完全饱和的状态,因此,部署同时提供输入的多个应用效果更理想。如图,如果把cpu的指令处理分成很多小的单元的话,它们是可以并发的。
那么,按照这样的设计思想,那么,SMT技术将在细小的oltp应用中受益,而大型的计算业务,如浮点密集型的工作(耗费单个CPU很长时间,对浮点单元 与内存带宽消耗比较大),是不适合使用SMT技术的。当然,我们可以在OS级别决定是否打开SMT技术,主要取决于这个技术是否为我们带来好处,默认则是 打开SMT。
在实际的使用中,我们可能发现,一个物理cpu分化的2个逻辑cpu可能存在分配不平等的现象,如topas可以看到:
CPU User% Kern% Wait% Idle%
cpu6 31.7 7.5 51.6 9.1
cpu4 30.4 10.1 45.2 14.3
cpu0 19.4 6.6 28.2 45.8
cpu2 15.4 5.7 31.4 47.5
cpu3 0.0 1.5 0.0 98.5
cpu5 0.0 1.3 0.0 98.7
cpu7 0.0 1.3 0.0 98.7
cpu1 0.0 1.6 0.0 98.4
如以上,1,3,5,7比较闲,而2,4,6,8会比较忙,按照IBM的官方说法是,在SMT技术中,如果仅仅是其中一半的逻辑cpu(对应到具体个数的 物理cpu)能满足需求的话,另外的一半逻辑cpu将一般比较闲置,只有当系统业务比较繁忙的时候,另外一半的逻辑cpu是可以参与计算的。我猜想,估计 这样处理的规则是,避免在简单任务的时候,也采用复杂的分发机制。
以上介绍了多核技术与多线程技术,多核技术一般指cpu的集成度,一般的厂家规则都是一个core对应到一个物理cpu,所以,一个cpu模块中可能存在 多个物理cpu,而并发多线程技术(SMT)则是指单一物理处理器能够同时分发来自多于一个硬件线程上下文的指令,可以虚化成2个逻辑的CPU。我们看一 个power5的Dual-Core Module技术的cpu模块与逻辑CPU的对照图:
我们也可以采用如下的命令查看AIX 5L上物理cpu的个数,他们的数目不同于开启过SMT技术以后的topas中的cpu个数,简单的说,采用smt技术的os上,topas看到的cpu个数是物理cpu的2倍。
#lsdev -Cc processor
proc0 Available 00-00 Processor
proc2 Available 00-02 Processor
proc4 Available 00-04 Processor
proc6 Available 00-06 Processor
这个命令查看到的,则是逻辑cpu的数目,与topas看到的数目一致:
#bindprocessor -q
The available processors are: 0 1 2 3 4 5 6 7
我们也可以采用如下的命令查看cpu的详细信息,如主频,是否支持SMT,是否开启了SMT等等。
#lsattr -El proc0
frequency 1896102000 Processor Speed False
smt_threads 2 Processor SMT threads False
state enable Processor state False
type PowerPC_POWER5 Processor type False
或者使用smtctl查看整体的smt信息,更多的信息可以查看man smtctl
#smtctl
This system is SMT capable.
SMT is currently enabled.
SMT boot mode is not set.
SMT threads are bound to the same physical processor.
proc0 has 2 SMT threads.
Bind processor 0 is bound with proc0
Bind processor 1 is bound with proc0
proc2 has 2 SMT threads.
Bind processor 2 is bound with proc2
Bind processor 3 is bound with proc2
proc4 has 2 SMT threads.
Bind processor 4 is bound with proc4
Bind processor 5 is bound with proc4
proc6 has 2 SMT threads.
Bind processor 6 is bound with proc6
Bind processor 7 is bound with proc6
分享到:
相关推荐
这个命令用于列出所有可用的物理内存设备。例如,输出可能包括`L2cache0`和`mem0`,分别代表L2缓存和主内存设备。 2. **使用`lsattr -El mem0`命令** 进一步查看特定内存设备(如`mem0`)的详细属性。例如,`...
本文将基于“IBM-AIX——查看硬件设备信息(如序列号等)”这一主题,详细解析AIX环境下如何查看和验证包括机器型号、序列号、操作系统版本、CPU信息、内存信息以及外存信息在内的关键硬件设备数据。 ### 第一章:...
以上所列出的命令涵盖了在AIX操作系统中查看和管理硬件配置的各个方面,包括内存、处理器、网络接口、存储设备等。通过对这些命令的掌握和运用,可以有效地进行系统的监控和维护工作,确保系统的稳定运行。
为了方便开发者、系统管理员和学习者在不拥有物理硬件的情况下熟悉和测试AIX环境,IBM官方推出了AIX模拟器,它允许用户在个人计算机上模拟运行AIX操作系统。 IBM官方AIX模拟器,正如其名,是IBM官方提供的一个软件...
1. **VG、PV、LV信息**:这部分内容未详细列出,但在AIX中,使用`#lsvg`、`#lspv`和`#lslv`命令可以分别查看卷组(VG)、物理卷(PV)和逻辑卷(LV)的详细信息,这是存储管理和优化的关键。 2. **HMC管理信息**:通过`#...
1. **PowerVM虚拟化技术**:AIX 2009支持PowerVM虚拟化平台,允许在一个物理服务器上运行多个独立的操作系统实例,提高了硬件资源的利用率和灵活性。 2. **动态逻辑分区(DLPAR)**:DLPAR技术允许管理员在运行的...
在Linux系统中,查看CPU个数可以通过分析`/proc/cpuinfo`这个特殊文件来实现。这个文件包含了关于处理器的各种信息,如型号、频率、缓存大小等。在提供的描述和部分内容中,我们可以看到一系列与CPU相关的条目。 ...
Bochs是一个高度可配置的项目,可以模拟从早期的Pentium到现代多核处理器的各种硬件环境。通过Bochs,用户可以在非AIX系统上模拟AIX的运行,执行AIX特有的指令集和系统调用。这为那些没有物理AIX设备但需要在类似...
`bindprocessor`命令用于查看和绑定处理器到特定的逻辑处理器或物理CPU。`lsdev -Cc processor`则用来列出系统中的物理CPU核心,而`lsattr -El <processor>`可以显示处理器的详细属性,包括SMT是否启用,SMT线程的...
4. **虚拟化技术**:AIX支持PowerVM虚拟化技术,允许在一个物理硬件上运行多个独立的操作系统实例。 5. **性能优化**:AIX提供性能分析工具,如perfstat,帮助用户监控和优化系统性能。 6. **动态逻辑卷管理(LVM)*...
4. **Parallel Sysplex**:AIX支持Parallel Sysplex技术,允许多个物理系统通过高速通信链路连接,形成一个逻辑上的单一系统,实现负载均衡和故障切换,提升系统可用性。 5. **PowerVM虚拟化**:AIX 5.2集成了虚拟...
多线程多核技术(SMT)和微分区是AIX中特有的性能优化技术,它们有助于在物理和虚拟环境中提高处理器利用率和系统灵活性。虚拟IO服务器(VIOS)是AIX虚拟化中的一个重要组件,负责管理虚拟系统的I/O资源,其性能直接...
- **CPU数量**: 使用`lsdev -Cc processor`来查看处理器的数量和状态。 - 示例输出: ``` proc0 Available 00-00 Processor proc2 Available 00-02 Processor ... ``` - **CPU主频**: 可以通过`lsattr -El ...
在这个例子中,我们可以看到系统模型为IBM 9110-51A,机器序列号为0697AC0,搭载了两个PowerPC_POWER5处理器,时钟速度为2097MHz。系统内核是64位的,这意味着它支持大容量内存和高性能计算。此外,系统有1个逻辑...
本文总结了 AIX 操作系统中一些常用的命令,涵盖了内核模式、处理器类型、硬件信息、系统配置、设备属性等方面。 1. 查看当前内核模式 可以使用 `bootinfo -K` 命令来查看当前的内核模式,了解是否是 32 位或 64 ...
8. **处理器个数**: 可以使用 `lsdev -C | grep proc` 来查看系统中有多少个处理器。 9. **内存大小**: 执行 `lsattr -E l mem0` 命令可以获取系统内存的大小。 #### 二、关机操作 AIX提供了多种方式来进行关机操作...
- `ls -l /unix`:查看当前运行的内核模式,如单处理器或多处理器。 - `ln -sf`:创建软链接,用于更改内核模式。 - `bosboot -ad`:重新初始化引导扇区。 - `shutdown -r`:重启系统。 - `lslv -m`:显示指定...
这款模拟器为那些无法直接访问物理AIX系统或希望在非IBM硬件上进行AIX开发和测试的用户提供了便利。 在Linux上使用AIX模拟器,可以让你熟悉AIX的命令行界面、系统管理工具以及其特有的系统特性。这包括了解如何创建...
综上所述,AIX巡检涵盖了从物理环境到软件状态的全方位检查,确保系统稳定运行,及时发现并解决潜在问题,降低故障风险。这是一项细致且必要的工作,对于维护IT基础设施的正常运行具有决定性意义。