{"title":"Joint optimization of application placement and resource allocation for enhanced performance in heterogeneous multi-server systems","authors":"","doi":"10.1016/j.comnet.2024.110692","DOIUrl":null,"url":null,"abstract":"<div><p>Efficiently placing applications remains a critical challenge across diverse multi-server environments, including web hosting centers, cloud computing, and edge computing environments. Unfortunately, most existing studies tend to overlook the crucial aspect of resource allocation, leading to suboptimal system performance. To address this gap, there is a pressing need to holistically explore both application placement and resource allocation in a unified manner. In this paper, we introduce the place and allocate problem in heterogeneous multi-server systems, a novel approach aiming at simultaneously optimizing the placement and allocation of applications to maximize the overall utility of the heterogeneous multi-server system. Our proposed methodology harnesses the interplay between application placement and resource allocation, showcasing substantial improvements in system utility. To model individual application performance concerning their allocated resources, we employ utility functions. For concave utility functions, we present an approximation algorithm that operates efficiently with a time complexity of <span><math><mrow><mi>O</mi><mrow><mo>(</mo><mi>m</mi><msup><mrow><mi>n</mi></mrow><mrow><mn>3</mn></mrow></msup><msup><mrow><mrow><mo>(</mo><mi>l</mi><mi>o</mi><mi>g</mi><mi>C</mi><mo>)</mo></mrow></mrow><mrow><mn>2</mn></mrow></msup><mo>)</mo></mrow></mrow></math></span>, where <span><math><mi>n</mi></math></span> represents the number of applications, <span><math><mi>m</mi></math></span> is the number of servers, and <span><math><mi>C</mi></math></span> denotes the maximum available resource capacity of each server. Furthermore, we extend our approach to accommodate more general scenarios that involve applications with nonconcave utility functions and using multiple types of resources. Our study includes comprehensive experimental evaluations conducted on applications with both synthetic and real-world utility functions. Results consistently showcase that our algorithms achieve over 96.9% of optimal performance on average. Additionally, comparative analysis against several practical heuristics reveal that our algorithms outperform these methods by up to 4.3 times in total utility.</p></div>","PeriodicalId":50637,"journal":{"name":"Computer Networks","volume":null,"pages":null},"PeriodicalIF":4.4000,"publicationDate":"2024-08-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Computer Networks","FirstCategoryId":"94","ListUrlMain":"https://www.sciencedirect.com/science/article/pii/S1389128624005243","RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q1","JCRName":"COMPUTER SCIENCE, HARDWARE & ARCHITECTURE","Score":null,"Total":0}
引用次数: 0
Abstract
Efficiently placing applications remains a critical challenge across diverse multi-server environments, including web hosting centers, cloud computing, and edge computing environments. Unfortunately, most existing studies tend to overlook the crucial aspect of resource allocation, leading to suboptimal system performance. To address this gap, there is a pressing need to holistically explore both application placement and resource allocation in a unified manner. In this paper, we introduce the place and allocate problem in heterogeneous multi-server systems, a novel approach aiming at simultaneously optimizing the placement and allocation of applications to maximize the overall utility of the heterogeneous multi-server system. Our proposed methodology harnesses the interplay between application placement and resource allocation, showcasing substantial improvements in system utility. To model individual application performance concerning their allocated resources, we employ utility functions. For concave utility functions, we present an approximation algorithm that operates efficiently with a time complexity of , where represents the number of applications, is the number of servers, and denotes the maximum available resource capacity of each server. Furthermore, we extend our approach to accommodate more general scenarios that involve applications with nonconcave utility functions and using multiple types of resources. Our study includes comprehensive experimental evaluations conducted on applications with both synthetic and real-world utility functions. Results consistently showcase that our algorithms achieve over 96.9% of optimal performance on average. Additionally, comparative analysis against several practical heuristics reveal that our algorithms outperform these methods by up to 4.3 times in total utility.
期刊介绍:
Computer Networks is an international, archival journal providing a publication vehicle for complete coverage of all topics of interest to those involved in the computer communications networking area. The audience includes researchers, managers and operators of networks as well as designers and implementors. The Editorial Board will consider any material for publication that is of interest to those groups.