Placement in OpenStack carries two fundamental issues that limit its scalability. First, Nova scheduler is too slow for large clouds, as it requires full knowledge of the system's state for its decisions. Second, the orchestration engine (Heat) enables launching multi-VM cloud applications, but deploys them one at a time since Nova lacks the required application level awareness. This may lead to under-utilization and sub-optimal performance.
This session addresses both issues. We will show a faster alternative to Nova scheduler and an enhancement for application level deployment. Through extensive evaluation on real datasets, we will show that the new scheduler achieves up to x5.3 faster placements with similar quality. We will also show that our enhancement improves the performance and acceptance ratio of network services.
This session will survey placement in OpenStack, explain how placement is done within the Nova OpenStack project, and highlight its limitations. We will show that the current scheduler does not scale to large clouds, and that the bottleneck is caused by attaining a complete view of the available resources. Instead, we will show an adaptive state caching technique that mitigates the bottleneck while preserving the placement quality.
To better support multi-VM applications we will show that placement should be done for the entire application, rather than for each VM individually. This approach increases the resource utilization and optimizes the efficiency of such applications. For example, we will show an algorithm that optimizes performance of NFV service chains via improved placement. In summary, our session demonstrates enhancements to placement, which increase the scalability and efficiency of OpenStack tools.