服务器 频道

IBM虚拟化攻略之System p中的虚拟化

  专用的和共享的分区

  使用逻辑分区的概念,您可以在 System p 中创建两种类型的分区。即专用的分区和共享的分区。

  正如在逻辑分区部分中指出的一样,在准虚拟化中,将对物理处理器进行逻辑上的划分。其结果是得到三类基于分区类型的处理器,即专用处理器、共享处理器和虚拟处理器。本文还介绍了与处理器执行相关的 Hypervisor 的作用。

  当整个物理处理器专用于单个逻辑分区的时候,将其称为专用的处理器。而在多个逻辑分区之间共享的物理处理器则称为共享的处理器。换句话说,在共享处理器模式中,对一个逻辑分区仅仅分配物理处理器的一部分。所分配的这部分物理处理器称为虚拟处理器。

  每个虚拟处理器的容量可以从物理处理器的 10% 到整个物理处理器。可以采用 0.01 处理单元的容量增量来定义处理能力。1.00 处理单元的能力与一个物理处理器相等。

  专门的分区由专门的物理处理器组成,而在共享的分区中,将在一组分区之间共享物理处理器的处理能力。

  在共享一个处理器的时候,应该确定为该分区所分配的处理单元的数目,以及将处理能力分布到多个分区的分区数目。一个系统可以包含共享同一组处理器的多个分区,并在它们之间划分处理容量。

  可以考虑下面的示例,以帮助理解专门的处理器和共享的处理器。假定有四个物理处理器:

  " P1

  " P2

  " P3

  " P4

  P1 和 P2 是专用的处理器,而 P3 和 P4 是共享的处理器。

  处理器对 P1 和 P2 以及 P3 和 P4 都拥有 2.0 的处理单元。您可以将 P1 和 P2 分配给 LPAR1 分区,同时您可以在 LPAR2 和 LPAR3 分区之中共享 P3 和 P4。

  LPAR2 和 LPAR3 提供了从 0.1 到 2.0 的处理单元。P3 和 P4 的组合能力属于一个共享池。也就是说,LPAR2 和 LPAR3 总的处理周期属于该共享池。可以共享的最大容量是 2.0。必须为每个分区分配的最小容量是 0.1。

  为 LPAR2 分配0.5 处理单元的虚拟处理器。剩余的 1.5 单元则分配给 LPAR3,LPAR3 有两个虚拟处理器。LPAR3 中的每个虚拟处理器都有 0.75 的处理能力。

  图 2 描述了这个示例。

 

  图 2. 虚拟处理器

  根据分区中应用程序的用途为该分区分配相应的处理能力。

  对于共享的分区类型,我们将所分配的物理处理器容量称为有权使用的容量。

  有两类分区模式:有上限的 (capped) 和无上限的 (uncapped)。如果共享的分区已经使用了分配给它的所有容量,那么它可以通过 Hypervisor 调用,使用共享池中的空闲周期、或者还没有使用的周期。如果共享的分区配置为无上限的,那么这种情况是可能的。

  如果共享的分区配置为有上限的,那么它不能使用共享池中的任何空闲周期、或者还没有使用的周期。在缺省情况下,所有的专用分区都是有上限的。

  Hypervisor 在共享池中存储虚拟处理器的整个处理周期。它负责在特定的物理处理器中分配虚拟处理器。在分配的过程中所使用的两个 Hypervisor 调用是 hcede 和 hconfer。

  如果所分配的虚拟处理器在分配周期结束之前完成了它的工作,那么操作系统将调用 hcede Hypervisor 调用,以便将将剩余的周期交还给 Hypervisor。Hypervisor 可以使用这些周期来完成它自己的某些任务,如分配或者内存管理。如果虚拟处理器在同一周期中获得了新的工作,那么 Hypervisor 会返回未使用的周期。

  hconfer 是操作系统在共享分区中使用的一个 Hypervisor 调用,用以将一个虚拟处理器的某些处理器周期交换给同一个分区中的另一个特定的虚拟处理器,它能够判断出第二虚拟处理器需要使用第一个虚拟处理器所拥有的多余周期。例如,假定一个虚拟处理器持有一个锁,并且它没有足够的周期来释放这个锁。如果另一个虚拟处理器需要这个锁,并且拥有多余的周期,那么它通过这个调用将剩余周期交换给第一个处理器。

  如果某些专用分区有未使用的处理器容量,那么它可以将这些未使用的容量贡献给共享池,以便使用专门分区的系统能够获取更好的性能和更高的 CPU 使用率。专门的分区提供了一个属性和贡献标记(可以对它们进行相应的设置),用于确定该分区是否可以将其未使用的周期贡献给共享池。

  从 POWER5 开始,Hypervisor 可以从专用的分区强制地窃取周期以进行 Hypervisor 的工作。尽管 Hypervisor 通常在分区中的处理器处于空闲状态时才进行窃取,但它也可能在另一种情况下窃取周期,即当分区中的处理器等待某种 Hypervisor 活动完成的时候。如果所窃取的空闲周期不足以完成 Hypervisor 的工作,那么它还可以在处理器处于忙碌状态的时候挪用周期。这种周期的窃取操作与处理器贡献的启用以及任何分区设置无关。

0
相关文章