Blender: A Traffic-Aware Container Placement for Containerized Data Centers
Zhaorui Wu1,a, Yuhui Deng1,b, Hao Feng1, Yi Zhou2 and Geyong Min3
1Department of Computer Science, Jinan University, Guangzhou, China
adiom wu@163.com
btyhdeng@jnu.edu.cn
2Department of Computer Science, Columbus State University, Columbus, American
zhou yi@columbusstate.edu
3Department of Computer Science, University of Exeter, Exeter EX4 4QF, United Kingdom
g.min@exeter.ac.uk
ABSTRACT
Instantiated containers of an application are distributed across multiple Physical Machines (PMs) to achieve high parallel performance. Container placement plays a vital role in network traffic and the performance of containerized data centers. Existing container placement techniques do not consider the container traffic pattern, which is inadequate. To resolve this conflict, we investigate network traffic between containers and observe that it exhibits a Zipf-like distribution. We propose a novel container placement approach - Blender - by leveraging the Zipf-like distribution. Based on network traffic correlation, Blender employs RefineAlg and SplitAlg to divide containers of applications into blocks, and place these blocks across virtual machines. Blender exhibits two salient features: (i) it minimizes inter-block traffic by arranging the containers that communicate frequently in the same block. (ii) it achieves good load balancing by combining blocks according to the resource types they require and distributing them across multiple PMs. We compare Blender against two state-of-the-art methods SBP and CA-WFD. The experimental results show that Blender significantly reduces communication traffic. In particular, for the same number of PMs, Blender reduces the traffic of SBP and CA-WFD by 22% and 32%, respectively. Furthermore, with Blender in place, the physical resources of hosting PMs are well balanced and utilized.
Keywords: Container Placement, Traffic-Aware, Load Balancing, Data Centers, Cloud Computing.