论文标题

Autothrottle:一种实用的双级方法,用于用于SLO靶向微服务的资源管理

Autothrottle: A Practical Bi-Level Approach to Resource Management for SLO-Targeted Microservices

论文作者

Wang, Zibo, Li, Pinghe, Liang, Chieh-Jan Mike, Wu, Feng, Yan, Francis Y.

论文摘要

在保留最终用户体验的同时,对于云应用程序操作员来说,实现资源效率并不平淡。随着云应用程序逐渐采用微服务,资源管理人员面临着两个不同级别的系统行为:端到端应用程序延迟和每服务资源使用情况。但是,在这两个级别之间翻译是具有挑战性的,因为用户请求遍历(但不均匀)有助于端到端延迟的遍历异质服务。我们提出了Autothrottle,这是一个带有延迟SLO(服务级目标)的微服务的双层资源管理框架。它在架构上是将应用程序SLO反馈与服务资源控制的脱离,并通过性能目标概念桥接它们。具体而言,用于定期设置基于应用的学习控制器,以定期设置绩效目标(表示为CPU节气门比率),以实现每服务启发式控制器。我们在三个微服务应用程序上评估了Autothrottle,并具有生产方案的工作负载痕迹。结果显示,CPU节省优势,比表现最佳的基线高达26.21%,在所有基线上最多可达93.84%。

Achieving resource efficiency while preserving end-user experience is non-trivial for cloud application operators. As cloud applications progressively adopt microservices, resource managers are faced with two distinct levels of system behavior: end-to-end application latency and per-service resource usage. Translating between the two levels, however, is challenging because user requests traverse heterogeneous services that collectively (but unevenly) contribute to the end-to-end latency. We present Autothrottle, a bi-level resource management framework for microservices with latency SLOs (service-level objectives). It architecturally decouples application SLO feedback from service resource control, and bridges them through the notion of performance targets. Specifically, an application-wide learning-based controller is employed to periodically set performance targets -- expressed as CPU throttle ratios -- for per-service heuristic controllers to attain. We evaluate Autothrottle on three microservice applications, with workload traces from production scenarios. Results show superior CPU savings, up to 26.21% over the best-performing baseline and up to 93.84% over all baselines.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源