IEEECloud’18 Paper: Detecting Containerized Application Dependencies

A Toolset for Detecting Containerized Application’s Dependencies in CaaS Clouds, Pinchao Liu, Liting Hu, Hailu Xu, Zhiyuan Shi, Jason Liu, Qingyang Wang, Jai Dayal, and Yuzhe Tang. In Proceedings of the 2018 IEEE International Conference on Cloud Computing (IEEE CLOUD 2018), July 2018. [to appear]


There has been a dramatic increase in the popularity of Container as a Service (CaaS) clouds. The CaaS multi-tier applications could be optimized by using network topology, link or server load knowledge to choose the best endpoints to run in CaaS cloud. However, it is difficult to apply those optimizations to the public datacenter shared by multi-tenants. This is because of the opacity between the tenants and the datacenter providers: Providers have no insight into tenant’s container workloads and dependencies, while tenants have no clue about the underlying network topology, link, and load. As a result, containers might be booted at wrong physical nodes that lead to performance degradation due to bi-section bandwidth bottleneck or co-located container interference. We propose `DocMan’, a toolset that adopts a black-box approach to discover container ensembles and collect information about intra-ensemble container interactions. It uses a combination of techniques such as distance identification and hierarchical clustering. The experimental results demonstrate that DocMan enables optimized containers placement to reduce the stress on bi-section bandwidth of the datacenter’s network. The method can detect container ensembles at low cost and with 92% accuracy and significantly improve performance for multi-tier applications under the best of circumstances.


title = {A Toolset for Detecting Containerized Application's Dependencies in CaaS Clouds},
author = {Pinchao Liu and Liting Hu and Hailu Xu and Zhiyuan Shi and Jason Liu and Qingyang Wang and Jai Dayal and Yuzhe Tang},
booktitle = {Proceedings of the 2018 IEEE International Conference on Cloud Computing (IEEE CLOUD 2018)},
month = {July},
year = {2018}