Hello CloudStack-ers! PCIe (Peripheral Component Interconnect Express) devices exist for graphics processing, storage, digital signal processing, accelerating encryption/decryption, and more. Further, within a function class, devices can exhibit different capability levels. Exposing such platform hardware capabilities to the cloud scheduler allows Virtual Machines (VMs) to explicitly request them for improved performance and for the cloud vendor the opportunity to offer services at different price points. facilitate differentiated revenur opportunities to the cloud vendor.
CloudStack already exposes GPU acceleration<https://cwiki.apache.org/confluence/display/CLOUDSTACK/GPU+and+vGPU+support+for+CloudStack+Guest+Vms>. Along these lines PCIe capabilities, including SR-IOV (Single Root IO virtualization) can be exposed. OpenStack has a set of blueprints for the same. The implementation spans tracking the PCIe devices associated with a host, their use, VM association, and requesting PCIe features. libvirt has been modified to accommodate PCIe discovery. Intel and Mirantis contributed a lot of the code. https://blueprints.launchpad.net/nova/+spec/epa-for-pcie-devices https://blueprints.launchpad.net/nova/+spec/pci-passthrough-libvirt Should you have an interest in supporting such functionality and have technical questions, please get in touch. Regards Malini Bhandaru, Intel