As companies continue to strive to meet expanding goals with smaller budgets, they increasingly turn to virtualization as a means to consolidate servers. Successful reduction in server count by these means enables organizations to decrease capital expenditures in the form of equipment and facilities costs, as well as ongoing operating expense in areas such as power, cooling, and support.
From the software vendor's perspective, validating their applications for virtualization readiness is a key means to assure their customers of product suitability in the virtualized environment. Because of the very high deployment rate and continuing innovation surrounding Intel® Xeon® processor-based servers, that platform plays an important role in certifying software compatibility by application vendors.
Recognizing the value opportunity in coordinating that pre-validation, Intel has initiated efforts to help software vendors validate their applications for use with Intel® Virtual Technology (Intel® VT). The Virtualization Enabling Program supports software vendors as they verify their software for use on Intel® architecture-based servers with industry-leading Virtual Machine Monitor (VMM) solutions. Building customer confidence is a key necessity for software vendors to address in order to prepare for the virtualized enterprise.
This series of articles functions as an aid to help software vendors tailor their applications for use with Intel VT. It also helps them guide their customers in the use of various technologies and products in a virtualized environment. Finally, IT organizations implementing virtualization will find the guides helpful in implementing the covered technologies within their own environments.
Business-Oriented Virtualization Best Practices for Software Vendors
As software vendors begin the process of validating their products for use in virtualized environments, they should consider their objectives in part from the customers' point of view. Putting the needs of those customers near the center of the planning process is as important in validation for virtualization as in any other aspect of product design. For example, consider the following requirements:
- Create coherent licensing and support policies. Just as with multi-core processors, customers need clear guidance in terms of how virtualization impacts the purchase of software licenses and support agreements. For example, customers may want to install an application on multiple virtual machines (VMs) that may or may not be in simultaneous use. A single VM may be deployed on a varying number of physical hosts, and that number may change dynamically in response to changing workloads. License and support policies must address situations such as these, which requires software vendors to evaluate their customer base and usage models on this basis.
- Choose a suitable set of VMMs for testing and validation. As customers adopt standard virtualization solutions within their environments, they may favor application software that is validated on those VMMs. They will want to see performance data that compares virtualized and non-virtualized behavior in their virtualization environment of choice, as well as assu rance that the software is stable and scalable on that environment. Software vendors must find their own balance between the ideal of validating for every VMM in wide use and the expense of performing and maintaining that testing.
- Develop robust technical recommendations for customers. Software vendors should establish the compatibility of their applications with the features provided by various virtualization environments, such as migration and management utilities. They should also provide recommendations to their customers in terms of issues such as scalability. For example, as the capacity of a system is increased, the vendor should be able to recommend whether it is preferable to increase the number of virtual CPUs (vCPUs) per physical processor or the amount of virtual memory per vCPU. Technical assistance from Intel through programs such as the Intel® Software Partner Program Virtualization Campaign can be extremely valuable in this effort.
Introduction to Intel® Virtualization Technology
Processors enabled with Intel VT increase virtualization efficiency by eliminating the overhead associated with software-based translation between the guest OS and the hardware platform. In the conventional, software-only virtualization paradigm, the host OS and VMM occupy Ring 0, the highest privilege level in the system. Although guest OSs are typically designed to also work at this privilege level, they cannot share it with the host OS, and so the guest OSs must operate using a lower privilege level at Ring 1.
Because the guest OSs in the software-only virtualization model are operating at a lower privilege level than they were designed for, the VMM must make processor-intensive, software-based translations on the calls to hardware resources made by the guest OSs. That translation consumes processing resources, limiting the performance and scalability of the overall solution. Alternatively, each guest OS can be modified to work at Ring 1, but this translation may need to be made individually for the specific VMM, and in the case of proprietary, closed-source OSs, such modification may be impossible.
Intel VT provides a privilege level known as VMX Root specifically for the VMM, leaving Ring 0 available for use by guest OSs. This addition enables the guest OS to run at its native privilege level, eliminating processor-intensive software-based translations, thereby increasing performance. The additional privilege level also removes the need for guest OSs to be modified for use in a virtualized environment, and the VMM itself can be smaller and less complex, further improving performance of the virtualized system.
Best Practices: Target Next-Generation Enterprise Virtualization Platforms
Servers based on the Quad-Core Intel® Xeon® processor MP 7300 series represent the state of the art in platforms for large-scale virtualization. As such, they are an excellent choice for makers of enterprise-class software to use as a validation platform for their solutions. Supporting up to four-way configurations (16 cores/32 simultaneous threads per server), each processor has up to 8MB of L2 cache in two separate caches, each of which is shared by two cores.
Based on Intel® Core™ microarchitecture (including FB-DIMM memory), the processor is available in a 135-watt version, as well as 80-watt and 50-watt versions for blades, with a top clock speed of 2.93 GHz. The server platform code-named "Caneland" provides dedicated high-speed interconnects to each of four Intel Xeon processors MP 7300 series with 8.3GB/s bandwidth via each of four system buses, for a cumulative bandwidth of 34GB/s.
The four-way platform supports up to 256GB of Fully Buffered DIMM-667 memory and is designed for drop-in replacement with future quad-core Intel Xeon processors MP based on 45nm process technology (expected in 2008), building investment protection into the platform. Caneland systems based on this platform have demonstrated up 2.5x greater virtualization performance1 than the leading Dual-Core Intel Xeon processor 7100 series-based systems, in the same power envelope.
In addition to raw performance, these systems incorporate next-generation virtualization features. The ability to conduct live VM migration using VMM features offers tremendous flexibility for fail-over, load-balancing, disaster-recovery, and real-time server maintenance scenarios. A new feature called Intel® VT FlexMigration enhances that ability, enabling customers to add future Intel® Xeon® processor-based systems to the same resource pool when using future versions of virtualization software. These processor enhancements are further supplemented by Virtual Machine Device Queues (VMDq), which sort data through multiple queues in the silicon, resulting in efficient network processing. VMDq technology is implemented in the NIC card chipset that requires hypervisor or host OS software support to efficiently route the groups of packets in each queue to their target VM. It will be essential technology in delivering 10Gbps Ethernet support to future virtualization solutions.
Following on to the dramatic success of two-socket servers based on the Intel Core microarchitecture (with the Dual-Core Intel Xeon processor 5100 series and Quad-Core Intel Xeon processor 5300 series), the Quad-Core Intel Xeon 7300 brings quad-core processing and Intel Core microarchitecture into the four-socket arena. The Caneland platform includes compelling low-power SKUs that are expected to spur OEM design and production of new blade designs, bringing four-socket implementations into the mainstream of the fast-growing blade-server market, for added software opportunity.
Best Practices: Accurate Benchmarking of Virtualized Workloads
Comparative performance results for applications operating in non-virtualized versus virtualized environments are a prerequisite for many customers as they consider purchasing software for use in VMs. It is therefore necessary for software makers to develop sound benchmarking procedures that are well suited to comparisons of this type. This section introduces best practices for developing such procedures.
The guidelines in this section are meant to be used in conjunction with sound general benchmarking practices, such as the development of suitable and reproducible workloads, proper documentation, and following all applicable guidelines when using publicly available benchmarks. Documenting general benchmarking practices is beyond the scope of this article, and the following list of best practices for virtualized benchmarking is not meant to be exhaustive , but rather a point of departure for vendors to use in developing their own guidelines.
- System-level considerations: Arrange testing so that the virtualized and non-virtualized tests can be performed on the same physical host(s) at different times on an isolated network segment. This provision will help to avoid extraneous effects related to individual devices, drivers, etc. It is also important to ensure that all physical hardware used in testing is included on the virtualization vendor's approved hardware list.
- vCPU considerations: Use the same number of vCPUs in the virtualized environment as physical CPUs in the non-virtualized environment.
- Memory considerations: Similarly to the vCPU consideration listed above, configure the same amount of virtual memory in the virtualized environment as there is physical memory in the non-virtualized environment.
- VM considerations: Create new VMs for use in benchmarking on the test system itself, rather than reusing existing ones. This practice helps to avoid artifacts associated with differences in the hardware abstraction layer (HAL) between the VM creation environment and the test environment.
- Network-interface considerations: Install (or enable) only the required number of physical network interface cards (NICs) in the test system, to avoid extraneous overhead. To avoid imprecise performance comparisons, do not use the same NIC for the service console and the VM during testing.
More Best Practices for Implementing Virtualization Based on Intel VT
Software vendors face specific challenges in optimizing and validating their applications for use in a virtualized environment, as well as guiding their customers in the use of those products with virtualization. As they implement virtualization in a lab setting for validation and documentation purposes, they must ensure that they have enabled optimal levels of performance, as well as implementing the technologies appropriately to provide a consistent and stable environment.
The guides in this series each address an individual product or technology area in the context of virtualization:
- Best Practices for Using VMware Infrastructure 3* with Intel® Virtualization Technology
- Best Practices for Using Xen with Intel® Virtualization Technology
- Best Practices for the VT-x and VT-i Versions of Intel® Virtualization Technology
- Best Practices for File/Print Servers, Domain Controllers, and J2EE Application Consolidation with Intel® Virtualization Technology
- Best Practices for Paravirtualization Enhancements from Intel® Virtualization Technology: EPT and VT-d
- Best Practices for Performance Using Multi-port PCI Express* Intel® Network Interface Cards on Environments with Intel® Virtualization Technology
- Best Practices for SCSI, SAS, and SANs with Intel® Virtualization Technology for High Throughput and Low Latency
- Best Practices for VMware VMotion* Cross-Architecture Compatibility
Combining software innovation with the hardware-validation resources offe red by Intel, software vendors have the opportunity to differentiate their products within their market segments, helping to build customer adoption of those applications in the fast-growing virtualized environment. By using the best practices documented in this series as a starting point, software vendors and end-user organizations can both advance their efforts to take full advantage of virtualization technology to enable their future success.
For More Information
- Intel® Software Partner Program helps software vendors improve customer confidence in using their applications in a virtualized environment, helping to drive their enterprise adoption.
- Intel VT Platform Technology Site provides an overview and description of the technology, as well as links to resources that help you identify potential benefits and the products that deliver them.
- VMware - Intel Virtualize ASAP Program assists software vendors in developing best practices, implementation guides and reference configurations for applications running in virtualized environments using VMware Infrastructure 3* and Intel Xeon processor-based server platforms.
- Intel® Xeon® Processor 7000 Sequence Overview provides product information, specifications, technical documents, and support resources for the recommended enterprise-scale virtualization platform, the Quad-Core Intel Xeon processor MP 7300 series.
1 Performance measured using the vConsolidate benchmark result published on Virtual Iron 4.0 software. Intel internal, early platform measurements comparing system configurations of four Quad-Core Intel Xeon processor X7350 Series, 2.93GHz, 8MB L2 Cache, Clarksboro Chipset with four Dual-Core Intel Xeon processor 7140M, 3.40 GHz with 16M L3 Cache, 800 MHz system bus, Intel E850 Chipset.