Skip to main content

Virtualization Technologies

image: IBM and Haifa


Generic Libvirt Utility Extensions (GLUE)

Libvirt is an OpenSource (LGPL) toolkit to interact with the virtualization capabilities of recent versions of Linux (and other operating systems).  It provides a generic API to manage Xen, KVM, QEMU, LXC, OpenVZ, User Mode Linux, VirtualBox and storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems.  It is a C library with bindings to a variety of languages including Java, Python,  Perl, OCaml, and Ruby.  It is also a CIM provider for the DMTF virtualization schema and a QMF agent for the AMQP/QPid messaging system. It provides remote management using TLS encryption and x509 certificates, remote management authenticating with Kerberos and SASL and local access control using PolicyKit.

In our work we are extending libvirt to be more generic, along with adding support for cloud datacenter utilities, and adding drivers to support IBM specific products and initiatives.


Network Virtualization

Service Principles
The RESERVOIR project addresses key issues that lay in the heart of Cloud Computing. Most notably, RESERVOIR defines principles for constructing a global Platform as a Service (PaaS) including:
(1) Separation of concerns between the service customers using the PaaS and Infrastructure Providers such that mutual dependency is reduced.
(2) Isolation of customer services such that a customer experiences the look and feel of a dedicated service while being billed based on shared resources.
(3) Elasticity of services allowing customers to grow and shrink their resources in view of real world demand.
(4) Federation, such that Infrastructure Providers may construct independently administered sites that collaborate to construct the offered global service. 

The IBM Haifa RESERVOIR team is developing technology called Virtual Application Network (VAN) to solve problems with network virtualization in a cloud, and to support the RESERVOIR principles of Separation, Isolation, Elasticity and Federation.

Virtual Application Networks (VANs) are a host side solution that allows hosts to construct a fully virtualized network service overlay on top of a standard IP physical network.  VAN highlights include:

Value Proposition of VANs for IBM and Customers
VANs are developed to contribute to IBM cloud computing offerings and IBM customers. In particular, VANs enable:
(1) connectivity between workloads, and
(2) migration of workloads across data center subnets and across data centers.

Some of VAN features are notably designed to fit into an enhanced offering by IBM systems and/or as part of IBM services.


Virtual Machine Relocation Enablement

The goal of the Relocation Enablers project is to relax some of the restrictions of workload mobility encountered using virtual machine (VM) live migration. While virtual machine live migration itself has become a commodity in most of today's virtualization environments, a current limitations in most (if not all) implementations is that live migration cannot be applied over large distances. When trying to extend live migration to large-distance setups, a new set of problems arrives, which includes:

In 2007-2008, we addressed the issue of cross-subnet migration which was demonstrated in the CeBIT2009 exhibition (

In 2009, our main focus is to enable VM live migration without shared storage, by leveraging storage mirroring as well as additional technologies and optimization techniques.

We are also looking into the issues related to large latencies between the source and the destination of the migration.
The research is being conducted on both PowerVM and x86/KVM platforms.


Development of allocation algorithms for optimized placement of virtual machines

Cost efficient provisioning of virtual resources to meet Service Level Agreements (SLAs) is key to the operation of a Compute Cloud. Our solution can be roughly divided into two complementary components:

We define new optimization problems that deal with affinity/antiaffinity constraints, minimal configuration constraints, locality constraints, administrative constraints, etc., pertaining to VM placement. Our policy-driven VM placement optimization engine is fully integrated with the open COIN-OR Services for Operations Research (COIN-OR OS) framework ( A great advantage of using COIN-OR OS is the ability to cast our specialized problem instances into well known problems using the standard XML-based representation language, OS instance language (OSiL), and then interface through the COIN supplied adaptors to more than 20 commercial and free solvers.  Additionally we are also developing our own solvers,specifically geared to the VM optimization problem which also interface with COIN-OR. The results produced by the back-end solvers are transformed by COIN-OR OS into a standard XML-based representation, OS result language (OSrL). An additional advantage of integrating our framework with COIN-OR OS is that it allows submission of the optimization problem instances over the Internet using Web services. This allows seamless and flexible physical separation of the computationally intensive tasks from the problem and results preparation and parsing.

VM placement under constraints poses interesting theoretical and practical challenges.  We define novel optimization problems, which are reminiscent of Bi-criteria Multiple Knapsack Problems with assignment restrictions (BMKAR), bin-packing with conflicts and Generalized Assignment Problem with Conflicts (GAP). Although these problems have been extensively studied in the last 30 years, some aspects of BSM-aligned VM placement require new approaches.

Some important differences from previously studied problems include: