Dishi Xu , Fagui Liu , Bin Wang , Xuhao Tang , Dinghao Zeng , Huaiji Gao , Runbin Chen , Qingbo Wu
{"title":"GenesisRM: A state-driven approach to resource management for distributed JVM web applications","authors":"Dishi Xu , Fagui Liu , Bin Wang , Xuhao Tang , Dinghao Zeng , Huaiji Gao , Runbin Chen , Qingbo Wu","doi":"10.1016/j.future.2024.107539","DOIUrl":null,"url":null,"abstract":"<div><div>Reducing resource waste while maintaining end-to-end latency service-level objective (SLO) by simultaneously managing CPU bandwidth, memory allocation, and pod number of web applications running on Java virtual machine (JVM) is challenging. The challenges stem from the complexity of the multi-type resource allocation optimization problem, the high sensitivity of JVM performance to resource scaling actions, and the lack of low-level resource scaling mechanisms. We present <em>GenesisRM</em>, a resource management framework with a novel state-driven architecture. Specifically, we design a state control model for JVM web applications that encompasses seven pod states. This model serves as an abstraction layer, decoupling the centralized resource management system into a global state manager and distributed pod managers. The state manager controls the state transitions of the pods based on the overall workload, while the pod managers dynamically allocate resources for each pod according to the state and local workload.Then, we propose a multi-frequency control model with two predictive state controllers and a reactive state controller to manage the state of pods based on the state control model. In addition, GenesisRM brings new mechanisms to scale JVM pods’ low-level resources without damaging their performance. We evaluate our work using a real-world JVM web application benchmark in three different scale server clusters of Pengcheng Laboratory Developer Cloud, and the 21-day experimental results show that GenesisRM saves 31.70% CPU and 17.60% memory compared to the best-performing state-of-the-art solutions while guaranteeing the SLO imposed on end-to-end latency.</div></div>","PeriodicalId":55132,"journal":{"name":"Future Generation Computer Systems-The International Journal of Escience","volume":"163 ","pages":"Article 107539"},"PeriodicalIF":6.2000,"publicationDate":"2024-09-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Future Generation Computer Systems-The International Journal of Escience","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S0167739X2400503X","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
Reducing resource waste while maintaining end-to-end latency service-level objective (SLO) by simultaneously managing CPU bandwidth, memory allocation, and pod number of web applications running on Java virtual machine (JVM) is challenging. The challenges stem from the complexity of the multi-type resource allocation optimization problem, the high sensitivity of JVM performance to resource scaling actions, and the lack of low-level resource scaling mechanisms. We present GenesisRM, a resource management framework with a novel state-driven architecture. Specifically, we design a state control model for JVM web applications that encompasses seven pod states. This model serves as an abstraction layer, decoupling the centralized resource management system into a global state manager and distributed pod managers. The state manager controls the state transitions of the pods based on the overall workload, while the pod managers dynamically allocate resources for each pod according to the state and local workload.Then, we propose a multi-frequency control model with two predictive state controllers and a reactive state controller to manage the state of pods based on the state control model. In addition, GenesisRM brings new mechanisms to scale JVM pods’ low-level resources without damaging their performance. We evaluate our work using a real-world JVM web application benchmark in three different scale server clusters of Pengcheng Laboratory Developer Cloud, and the 21-day experimental results show that GenesisRM saves 31.70% CPU and 17.60% memory compared to the best-performing state-of-the-art solutions while guaranteeing the SLO imposed on end-to-end latency.
通过同时管理 CPU 带宽、内存分配和在 Java 虚拟机(JVM)上运行的网络应用程序的 pod 数量,在保持端到端延迟服务级目标(SLO)的同时减少资源浪费是一项挑战。这些挑战源于多类型资源分配优化问题的复杂性、JVM 性能对资源扩展操作的高度敏感性以及底层资源扩展机制的缺乏。我们提出了具有新型状态驱动架构的资源管理框架 GenesisRM。具体来说,我们为 JVM 网络应用程序设计了一个状态控制模型,其中包含七个 pod 状态。该模型作为一个抽象层,将集中式资源管理系统解耦为全局状态管理器和分布式 pod 管理器。状态管理器根据整体工作量控制 pod 的状态转换,而 pod 管理器则根据状态和本地工作量为每个 pod 动态分配资源。然后,我们提出了一种多频率控制模型,其中包含两个预测性状态控制器和一个反应性状态控制器,以便根据状态控制模型管理 pod 的状态。此外,GenesisRM 还带来了新的机制,可在不损害 pod 性能的情况下扩展 JVM pod 的底层资源。我们在鹏城实验室开发者云的三个不同规模的服务器集群中使用一个真实世界的JVM网络应用程序基准来评估我们的工作,21天的实验结果表明,与性能最好的先进解决方案相比,GenesisRM节省了31.70%的CPU和17.60%的内存,同时保证了对端到端延迟施加的SLO。
期刊介绍:
Computing infrastructures and systems are constantly evolving, resulting in increasingly complex and collaborative scientific applications. To cope with these advancements, there is a growing need for collaborative tools that can effectively map, control, and execute these applications.
Furthermore, with the explosion of Big Data, there is a requirement for innovative methods and infrastructures to collect, analyze, and derive meaningful insights from the vast amount of data generated. This necessitates the integration of computational and storage capabilities, databases, sensors, and human collaboration.
Future Generation Computer Systems aims to pioneer advancements in distributed systems, collaborative environments, high-performance computing, and Big Data analytics. It strives to stay at the forefront of developments in grids, clouds, and the Internet of Things (IoT) to effectively address the challenges posed by these wide-area, fully distributed sensing and computing systems.