This is an old revision of the document!
Resource Scheduler
Resource Scheduler
(Requirements)
The overall goal of this project is to ensure the success of VNF deployment to meet specific requirements by means of resource scheduler.
Firstly, there are several VMs in one VNF. Each VM has specific resource requirement, and each VLink between two VMs has corresponding QoS requirement. Once a VM couldn’t be deployed successfully, the VNF deployment fails. Currently, OpenStack doesn’t know whether a VNF could be deployed successfully until all VMs are deployed successfully.
Secondly, there are certain specific deployment policies and rules applied to the VNF, such as Min-host-number, load-balance, optimal-performance, affinity/anti-affinity, etc.
However, the Nova-Scheduler of OpenStack implements VM deployment via filters and weighting method currently, described in the figure below, and can’t meet these specific requirements.
Finally, to provide low call latency and high quality media service, the guest os of IMS VNF requires a real-time running environment. Specifically, the media VNFs also require high accurate system timer so that VNFs can encode media data in a constant frequency to avoid media packet jitter. However, OpenStack couldn’t isolate VNF’s compute resources completely at present so that guest OS can’t be scheduled in real time. For example, the Openstack services in compute nodes may preempt CPU from VNF’s VMs. When two or more VMs share one core, service processes will also affect each other. It is the only way to guarantee VNF’s QoS that NFVI should isolate VNF’s VM from other VNFs and NFVI service.
It’s necessary to enhance OpenStack’s scheduler to support these demands.
The figure below shows the Resource Scheduling for VNF with some specific demands, deployment policies and rules. The VNFM or NFVO request the VNF deployment by Or-Vi or Vi-Vnfm interface. The request contains the compute/storage/network resource each VM needed in the VNF, the deployment policies such as Load Balance, the rules such as VM-VM affinity/anti-affinity, and QOS requirement of the VLink, etc. Then the Scheduler get the Host and PLink real time status, and choose suitable algorithm to schedule VM and Host to deploy VNF successfully.
As a requirements category project, it plans to solve the problem as following:
The following features will be developed as part of the project.
Specify testing and integration like interoperability, scalability, high availablity
What QA and test resources will be available?
* Any other contributors: TBD