最后更新2021/07/08
处理器资源有两类:物理CPU和虚拟CPU,由于在虚拟化不同层面有不同的解释,因此请先确认其含义。后续如无特别说明,与x86系列对应,CPU即通常说的CPU core,CPU封装即socket,通常IBM Power CPU支持物理多线程,根据设置,Power9单CPU Core最高可以支持8线程,也就是一个内核可以同时跑8个线程。
HMC、硬件层面 | AIX操作系统、软件层面 | |||
---|---|---|---|---|
含义 | 名称 | 含义 | 名称 | |
物理CPU | 真实的、被激活的物理CPU | Physical Processing Unit (PU) | Virtual Processor (VP) | proc#,#代表整数,例如proc4 |
逻辑/虚拟CPU | 虚拟给操作系统的CPU | Virtual Processor (VP) | 经由SMT功能支持的VP | lcpu(通过vmstat命令可见) |
- HMC/Hypervisor层面的物理CPU是真实的物理CPU,对应于小型机采购配置清单上的被激活使用CPU。物理CPU采用DCM(双核/芯片)、DCM(四核/芯片)或者MCM(8核/芯片)封装(每个封装是一个最小物理芯片单元),被安装在小型机内,成为物理CPU资源。如果采购时,采用了CUoD(按需升级)方式购买,并没有激活全部的CPU,那么HMC可以识别到所有物理CPU的存在,而只可以分配使用购买了(被激活)的CPU。但是如果某一个被激活的CPU因故障而被隔离(Deconfig),未激活的后备CPU就会自动顶替故障CPU,只要故障CPU当时恰好没有运行操作系统非常重要的内核部分,故障CPU切换过程对用户完全是透明的,只有一条错误信息告诉你系统进行了故障CPU切换动作。即便此CPU当时运行的是操作系统的重要进程,CPU故障会导致分区Crash,此故障也只影响单一分区,这是由于一个物理CPU虚拟给多个分区之后,在某个特定的时刻,只有一个分区真正占据该CPU并执行指令。被隔离的故障CPU会变成Deconfig状态。<图 26 各种CPU名称关系示意图>(图中CPU数量并不匹配,不要累加核对,此处仅仅示意而已)显示了一个物理CPU分配的实例。其中Hypervisor机构自动完成CPU分配,Service Processor并不参与处理,只负责管理;通常提供物理CPU的时候会按照封装来提供CUoD,也就是只有4、8及其倍数的选择。 - Physical Processing Unit最少设置为0.1,最大可以设置当前物理机器所拥有的全部已经激活的CPU。表 25是HMC显示的有关物理CPU的信息:
提示信息 | 示例 | 说明 |
---|---|---|
Maximum number of processors per partition | 64.00 | 每个分区最多可分配的CPU |
Installed processing units | 128.00 | 物理机器已安装的所有CPU,多装CPU的好处是如果某个CPU故障,通常机器不会停机,额外的CPU可以自动替代 |
Deconfigured processing units | 0.00 | 因故障或其他原因禁止使用的CPU |
Available processing units | 6.70 当前可用 | (空闲、未分配)的CPU |
Configurable processing units | 44.00 | 可分配给分区(已激活)的CPU |
Maximum i5/OS processing units | 2.00 | 可以分配给i5/OS分区的CPU |
Minimum number of processing units per virtual processor | 0.10 | 最小分配单位为0.1个物理CPU |
Maximum number of shared processor pools | 1 | 最多可以设定的CPU共享池的数量 |
HMC CPU参数示例
- HMC/Hypervisor层面的虚拟CPU是另一个要分配给分区的资源,分区上安装的AIX操作系统会“认为”HMC层面分配的虚拟CPU数量就是其所获得的物理CPU数量。与物理CPU不同,虚拟CPU的分配没有物理限制,尽管有一定规则约束,但与物理CPU相比则灵活许多。各种CPU名称之间关系如图 27所示。