Virtualization stack supports new Intel processor capabilities
Apr 1, 2008 — by Eric Brown — from the LinuxDevices Archive — 63 viewsVirtualLogix has updated the Intel Architecture (IA) version of its embedded virtualization stack, which targets performance-critical telecom and datacom applications. VLX for Network Infrastructure (VLX-NI) 3.0 adds support for Intel VT-d (virtualization technology for directed I/O), Microsoft Windows guests, and Core Microarchitecture 3.0, while adding new Eclipse-based set-up tools.
VirtualLogix made the announcement at the Multicore Expo today in Santa Clara, where it also announced having joined the Multicore Association. The Association is a non-profit consortium focused on developing multicore standards, with members that include National Instruments, Nokia Siemens Networks, Intel, Freescale Semiconductor, and Texas Instruments (TI).
In an interview with LinuxDevices.com, VirtualLogix's Mark Milligan, VP of marketing, explained the thrust of the VLX-NI 3.0 release as follows: “As part of our alliance with Intel [Intel is an investor], we have a strategic road map that includes having us support the latest chips and latest virtualization techniques. In this case, it's VT-d.”
VT-d
Milligan explained that VT-d aims to improve performance by letting guest OSes talk directly to real hardware, rather than to the emulated hardware devices exposed by most enterprise virtualization products (VMWare, Xen, etc). The “real hardware” is a “DMA re-map” unit that Milligan likened to “an MMU (memory management unit) for DMA.” He said, “VT-d totally isolates each guest OS, even when accessing DMA with native device drivers.”
Virtual I/O vs. “Direct assigned” I/O with VT-d
(Source: Intel)
Milligan added, “Without VT-d, we have ways of isolating guest OSes, but it's not as high-performing. VTD brings complete isolation at DMA level, and VLX provides it at the normal memory level. So each OS is using its native device driver, and accessing what it thinks is the physical hardware.”
Milligan said that other Intel Architecture virtualization products present guest OSes with emulated hardware, an approach that simplifies guest OS installation, at the cost of reduced performance and configurability. “We think of [enterprise virtualization] as an adjacent market. It's been helpful in educating the market. But wherever there's a real-time need, that's the kind of thing we're good at — real-time determinism and predictability.”
Windows support
Also new in VLX-NI 3.0 is support for Windows — including SMP Windows — as a guest OS. Milligan said the feature was driven largely by requests from National Instruments, a major customer. He expects it to prove popular among other customers, too, explaining, “In the hard core [of telecom infrastructure], it's really Linux, and sometimes RTOSes [that VLX-NI is used with]. But as you get more into the edge, more into the enterprise, and into applications like VoIP and IPTV, Windows is often used as the front-end for configuration. So it's a neat opportunity, as we consolidate lots of devices on a single blade, to be able to pull in the system that provides the user interface.”
Milligan confirmed that no modifications to Windows are required, in order to run it on top of VLX-NI 3.0. He said, “Intel VT-d simplifies hardware resource partitioning, because you don't have to paravirtualize the OS.”
At the same time, he noted that VirtualLogix did have to create an emulated Ethernet device for Windows guests to use when communicating with other OSes on the same system. He explained, “For OSes where source is available — a customer's RTOS, Linux, BSD, and so on — we write a special device driver that facilitates Ethernet communications from one guest to another. With Windows, we provide an emulated Ethernet device from the virtualization layer. Performance is lower, but the loss is acceptable. After all, everyone else emulates all of their devices.”
For communication with the rest of the world not hosted on the same box, Windows accesses the real Ethernet device via VT-d just like any other guest, Milligan confirmed.
Milligan acknowledged that VLX-NI supports more sophisticated mechanisms for IPC (interprocess communications) with other guest OSes, but said performance was not the main consideration for Windows users. “Linux guests or RTOS guests have access to ring buffers and FIFO's. But I'm not sure we'd want to provide shared memory on Windows. It's all about consolidation, not performance — taking products, boards, or devices that are separate, and bringing them together in one component that can be centrally administrated and maintained.”
VLX Developer 2.0
The third major change in VLX-NI is a newly updated suite of set-up, configuration, and optimization tools. The VLX-Developer 2.0 tools provide a graphical, “drag and drop” interface that can be used standalone, or as plug-ins for customers' existing Eclipse-based environments. The tools aim to help developers optimize their virtualized systems, for example by measuring context-switching overhead between guests, measuring memory usage, configuring partitions between hardware resource such as memory, and doing profiling to determine how well resources are being utilized by the guests. The “iterative” parts within the tools are specifically for the new VLX-NI v3, Milligan said.
In addition to working with VLX-NI, the VLX Developer tools support VirtualLogix's other products, which include:
- VLX-DM (digital multimedia) — targets set-top boxes, and generated most of the company's revenues early on. A year ago, TI announced it was bundling VLX-DM with select DaVinci DSP and RISC/DSP development boards.
- VLX-MH (mobile handset) — recently used by Purple Labs in a phone touted as the first single-core Linux phone. Also touted as the first 3G phone priced below $100 (operator cost), the “Purple Magic” design also recently helped Purple Labs win a business award.
Background
VirtualLogix's VLX products combine a compact scheduler with various nanokernel components, in order to share system hardware resources between multiple heterogeneous operating system instances. The company claims that the technology helps reduce bill-of-material costs while encouraging legacy OS/application reuse, software failure containment, resource utilization, and license segregation.
VLX-NI 3.0 architecture
Another large chipmaker, TI, also recently invested in VirtualLogix. The companies announced that they would collaborate on a future Linux-based virtualization technology using TI processors, with an apparent focus on wireless applications and network access devices.
In a statement, Milligan said, “Through our collaboration with companies such as Intel and TI, VirtualLogix has expanded the growth of multicore through virtualization solutions. We look forward to further collaboration with these companies and with The Multicore Association.”
Competitors in the embedded virtualization space include Wind River, which last year acquired FSMLabs's real-time para-virtualization technology; Open Kernel Labs (OK Labs), whose real-time virtualizing microkernel is built into the Toshiba W47T mobile phone; and Sysgo, whose PikeOS includes para-virtualization technology that can host Linux as a guest OS. Trango, meanwhile, offers a Hypervisor product claimed to improve security compared to other virtualization products because it runs the guest OSes in CPU user mode rather than protected mode.
Availability
VirtualLogix VLX for Network Infrastructure 3.0 is available immediately, with pricing available upon request, says VirtualLogix. VLX Developer v2.0 with Intel support is available now for all VLX products, and is licensed on an annual per-seat basis.
The company is demonstrating VLX-NI 3.0 this week at the Multicore Expo, booth #31, in Santa Clara, Calif.
This article was originally published on LinuxDevices.com and has been donated to the open source community by QuinStreet Inc. Please visit LinuxToday.com for up-to-date news and articles about Linux and open source.