System virtualization creates many virtual systems within a single physical system. Virtual systems are independent operating environments that use virtual resources. System virtualization can be approached through hardware partitioning or hypervisor technology. Hardware partitioning subdivides a physical server into fractions, each of which can run an operating system. These fractions are typically created with coarse units of allocation, such as whole processors or physical boards. This type of virtualization allows for hardware consolidation, but does not have the full benefits of resource sharing and emulation offered by hypervisors. Hypervisors use a thin layer of code in software or firmware to achieve fine-grained, dynamic resource sharing. Because hypervisors provide the greatest level of flexibility in how virtual resources are defined and managed, they are the primary technology of choice for system virtualization.
There are two types of hypervisors.
Type 1 hypervisors run directly on the system hardware. The following figure shows one physical system with a type 1 hypervisor running directly on the system hardware, and three virtual systems using virtual resources provided by the hypervisor.

Type 2 hypervisors run on a host operating system that provides virtualization services, such as I/O device support and memory management. The following figure shows one physical system with a type 2 hypervisor running on a host operating system and three virtual systems using the virtual resources provided by the hypervisor.
Type 1 hypervisors are typically the preferred approach because they can achieve higher virtualization efficiency by dealing directly with the hardware. Type 1 hypervisors provide higher performance efficiency, availability, and security than type 2 hypervisors. Type 2 hypervisors are used mainly on client systems where efficiency is less critical. Type 2 hypervisors are also used mainly on systems where support for a broad range of I/O devices is important and can be provided by the host operating system.
IBM® supports at least one hypervisor for each IBM system.
The following table lists IBM systems and the hypervisors that they support.
| ||||||||||||||||||||||||||||||
The POWER5 hypervisor is a type 1 hypervisor integrated with all IBM System p5™ models as part of the system firmware. The hypervisor enables system virtualization, including creating logical partitions and dynamically moving resources across multiple operating environments.
The POWER5 hypervisor provides the ability to divide physical system resources into isolated logical partitions. Each logical partition operates like an independent system running its own operating environment: AIX, Linux®, or the Virtual I/O Server. The hypervisor can assign dedicated processors, I/O, and memory (which you can dynamically reconfigure as needed) to each logical partition. With its Micro-Partitioning feature activated, the hypervisor can also assign shared processors to each logical partition. Unknown to the logical partitions, the hypervisor creates a shared processor pool from which it allocates virtual processors to the logical partitions as needed. In other words, the hypervisor creates virtual processors so that logical partitions can share the physical processors while running independent operating environments.The following figure shows a physical system running three logical partitions. Each logical partition is running an operating environment and applications independent of the other logical partitions, while sharing the same physical resources
In its simplest form, the virtualization engine is a layered architecture, as depicted in the figure shown at the right. It is composed of a firmware module called the POWER™ Hypervisor™(PHYP).
The PHYP sits on top of the physical hardware resources and provides the function of administering resource management through the Hardware Management Console (HMC)4. The PHYP also controls partition access to the hardware resources

Beginning with POWER5, the POWER Hypervisor combines the functionalities of the previously existing pSeries and IBM eServer iSeries™ Hypervisors. This convergence facilitates a common framework to deploy both pSeries and iSeries operating systems (AIX, OS/400, and i5/OS) while helping to improve overall server efficiency and flexibility.
The PHYP delivers a function that enables features such as dynamic partitioning and Micro-Partitioning-coupled with virtual Ethernet and virtual SCSI-to support shared I/O resources among the partitions
The Hypervisor provides a level of abstraction to the operating system. For example, from the perspective of the partition's operating system, virtual hardware resources appear as if they belong to that partition. More detail about the PHYP implementation and functionalities is available in the online pSeries educational offering entitled "PHYP: Converged POWER Hypervisor Firmware for pSeries and iSeries."
The POWER Hypervisor is a component of the firmware that will always be installed and activated on every eServer p5 server model, regardless of system configuration. It operates as a hidden partition with no processor resources assigned to it.
In addition to the traditional 'user mode' and 'supervisor mode' processor states, the POWER5 processor has a new privileged processor state called 'Hypervisor mode' which has been added to support logical partitioning. The Hypervisor mode is accessed using Hypervisor call functions which are generated by the operating system kernel that is running in the partition. The Hypervisor mode allows for a secure mode of operation that is required for various system functions where logical partition integrity and security are required. The Hypervisor validates that the partition has ownership of the resources it is attempting to access, such as processor, memory, and I/O, then completes the function. This mechanism allows for complete isolation of partition resources.
Micro-Partitioning terminology
To understand processor sharing-i.e., Micro-Partitioning in particular and virtualization in general-POWER5 introduces a few new terms. The following figure summarizes the relationship among each of them

There are two types of logical partitions. A partition is said to be a shared processor partition if it shares a physical processor with one or more other partitions-that is, if the partition is Micro-Partition-capable. Otherwise, the partition is said to be a dedicated processor partition, i.e., a partition that can be assigned whole processors only.
A physical processor refers to a POWER5 processor belonging to a POWER5-based server. When a shared logical partition (or simply, a partition) is created, it is configured with a minimum of one virtual processor. Virtual processors are the computing entities to which processes running in an operating system are dispatched. From the operating system's perspective, the number of virtual processors it has been assigned are viewed as the number of processors that would be installed and activated in a traditional, non-partitioned environment. Virtual processors are powered by entitled processor capacity to a partition. The entitled processor capacity represents a real computing power or capacity assigned to a partition. A maximum of 10 virtual processors per physical processor (up to a maximum of 64 virtual processors) are allowed in a partition.
Simultaneous Multi-threading (SMT) is another new POWER5 technology. When SMT is enabled, there are two hardware threads per physical processor. From the perspective of the AIX 5L operating system, the hardware threads of a single SMT-enabled processor appear as two logical processors. This means that, for example, a partition which is SMT-enabled with eight virtual processors will appear to have 16 logical processors to the partition's operating system. For more details about SMT, refer to the white paper "IBM POWER5 AIX 5L V5.3 Simultaneous Multi-threading and DB2."
The PHYP provides a dispatcher for the partitions by managing a set of physical processors on the server machine, referred to as the shared processor pool. The PHYP can dynamically add or remove processors from the shared processor pool.
The PHYP supports both a capped partition and an uncapped partition. A partition is said to be capped if it is not entitled to get more CPU capacity than its current physical processor assignment or configured capacity-even if there is idle processor capacity in the shared processor pool. In contrast, an uncapped partition is allowed to use idle processor capacity from the shared processor pool. Each uncapped partition is assigned an uncapped weight that is within the range of zero to 255. The uncapped weight is a measure of how much shared processor pool capacity is assigned, proportionally, to a partition if more than one partition is competing for the idle shared processor pool resources-in which case, the PHYP enforces a weighted average of the uncapped weights of the respective partitions. Additionally, it is possible to establish multiple pools with their own designated dispatcher, thus further enabling group capping and a given set of uncapped partitions.
The concepts of virtual processors, entitled processor capacity, and uncapped partitions are not relevant to dedicated processor partitions. Dedicated processor partitions simply have the physical processors assigned to them. The mapping between the physical processor and a virtual processor is one-to-one in a dedicated partition, and there is no ability to use idle processor capacity in other partitions on the system.

0 comments:
Post a Comment