[发明专利]具有DMA写时复制的高密度虚拟机容器有效
| 申请号: | 201680082990.5 | 申请日: | 2016-03-31 |
| 公开(公告)号: | CN108701047B | 公开(公告)日: | 2023-08-01 |
| 发明(设计)人: | 田坤;董耀祖 | 申请(专利权)人: | 英特尔公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455 |
| 代理公司: | 永新专利商标代理有限公司 72002 | 代理人: | 刘瑜;王英 |
| 地址: | 美国加*** | 国省代码: | 暂无信息 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 具有 dma 复制 高密度 虚拟机 容器 | ||
各种实施例总体上涉及使用直接存储器存取映射时复制来分配和供应存储器页面。提供了一种虚拟机管理器,用于从克隆的虚拟机接收直接存储器存取映射控制信号,并且按机会为克隆的虚拟机分配和供应存储器页面。
技术领域
本文描述的实施例总体上涉及虚拟机以及运行一个或多个容器的虚拟机。
背景技术
用于数据中心的系统虚拟化可以包括数据中心的节点或服务器被配置为托管虚拟机(VM)。彼此相关的VM可以提供强大的、隔离的执行环境,以用于执行与提供网络服务相关联的应用。每个VM可以针对可以与其他VM安全地隔离的不同客户端运行操作系统(OS)。此外,除了应用执行环境之外,每个VM可以具有其自己的OS内核。
经常使用“容器”(例如,Linux容器(LXC)或Docker)来促进OS级别以上的虚拟化。容器可以向应用的多个执行环境提供与VM执行环境相比略微减少的隔离。容器可以经由用于进程标识符(PID)、进程间通信(IPC)、存储等的分开的命名空间来维护一些隔离。如可以认识到的,每个容器的应用空间可以彼此隔离。然而,操作系统在容器之间共享。
附图说明
图1示出了示例第一系统。
图2示出了示例直接存储器存取映射时复制的方案。
图3示出了用于发送DMA映射控制信号的第一示例方案。
图4示出了用于发送DMA映射控制信号的第二示例方案。
图5示出了用于发送DMA映射控制信号的第三示例方案。
图6示出了第一示例技术。
图7示出了第二示例技术。
图8示出了装置的示例框图。
图9示出了根据实施例的示例存储介质。
图10示出了根据实施例的设备。
具体实施方式
本公开提供了在主机上同时操作多个容器实例。每个容器实例可以在个体虚拟机中操作。因此,除了应用空间之间的隔离之外,本公开还提供了操作系统在容器之间的隔离。特别地,本公开提供了可以从原始VM克隆或复制虚拟机(VM)或多个VM以提供容器之间的进一步隔离。利用与原始VM相同的存储器分配(例如,扩展存储器页表等)来创建新创建的VM。例如,每个VM的EPT表可以指向同一组存储器页面。然而,新创建的VM的EPT表条目被标记为只读。因此,在操作期间,主机系统可以分配新的存储器页面并且按照需要更新EPT表以保存系统资源。更具体地,本公开提供了与来自每个VM内的活动容器的要求一致的整体系统资源占用。
值得注意的是,容器可以在本地或在VM内实现。通常,与本地容器相比,VM容器提供更好的隔离。然而,典型地可以以比VM容器高的密度来供应本地容器并且具有比VM容器高的性能。存在一些尝试来改进VM容器的密度和性能。例如,可以实现存储器写时复制以增加VM容器密度和供应时间,同时I/O直通可以改进整体VM容器性能。然而,存储器写时复制和I/O直通技术不能组合在一起。
一种用于分配新的存储器页面和更新EPT表的方法被称为存储器写时复制。在写时复制系统中,当VM尝试写入标记为只读的存储器页面时,主机分配新的存储器页面并且更新EPT表条目。特别地,由于EPT表中的只读条目,可能触发CPU写入页面错误,并且提示主机针对新的VM分配新的存储器页面并且更新EPT表。
然而,这种写时复制系统不支持I/O直通,I/O直通允许VM通过输入-输出存储器管理单元(IOMMU)直接与指派的设备一起操作。当启用I/O直通时,还需要捕获来自指派的设备的写入操作,否则整个写时复制系统被破坏。因此,当使用写时复制系统时,不能使用I/O直通(导致性能下降),或者当使用I/O直通时必须禁用写时复制(导致密度和供应时间下降)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680082990.5/2.html,转载请声明来源钻瓜专利网。





