Font Size: a A A

Research On High Speed Data Excahnge Method Between Docker Containers

Posted on:2018-05-18Degree:MasterType:Thesis
Country:ChinaCandidate:W L LuFull Text:PDF
GTID:2348330518496908Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
With the rapid development of cloud computing,IT vendors introduced a variety of cloud computing platform. Many IT vendors use Docker to build CaaS (Container as a Service) cloud computing platform to provide more efficient and lightweight services. Docker containers with bridging mode are usually connected through a virtual bridge, and the containers are isolated by namespace characteristic of the Linux system, which limits communication performance between Docker containers on the same host.As a high-speed inter-process communication method, if shared memory could be applied in the communication of the same host Docker containers, which can effectively improve the communication performance. This paper presents a fast communication method between containers based on kernel-memory sharing mechanism and the optimization of performance on NUMA architecture. The main contents of this paper are as follows: (1) Shared memory between processes of different Docker container on the same host: With reference of some implements of shared memory and understand of Docker isolation features, the scheme is implemented by implementing a private virtual character device driver on the host system, the communication processes in different Docker containers mapped the same memory space to corresponding process address space with memory-map method achieved by this device driver,and this way does not destroy the original Docker isolation characteristics; (2) The communition mechanism based on shared memory:As the critical resource of the communication process, the shared memory space needs to be controlled synchronously when accessing the the memory. The scheme designs a buffer of ring queue to realize high-speed read and write operations on the shared memory,and impletements a connection-oriented communication model and the container-aware function; (3) NUMA (Non-Uniform Memory Access Architecture)-based scheme optimization:multi-core processor and NUMA architecture have great influence on the communication scheme based on memory sharing. So, the shared memory pool and NUMA-aware optimization scheme were presented, through the reasonable allocation of shared memory space and the setting of communication process CPU affinity to effectively improve the communication efficiency of the scheme.Multi-core processors and NUMA architectures have gained popularity in the server market, and NUMA architectures result in different processors accessing data from the same NUMA node differently. Therefore, this paper tests the NUMA system environment, the test shows that by comparing the communication scheme based on memory sharing to the default communication way of virtual bridge in Docker, for two communication circumstances of Docker containers on the same NUMA node and across NUMA nodes, the maximum throughput is improved by 350% and 110%.
Keywords/Search Tags:Dockers containers, communication between containers, memory map, memory sharing, NUMA-aware optimaztion
PDF Full Text Request
Related items