uqSim: Scalable and Validated Simulation of Cloud Microservices

uqSim: Scalable and Validated Simulation of Cloud Microservices
复制标题

uqSim:云微服务的可扩展且经过验证的模拟

DOI:
--
复制
发表时间:
2019
期刊:
arXiv.org
影响因子:
--
通讯作者:
Christina Delimitrou
Christina Delimitrou
中科院分区:
--
文献类型:
--
作者:
Yanqi Zhang;Yu Gan;Christina Delimitrou

文献摘要

被引文献

相似文献

当前的云服务正在从单一的设计转向许多松散耦合、单一关注的微服务的图形。微服务有几个优势,包括加快开发和部署,允许软件基础设施的专门化,以及帮助调试和错误隔离。与此同时,它们带来了几个硬件和软件挑战。鉴于微服务的大部分性能和效率影响的规模大于生产部署之外的可用规模,研究这种影响需要设计正确的模拟基础设施。 我们提出了uqSim,这是一个专门为交互式微服务设计的可扩展和有效的排队网络模拟器。UqSim提供了详细的微服务内部和微服务间模型,使其能够忠实地复制复杂的多层应用程序的行为。UqSim也是模块化的,允许在微服务和端到端应用程序中重复使用各个模型。我们已经针对简单和复杂的微服务图验证了uqSim,并表明它准确地捕获了吞吐量和尾部延迟方面的性能。最后,我们使用uqSim来模拟请求扇出的规模尾部效应,以及延迟敏感型微服务中电源管理对性能的影响。
Current cloud services are moving away from monolithic designs and towards graphs of many loosely-coupled, single-concerned microservices. Microservices have several advantages, including speeding up development and deployment, allowing specialization of the software infrastructure, and helping with debugging and error isolation. At the same time they introduce several hardware and software challenges. Given that most of the performance and efficiency implications of microservices happen at scales larger than what is available outside production deployments, studying such effects requires designing the right simulation infrastructures. We present uqSim, a scalable and validated queueing network simulator designed specifically for interactive microservices. uqSim provides detailed intra- and inter-microservice models that allow it to faithfully reproduce the behavior of complex, many-tier applications. uqSim is also modular, allowing reuse of individual models across microservices and end-to-end applications. We have validated uqSim both against simple and more complex microservices graphs, and have shown that it accurately captures performance in terms of throughput and tail latency. Finally, we use uqSim to model the tail at scale effects of request fanout, and the performance impact of power management in latency-sensitive microservices.