|
Communication usage models
As Intel Corporation and other vendors migrate towards multi-core processors, communications equipment manufacturers are
changing their programming paradigms to take advantage of these additional cores. Communications equipment tends to
utilize highly specialized software that has been optimized and validated to execute as sequential logic. Thus, it is
not easily ported to a multi-core platform. By eliminating the need for equipment manufacturers to refactor their
software for multi-threaded execution, Intel® VT makes this migration simpler. Equipment manufacturers can instead
execute multiple instances of their single-threaded software, each within a separate VM, each processing a portion of
the total workload. A suitably architected VMM provides the software infrastructure necessary to distribute the workload
between VMs. Examples of multi-core migration include multiple Home Location Registers in a cellular network; or
splitting workloads between intrusion detection systems.

Figure 1: Virtualized vs. non-virtualized environment
Consolidation is common across all market segments, but offers unique benefits in communication market segments.
Telecommunications Equipment Manufacturers could utilize a VMM to consolidate multiple instances of an older legacy
single threaded application on a multi-core platform, avoiding the need to spend expensive R&D cycles on modifying
legacy code to take advantage of multi-core architectures (see Figure 1). Much of the communication equipment processing
is split between Data Plane, Control Plane, and Management Plane processing. Each plane has different processing
requirements, memory latency and bandwidth requirements, and network I/O requirements. By using Intel VT and a real-time
VMM, a manufacturer can consolidate these different planes onto fewer processing elements. This reduces equipment and
operational costs, and these savings allow the equipment manufacturers as well as their customers (the service
providers) to remain competitive. An example of such a consolidation is in the Mobile Wireless business where a system
for determining the current location of a mobile unit, called a Home Location Register (HLR), exists. Many of these
systems are proprietary in nature, and restricted to 32-bit addressing. Using Intel VT, more than one HLR can be
collocated onto a single system. The VMM allows for the splitting of workloads to multiple HLRs, and allows for a HLR
database to be greater than 4 GB in size.
A unique requirement of communication systems is their extremely high reliability. Communication systems may be required
to be available to process calls 99.999% of the time. This corresponds to less than five minutes per year of downtime,
which includes all scheduled maintenance, software and hardware upgrades, and system corrective actions. In comparison,
we may spend five minutes per day brushing our teeth, so communication systems permit approximately 1/300th the
maintenance that we perform on our teeth. Due to the implications on software design, today only high-end communication
systems can provide this level of reliability. With Intel VT, communication systems can provide greater availability
without the traditional software infrastructure costs. Many of these reliability issues arise from the customized nature
of the communication software. Intel VT provides for software fault isolation on all levels of communication systems.
This is achieved by allowing Active and Standby instances of the executing software, each within its own VM. In the
event of a software failure, the Standby instance will continue execution and assume Active status, while the failed
instance is restarted by the VMM. With this capability, the cost of a software fault, which has traditionally been
protected against via redundant hardware, is eliminated.
In addition to redundancy, the ability to perform live upgrades of software is accomplished by providing redundant
hardware components. As indicated in Figure 2, a Standby partition could be used for either hot upgrades or fault
tolerance. With Intel VT, the need for redundant hardware is eliminated. Now simply upgrading the standby instance,
restarting it, and designating it the Active instance accomplishes the software upgrade. In the event the new software
fails, the previous software version is still available to fall back on.

Figure 2: Hot upgradeability and fault tolerance
Workload migration is a more common feature of virtualized enterprise servers; however, it also has applicability to the
communications market segment. For instance, in many Voice over Internet Protocol (VoIP) implementations, there is a
device called a Soft Switch. This switch handles all aspects of call establishment and management. This switch has a set
level of capacity, and once exceeded must be replaced or augmented with a new switch. The process of configuring the new
switch is very time consuming due to its manual nature. Intel VT simplifies this process by allowing for the migration
of a complete switch instance from one hardware platform to another. In addition, expanding a network can be simplified
by first performing all configuration in a controlled lab environment and then pushing that configuration to the live
switch, thus reducing the risks associated with expansion. Using a test harness and traffic patterns from the live
environment, an expansion switch can be fully configured and tested in the lab prior to deployment in the field. Once
the expansion switch configuration has been tested, and a migration strategy put into place, the live upgrade can
proceed. This migration is shown in Figure 3, where the expansion switch has been added into the network, and a Region,
from the installed switch, is being migrated to the expansion switch. This makes for a simpler management model than
existing solutions.

Figure 3: Virtual machine migration
Communication-oriented operating systems
More so than any other market segment, the communications market segment contains many customized home grown OSs. Many times
these systems are developed with a specific product in mind and don't lend themselves well to maintainability either due
to complexity or lack of original knowledge. Virtualization allows a company to take advantage of this valuable
intellectual property while still moving forward with new technology. By providing an environment within which the
proprietary OS can operate, Intel VT allows new development to occur on general-purpose or modern OSs, while providing a
link back to the proprietary OS. Intel VT offers the first step in providing support for these legacy OSs. It provides
migration to advanced hardware technologies such as multi-core, without requiring multi-processor support within the OS.
It also eliminates the need for modification of the OS, and it improves performance by eliminating the need for binary
translation. With this capability, the proprietary technology is utilized for the purpose it was intended, and it is
saved from costly revalidation and software development efforts.
Sharing vs. assigning I/O devices
The communications market segment demands high I/O performance from the hardware/software solution. Cost is always a factor in
the design, and obtaining the most performance per watt is a driving fact for every design. In virtualized solutions,
two methods exist for providing access to high-performance I/O, namely Shared I/O and Direct Assignment models (i.e.,
driver domains).
In Shared I/O the VMM (or its host OS) provides access to an I/O device by multiplexing that access through emulation.
The guest OSs are presented with a virtual device through which they communicate. The VMM then multiplexes the access
from those virtual devices to the real I/O device below. The Shared I/O mechanism results in a performance loss due to
the introduction of a multiplexing and emulation layer; yet provides for the most flexibility in migration. Due to this
performance impact, shared I/O in communication systems is limited to non-performance critical tasks, such as the
management plane.
In Direct I/O Assignment, the VM is assigned an I/O device exclusively. Intel VT for Directed I/O (Intel VT-d) addresses
this requirement, and today this assignment occurs on the PCI bus within commercial VMMs architected to address this
need. The VMM hides access to PCI devices that are not assigned to a particular guest OS.
Technical challenges exist for Direct I/O Assignment. The biggest challenge comes with those devices that perform DMA
operations. Since a guest OS is unaware that it has been moved to a location in memory above its known starting point,
it will provide addresses to DMA devices that may reside outside its memory range. To overcome this problem, it is
necessary for either the VMM to remap these memory accesses or for hardware to dynamically do so. In the case where the
VMM remaps addresses, this either will require that the guest OS be aware of the fact that it will be relocated into a
new memory location, or that the VMM restrict the relocation accordingly. In the case where the hardware remaps DMA
addresses (as with Intel VT-d), it is necessary that the VMM program the hardware with the VM base address, and that
VM's device assignments. Direct I/O Assignment provides an order of magnitude performance improvement over Shared I/O,
at the expense of VM dynamic migration ability. This performance improvement is mandatory for all high throughput
interfaces in communications equipment and thus the tradeoff is warranted.
Partitioning the platform for better communication performance
When designing for general-purpose architectures, communication systems designers are often forced into a paradox: They
want to leverage GPOSs, various operator interface options, and other general-purpose software, but the networking
performance provided by GPOSs is less than acceptable. Virtualization can be used to solve this paradox by creating one
partition that executes a minimal OS containing just what is needed to run the performance-critical parts of the
application and provide direct access to networking devices, while another partition runs a GPOS that executes those
parts of the system that are not performance-critical, such as operator interfaces or management agents for
configuration, monitoring, and statistics and alarm reporting. Intel has prototyped an application running on such a
system and found that it outperforms the same application running on a GPOS on the same hardware by 24%.
Commercial virtualization solutions for communication networks
Commercial products such as Jaluna OSware* offer solutions that are optimized to meet the stringent demands of
communications equipment. OSware provides a robust platform that offers the key ingredients: Direct and Shared I/O, hard
real-time guarantees, bounded interrupt latencies (measured at 21 microseconds), efficient memory virtualization, and
the ability to execute both commercial as well as proprietary OSs without requiring them to be modified. Figure 4 shows
that OSware provides identical network I/O performance of benchmark applications on RedHat Enterprise Linux* when
executing in virtualized and non-virtualized environments.

Figure 4: Virtualized vs. native OS networking performance
click image for larger view
|