![一种基于内存共享机制的容器间快速通信方法研究_第1页](http://file4.renrendoc.com/view/8a33a9fb0173ddc026c86b94fb78faec/8a33a9fb0173ddc026c86b94fb78faec1.gif)
![一种基于内存共享机制的容器间快速通信方法研究_第2页](http://file4.renrendoc.com/view/8a33a9fb0173ddc026c86b94fb78faec/8a33a9fb0173ddc026c86b94fb78faec2.gif)
![一种基于内存共享机制的容器间快速通信方法研究_第3页](http://file4.renrendoc.com/view/8a33a9fb0173ddc026c86b94fb78faec/8a33a9fb0173ddc026c86b94fb78faec3.gif)
![一种基于内存共享机制的容器间快速通信方法研究_第4页](http://file4.renrendoc.com/view/8a33a9fb0173ddc026c86b94fb78faec/8a33a9fb0173ddc026c86b94fb78faec4.gif)
![一种基于内存共享机制的容器间快速通信方法研究_第5页](http://file4.renrendoc.com/view/8a33a9fb0173ddc026c86b94fb78faec/8a33a9fb0173ddc026c86b94fb78faec5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一种基于内存共享机制的容器间快速通信方法研究BUPT演讲者:陆文龙学 校:北京邮电大学目 录1研究概述研究介绍研究背景和意义323系统测试研究概述研究概述作者罗浩北京邮电大学陆文龙北京邮电大学薛晨国家计算机网络与信息安全管理中心2摘要提出了一种基于内核内存共享的同宿主Docker容器间高速通信方案。该方案在不破坏Docker容器间隔离特性的基础上实现容器间内存共享;并在该内核内存共享空间设计了面向连接的通信模型。在NUMA体系环境下的验证结果表明:该通信方案与Docker默认的虚拟网桥通信方式相比,对于Docker容器在同一NUMA节点上和在跨NUMA节点上的两种通信场景,最大吞吐量分别提升了
2、350%和110%。1研究背景和意义研究背景和意义Docker是一款轻量级虚拟化容器的管理引擎,利用Linux内核特性命名空间(namespaces)及控制组(cgroups)为容器提供隔离的运行环境。IPC namespaces隔离特定的IPC资源,这导致Linux系统上传统的进程间通信方式(如system V IPC)不能应用在同宿主Docker容器间的进程通信中,同宿主Docker容器间通常采用Linux bridge的方式进行通信。本研究提出的基于内核共享内存的同宿主Docker容器间通信方案,相比于Linux bridge通信方式,在以下方面做出了改进:优化的数据传输路径轻量级的应用
3、程序接口7研究介绍系统介绍Docker0为连接容器的虚拟网桥;veth1和veth2分别为绑定到虚拟网桥上与容器A和容器B连接的虚拟网路接口;eth0为容器A和容器B各自的网络接口。在SHMBC通信方案中,直接将内核内存块C映射到进行通信的容器A和容器B中的通信进程地址空间C中。系统包括三个管理模块:容器管理、连接管理和内存空间管理,在Docker容器的宿主机操作系统内核中,维护一张容器表和一张连接状态表,以及一个共享内存池。内存空间管理1内存空间管理用来维护一个共享内存池,该内存池中的内存块由连续的物理内存页组成,为通信连接提供共享内存空间。每个内存块由缓冲区状态信息和数据区域(多个数据块组
4、成)。在缓冲区状态信息中包含数据块数量、读索引、写索引,以及其他统计信息。其中,读/写索引在数据区域实现环形缓冲队列,并实现无锁操作。数据块缓冲区状态信息内存块内存块内存块内存池读指针写指针数据块数据块数据块数据块数据块容器管理2容器管理模块负责发现宿主机上的Docker容器,动态的维护宿主机系统中的容器列表。它使用Docker提供的“docker inspect”命令来获取容器的相关信息。右图为“Docker inspect”获取到的Docker容器的详细信息分类,以及“容器表”中的信息项。Docker inspect获取信息变量名说明Id容器编号State容器状态Name容器名Hostco
5、nfig容器配置Networksetting容器网络配置容器表容器ID运行状态容器名挂载文件IP地址列表监听端口列表连接管理listen()等待连接query()查询目标容器receive()接收数据accept()接受连接send()发送数据send()发送数据connection()申请连接close()关闭连接receive()接收数据close()关闭连接3连接管理通过“连接表”实现。服务端建立监听连接,在连接表中注册监听连接状态信息,等待客户端的连接请求;客户端查询连接目标容器是否为同宿主容器,如果是,申请连接服务端,否则提示用户采用socket通信方式;客户端申请连接,如果存在对应服务端的监听连接则建立连接,否则失败返回;连接建立后,服务端和客户端之间开始传输数据;数据传输完成,关闭连接。服务端客户端系统测试测试环境在对系统进行测试时,充分考虑了当前的NUMA体系结构对测试结果的影响,分别测试了NUMA节点内和NUMA节点间的Docker容器通信性能。测试环境如下:服务器型号DELL PowerEdge T620CPU型号2 * Intel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 音乐会门票销售合同
- 简单房屋租赁合同
- 2024年酒店管理与服务合同
- 自然人购房借款担保合同
- 绿色共享经济产业发展投资合同
- 高空作业承包合同
- 私募股权投资基金合同范本参考文本
- 房屋建筑工程专业分包合同
- 二零二四年度企业员工绩效管理优化与考核体系调整合同3篇
- 二零二四年度企业设备融资租赁担保合同样本3篇
- 春季开学安全第一课
- 课题申报书:数智赋能高职院校思想政治理论课“金课”实践路径研究
- H3CNE认证考试题库官网2022版
- 感统训练培训手册(适合3-13岁儿童)
- 牛客:2024年智能制造校园招聘白皮书
- 新入职消防员考核试卷题库(240道)
- 海员的营养-1315医学营养霍建颖等讲解
- 2023年广东省招聘事业单位人员考试真题及答案
- 幼儿平衡车训练课程设计
- 梁山伯与祝英台小提琴谱乐谱
- 我国全科医生培训模式
评论
0/150
提交评论