当前位置:主页 > 管理论文 > 移动网络论文 >

Docker容器间高速数据交换方法研究

发布时间:2018-03-27 06:16

  本文选题:Docker 切入点:容器 出处:《北京邮电大学》2017年硕士论文


【摘要】:随着云计算的迅猛发展,IT厂商推出多种云计算平台,Docker出现后很多IT厂商构建了 CaaS (容器即服务,Container as a Service)云计算平台以提供更加高效、轻量的服务。Docker容器之间通过Linux系统的命名空间进行隔离,容器间的连接通常采用通过虚拟网桥的桥接模式,这限制了同宿主Docker容器间的通信性能。共享内存作为进程间高速的通信方式,将其引入到同宿主Docker容器间的通信场景中能有效地提升容器间的通信效率。本文提出了一种基于内核内存共享的同宿主Docker容器间高速通信方案,并针对NUMA (Non Uniform Memory Access Architecture)体系结构进行了性能优化。本文的研究内容主要包括:(1)同宿主Docker容器间进程的内存共享:在参考多种共享内存的实现方式和理解Docker隔离特点的情况下,设计通过在宿主系统上实现一个专有虚拟字符设备驱动,Docker容器间通信进程使用该设备驱动实现的内存映射方法将同一块内存空间映射到相应的进程地址空间中,该方式没有破坏Docker原有的隔离特性;(2)基于内存共享的进程间通信机制:共享内存空间作为通信进程的临界资源,在访问内存中数据时需要进行同步控制,该方案在共享内存之上设计了一种循环缓冲队列来实现高速的读写操作,同时设计实现面向连接的通信模型和容器感知的功能;(3)基于NUMA的方案优化:多核处理器和NUMA体系结构对基于内存共享的通信方案有很大的影响,因此提出了基于NUMA体系结构的共享内存池和NUMA感知的优化方案,通过合理地分配共享内存空间和设置通信进程的CPU亲和度来有效地提升该方案的通信效率。多核处理器和NUMA体系结构在服务器市场得到了普及,而NUMA体系结构导致不同的处理器对同一个NUMA节点内存数据的访问存在性能差异。所以,本文针对NUMA体系环境进行了测试实验,实验结果表明:基于内存共享的同宿主Docker容器间通信方案与Docker默认的虚拟网桥通信方式相比,对于Docker容器在同一 NUMA节点上和在跨NUMA节点上的两种通信场景,最大吞吐量分别提升了 350%和110%。
[Abstract]:With the rapid development of cloud computing, many IT vendors have built CaaS (Container as a Service) cloud computing platform to provide more efficient. Lightweight services. Docker containers are isolated through the namespaces of the Linux system, and connections between containers are typically bridged over virtual bridges. This limits the performance of communication with the host Docker container. Introducing it into the communication scenario with the host Docker container can effectively improve the communication efficiency between the containers. In this paper, a high speed communication scheme based on kernel memory sharing between the Docker container and the host container is proposed. The performance optimization of NUMA on Uniform Memory Access Architecture is also carried out. The main contents of this paper include memory sharing of processes between NUMA Uniform Memory Access architecture and the host Docker container: under the condition of referring to various shared memory implementations and understanding the characteristics of Docker isolation, the main contents of this paper are as follows: 1. By implementing a proprietary virtual character device driver Docker container communication process on the host system, using the memory mapping method implemented by the device driver, the same memory space is mapped to the corresponding process address space. This method does not break the original isolation characteristic of Docker. (2) Inter-process communication mechanism based on memory sharing: shared memory space, as the critical resource of communication process, needs to be controlled synchronously when accessing the data in memory. In this scheme, a cyclic buffer queue is designed on shared memory to achieve high speed read and write operations. At the same time, the connection-oriented communication model and container-aware function are designed and implemented. The scheme optimization based on NUMA: the multi-core processor and the NUMA architecture have great influence on the communication scheme based on memory sharing. Therefore, an optimization scheme of shared memory pool and NUMA awareness based on NUMA architecture is proposed. The communication efficiency of this scheme is effectively improved by allocating the shared memory space reasonably and setting the CPU affinity of the communication process. Multi-core processors and NUMA architecture have been popularized in the server market. However, NUMA architecture leads to different performance of different processors accessing memory data of the same NUMA node. Therefore, this paper makes a test experiment on the NUMA system environment. The experimental results show that compared with Docker's default virtual bridge communication scheme based on memory sharing, two communication scenarios of Docker container on the same NUMA node and across NUMA node are compared. The maximum throughput increased by 350% and 110% respectively.
【学位授予单位】:北京邮电大学
【学位级别】:硕士
【学位授予年份】:2017
【分类号】:TP393.09

【相似文献】

相关重要报纸文章 前1条

1 特约撰稿人 岑义涛;从Docker容器漏洞谈Docker安全[N];网络世界;2014年

相关博士学位论文 前1条

1 马晓光;无容器凝固—非晶晶化法制备YAG基纳米透明陶瓷的研究[D];中国地质大学(北京);2017年

相关硕士学位论文 前10条

1 陆文龙;Docker容器间高速数据交换方法研究[D];北京邮电大学;2017年

2 郝启臣;面向Docker容器异常检测系统的设计与实现[D];北京邮电大学;2017年

3 徐江生;容器云平台的设计与实现[D];北京邮电大学;2017年

4 叶龙胜;基于Docker容器的SaaS模式云应用平台的研究与设计[D];北京邮电大学;2017年

5 董泽;基于容器的任务卸载技术研究[D];哈尔滨工业大学;2017年

6 张贵龙;跌落冲击作用下储液容器动态响应及液体晃荡研究[D];江苏科技大学;2017年

7 江萌;基于Docker的PaaS平台的研究与应用[D];华北电力大学(北京);2017年

8 高原;基于Docker的私有云主机系统研究与实现[D];电子科技大学;2017年

9 苗立尧;基于Docker容器的混合式集群伸缩方法研究[D];西安邮电大学;2016年

10 刘辉扬;基于Docker的容器监控和调度的研究与实现[D];华南理工大学;2016年



本文编号:1670357

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/ydhl/1670357.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户a394f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com