Abstract:
The huge cost of investment and low resource utilization in the datacenter has long been a great concern to cloud providers. To address this issue, a straightforward way is co-locating more applications on the same hardware to improve resource efficiency. However, the shared resource contention caused by co-located applications leads to performance interference, affecting the application’s performance, quality of service (QoS) and user satisfaction. Therefore, how to guarantee the performance of the co-located application has been a key issue in the colocation scenario. We introduce the researches of guaranteeing the performance of co-located applications, including the background of co-location, challenges, and key technologies. The related work is summarized from four aspects: application and cluster characterization (basic), interference detection (premise), server-level resource allocation (micro-level policy), and cluster-level job scheduling (macro-level policy). In addition, due to the diverse characteristics of co-located applications and clusters, the research of guaranteeing the performance faces different challenges and problem complexity in the different co-located scenarios. For example, the number of co-located applications deployed on a unit resource will directly affect the time cost of searching resource space, and the running mode of applications will affect the competition intensity of shared resources. Therefore, from the perspective of problem complexity, we discuss and analyze the challenges of research work from three dimensions, cluster and application characteristics, resource interference dimension, and the number of co-located applications. At the end of this paper, we discuss the future research directions and the challenges in the high deployment density scenario. We conclude that the software/hardware co-designed full-stack approach is the trend to guarantee the performance in high deployment density clusters, and this approach can help to provide predictable performance and high resource efficiency in the datacenter.