Synergy, a new approach for optimizing the resource usage in OpenStack
2017 December 06
Managing resource allocation in a Cloud-based data center serving multiple virtual organizations is a challenging issue. In fact, while LRMS (Local Resource Management Systems) are able to maximize the resource usage by fairly distributing computing resources among different user groups according to specific policies imposed by the data center administrator, this is not so straightforward in the most common Cloud management frameworks (e.g. OpenStack, OpenNebula). For example, the current OpenStack implementation provides a too simplistic scheduling model based on an immediate First Come, First Served paradigm. Therefore, a user request will be rejected if no resources are immediately available: it is then up to the user to later re-issue the same request. Moreover, the resource provisioning is only limited to the static partitioning strategy. In particular, each project is assigned an agreed and fixed quota of resources that cannot be exceeded by one group even if there are unused resources allocated to other groups.
The EU-funded INDIGO-DataCloud project is addressing this issue through ‘Synergy’, a new advanced scheduling and resource provisioning service targeted at OpenStack. With Synergy it is possible to maximize the resource utilization by allowing OpenStack projects to consume extra shared resources in addition to those statically allocated. Therefore such projects can now access two different kinds of quotas: the private quota and the shared one. The first one is the OpenStack quota operated in a standard OpenStack way. The shared quota is instead handled by Synergy and is composed of resources non statically allocated. Such shared resources are fairly distributed among users following the fair-share policies defined by the administrator. In case the user request cannot be immediately satisfied, it is not rejected but instead inserted in a persistent priority queue and scheduled later. We present the architecture of Synergy, the status of its implementation, some results demonstrating its functionalities and the foreseen evolution of the service.