FreeFlow: High Performance Container Networking - Yu, Tianlong; Noghabi, Shadi A.; Sekar, Vyas; Liu, Hongqiang; Padhye, Jitu; Raindel, Shachar (HotNets 2016, 2016)
As the popularity of container technology grows, many applications are being developed, deployed and managed as groups of containers that communicate among each other to deliver the desired service to users. However, current container networking solutions have either poor performance or poor portability, which undermines the advantages of containerization. In this paper, we propose FreeFlow, a container networking solution which achieves both high performance and good portability. FreeFlow leverages two insights: first, in most container deployments a central entity (i.e. the orchestrator) exists that is fully aware of the location of each container. Second, strict isolation is unnecessary among containers belonging to the same application. Leveraging these two observations allows FreeFlow to use a variety of technologies such as shared memory and RDMA to improve network performance (higher throughput, lower latency, and less CPU overhead), while maintaining full portability – and do all this in a manner that is completely transparent to application developers.