QoS-Aware and Resource Efficient Microservice Deployment in Cloud-Edge Continuum
Research Question(s): How can we design a microservice scheduler and mapper that efficiently schedules microservices to improve cross-service communication overhead while maintaining low resource contention between services on the same node?
Key Contributions: This work presents Nautilus, a microservice deployment and scheduling tool which is able to assign microservices to host nodes at both cloud datacenters and edge datacenters in a manner which reduces QoS violations due to cross-node communication overheads and due to resource contention among co-located microservices. In order to reduce communication overhead, Nautilus subdivides the microservice topology into a number of subgraphs using a graph-cut algorithm which removes those edges which represent dependencies between microservices that do not pass much data between one another. The resulting subgraphs then represent the portions of the topology that should be co-located. Additionally, in order to avoid resource contention among co-located microservices, Nautilus employs a Reinforcement Learning algorithm with a dual reward structure - positive rewards for improving resource utilization, and penalties for QoS violations and throughput reductions. By employing both the graph-cut-based mapping and the RL algorithm in real time, Nautilus is able to reconfigure the deployment of a microservice stack in order to quickly address problems that may occur as load increases or as the average workload composition changes.
Opportunities for future work: The reinforcement learning algorithm used in this paper appears to try to preempt QoS violations due to resource contention, but does not encapsulate any true contention information into its reward structure. Future work could potentially consider adding such information and more directly targeting contention-based issues rather than ascribing QoS violations simply to the high-level metrics used in this paper.
Presenter: Tomislav Zabcic-Matic