当前位置:首页 > 报告详情

何荣光-VIrtio-ISM VM容器间动态安全内存共享_20230328_113546.pdf

上传人: 2*** 编号:129182 2023-05-01 17页 920.86KB

1、结合SMC实现业务零修改的高速通信Virtio-ISM:VM/容器间动态安全内存共享何容光阿里云-操作系统2023/03/26背景/应用场景随着CPU个数越来越多,一个宿主机上的容器个数也会越来越多 大数据:多安全容器/VM间Map/Reduce NFV:链式服务 Host上的服务进程 服务于()VM/安全容器当前路径TCP通信TCP/IP协议栈TCP/IP协议栈数据拷贝容器A容器B理想情况TCP通信TCP/IP协议栈TCP/IP协议栈数据拷贝容器A容器BTCP通信绕过TCP/IP协议栈绕过TCP/IP协议栈免数据拷贝容器A容器B理想情况TCP通信TCP/IP协议栈TCP/IP协议栈数据拷贝容

2、器A容器BTCP通信绕过TCP/IP协议栈绕过TCP/IP协议栈免数据拷贝容器A容器B零业务修改SMC-x family SMC-R:RDMA硬件 SMC-D:ISM设备 SMC-V:Virtio-ISM设备 为什么选用SMC?SMC的优点 SMC的缺点本地间高速通信:现有方案 模拟ISM设备 Q不通用 Q硬件Spec未公开 Ivshmem 1.0 Q一块共享内存 Ivshmem 2.0-Q所有VM呈现相同的共享内存本地间高速通信:现有方案(cont.)Virtio over ivshmem 2.0-Q设备一对一本地间高速通信:现有方案(cont.)Vhost-pci-Q1对1 Q映射所有内存

3、 VirtioVhostUser Q1对1 Q映射所有内存 相比vhost-pci:实现方式通用一点 其他proposalVirtio-ISM:整体宿主机安全容器/VM AVirtio-ism设备共享内存1token:M安全容器/VM BVirtio-ism设备普通容器(Runc)DVirtio-ism设备共享内存2token:N共享内存3Token:Y分配分配(alloc)分配分配(alloc)映射(attach)N映射(attach)Y分配分配(alloc)Host server(中心管家)协议:Get_device_info/Alloc/Attach/Grant/Free/Bind_ir

4、q/Get_irqfdVirtio-ISM:驱动呈现API(图示)宿主机安全容器/VM AVirtio-ism设备共享内存1token:M安全容器/VM BVirtio-ism设备普通容器(Runc)DVirtio-ism设备共享内存2token:N共享内存3Token:Y分配分配(alloc)分配分配(alloc)映射(attach)N映射(attach)Y分配分配(alloc)1.get_device_info()-sysid=UUID1,devid=dev12.alloc_buffer(size=1MB)-token M3.grant_buffer(token=M,target=dev2

5、)4.alloc_buffer(size=2MB)-token Y1.get_device_info()-sysid=UUID1,devid=dev22.attach_buffer(token=N)-address 0 x123,size=1MB1.get_device_info()-sysid=UUID1,devid=dev32.alloc_buffer(size=1MB)-token N3.grant_buffer(token=N,target=dev2)4.attach_buffer(token=Y)-address 0 x789,size=2MBVirtio-ISM:通知Virtio-

6、ism device 3Virtio-ism device 2Shmem Region 0Shmem Region 1 Shmem Region ZShmem regionMSI-x Region 0MSI-x Region 1 MSI-x Region ZMSI-x regionMMIO Notifier Region 0MMIO Notifier Region 1 MMIO Notifier Region ZMMIO Notifier regionShmem Region 0Shmem Region 1 Shm

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了阿里云在操作系统层面实现的一种高速通信机制——Virtio-ISM(虚拟化内部共享内存),该机制结合了SMC(系统内存通信)技术,实现在VM(虚拟机)和容器之间动态、安全地共享内存,无需修改业务代码。文章指出,随着CPU数量的增加,容器数量也随之增多,传统的TCP/IP协议栈通信效率低下。Virtio-ISM通过绕过TCP/IP协议栈,减少数据拷贝,实现了高速通信。它利用SMC-V设备,在宿主机内核态分配内存,并通过virtio设备实现容器间的通信。实验数据显示,采用Virtio-ISM后,时延从12us降低到5us,吞吐量从735MBps提升到9716 MBps。此外,Virtio-ISM还支持runc容器间的通信,并在GPU共享等真实业务场景中表现出10%~20%的性能提升。
Virtio-ISM如何实现业务零修改的高速通信? SMC协议在Virtio-ISM中的作用和优势是什么? Virtio-ISM在实际应用中带来了哪些性能提升和效果改进?
客服
商务合作
小程序
服务号
折叠