Apparatus and method for a hybrid layer of address mapping for a virtualized input/output (I/O) implementation

    公开(公告)号:US10983821B2

    公开(公告)日:2021-04-20

    申请号:US16328062

    申请日:2016-09-26

    Abstract: An apparatus and method are described for implementing a hybrid layer of address mapping for an IOMMU implementation. For example, one embodiment of a graphics processing apparatus comprises: virtualization circuitry to implement a virtualized execution environment in which a plurality of guest virtual machines (VMs) are to execute and share execution resources of the graphics processing apparatus; an input/output (I/O) memory management unit (IOMMU) to couple the VMs to one or more I/O devices; a hybrid layer address mapping (HLAM) module to combine entries from a per-process graphics translation table (PPGTT) with entries from a global graphics translation table (GGTT) into a first integrated page table, the first integrated page table mapping PPGTT guest page numbers (GPNs) to host page numbers (HPNs) and mapping GGTT virtual GPNs to HPNs; the HLAM to transform a GGTT GPN into a virtual GPN usable to access a corresponding HPN within the first integrated page table in response to a GGTT read/write operation generated by a first guest virtual machine (VM).

    HARDWARE-BASED VIRTUALIZATION OF INPUT/OUTPUT (I/O) MEMORY MANAGEMENT UNIT

    公开(公告)号:US20210064525A1

    公开(公告)日:2021-03-04

    申请号:US16958479

    申请日:2018-01-02

    Abstract: A processor includes a hardware input/output (I/O) memory management unit (IOMMU) and a core, which executes an instruction to intercept a payload from a virtual machine (VM). The payload contains a guest bus device function (BDF) identifier, a guest address space identifier (ASID), and a guest address range. The core accesses, within a virtual machine control structure stored in memory, pointers to a first set of translation tables and a second set of translation tables. The core traverses the first set of translation tables to translate the guest BDF identifier to a host BDF identifier and traverses the second set of translation tables to translate the guest ASID to a host ASID. The core stores the host BDF identifier and the host ASID in the payload and submits, to the hardware IOMMU, an administrative command containing the payload to perform invalidation of the guest address range.

    METHODS AND APPARATUS TO PROCESS COMMANDS FROM VIRTUAL MACHINES

    公开(公告)号:US20200174819A1

    公开(公告)日:2020-06-04

    申请号:US16638065

    申请日:2017-09-26

    Abstract: Methods and apparatus to process commands from virtual machines, said methods include: accessing, by a virtual nonvolatile memory device in a virtual machine monitor executing on one or more processors, a first command submitted to a guest queue by a native nonvolatile memory driver executing in a guest virtual machine; generating, by the virtual nonvolatile memory device, a translated command based on the first command by translating a virtual parameter of the first command to a physical parameter associated with a physical nonvolatile memory device; submitting, by the virtual nonvolatile memory device, the translated command to a shadow queue to be processed by the physical nonvolatile memory device based on the physical parameter; and submitting, by the virtual nonvolatile memory device, a completion status entry to the guest queue, the completion status entry indicative of completion of a direct memory access operation that copies data between the physical nonvolatile memory device and a guest memory buffer corresponding to the guest virtual machine.

    Computing apparatus and method with persistent memory

    公开(公告)号:US10521354B2

    公开(公告)日:2019-12-31

    申请号:US15572756

    申请日:2015-06-17

    Abstract: Apparatuses, methods and storage medium associated with computing that include usage and backup of persistent memory are disclosed herein. In embodiments, an apparatus for computing may comprise one or more processors and persistent memory to host operation of one or more virtual machines; and one or more page tables to store a plurality of mappings to map a plurality of virtual memory pages of a virtualization of the persistent memory of the one or more virtual machines to a plurality of physical memory pages of the persistent memory allocated to the one or more virtual machines. The apparatus may further include a memory manager to manage accesses of the persistent memory that includes a copy-on-write mechanism to service write instructions that address virtual memory pages mapped to physical memory pages that are marked as read-only. Other embodiments may be described and/or claimed.

    Techniques to run one or more containers on a virtual machine

    公开(公告)号:US10474489B2

    公开(公告)日:2019-11-12

    申请号:US15576974

    申请日:2015-06-26

    Abstract: Examples may include techniques to run one or more containers on a virtual machine (VM). Examples include cloning a first VM to result in a second VM. The cloned first VM may run at least a set of containers capable of separately executing one or more applications. In some examples, some cloned containers are stopped at either the first or second VMs to allow for at least some resources provisioned to support the first or second VMs to be reused or recycled at a hosting node. In other examples, the second VM is migrated from the hosting node to a destination hosting node to further enable resources to be reused or recycled at the hosting node.

    APPARATUS AND METHOD FOR PATTERN-DRIVEN PAGE TABLE SHADOWING FOR GRAPHICS VIRTUALIZATION

    公开(公告)号:US20180373556A1

    公开(公告)日:2018-12-27

    申请号:US16062426

    申请日:2015-12-21

    Abstract: An apparatus and method are described for pattern driven page table updates. For example, one embodiment of an apparatus comprises a graphics processing unit (GPU) to process graphics commands and responsively render a plurality of image frames; a hypervisor to virtualize the GPU to share the GPU among a plurality of virtual machines (VMs); a first guest page table managed within a first VM, the first guest page table comprising a plurality of page table entries; a first shadow page table managed by the hypervisor and comprising page table entries corresponding to the page table entries of the first guest page table; and a command parser to analyze a current working set of commands submitted from the first VM to the GPU, the command parser to responsively update the first shadow page table responsive to determining a set of page table entries predicted to be used based on the analysis of the working set of commands.

    Cooperated approach to network packet filtering

    公开(公告)号:US09736116B2

    公开(公告)日:2017-08-15

    申请号:US15057176

    申请日:2016-03-01

    Inventor: Yaozu Dong Kun Tian

    Abstract: An apparatus, system, method, and machine-readable medium are disclosed. In one embodiment the apparatus is a network interface controller that includes one virtual function owned by a virtual machine present in the computer system. The controller includes a simple filtering agent that is associated with the first virtual function. The agent enforces simple filter rules for received network packets. The simple filter rules are capable of blocking the network packets from reaching the virtual machine. The apparatus also includes another virtual function that is owned by a virtual machine monitor present in the computer system. The controller also includes a side bounce filtering agent to forward the first network packet to the second virtual function if the first packet is blocked by the at least one of the one or more simple filter rules.

    COOPERATED APPROACH TO NETWORK PACKET FILTERING
    19.
    发明申请
    COOPERATED APPROACH TO NETWORK PACKET FILTERING 有权
    网络包过滤的合作方法

    公开(公告)号:US20160285830A1

    公开(公告)日:2016-09-29

    申请号:US15057176

    申请日:2016-03-01

    Inventor: Yaozu Dong Kun Tian

    Abstract: An apparatus, system, method, and machine-readable medium are disclosed. In one embodiment the apparatus is a network interface controller that includes one virtual function owned by a virtual machine present in the computer system. The controller includes a simple filtering agent that is associated with the first virtual function. The agent enforces simple filter rules for received network packets. The simple filter rules are capable of blocking the network packets from reaching the virtual machine. The apparatus also includes another virtual function that is owned by a virtual machine monitor present in the computer system. The controller also includes a side bounce filtering agent to forward the first network packet to the second virtual function if the first packet is blocked by the at least one of the one or more simple filter rules.

    Abstract translation: 公开了一种装置,系统,方法和机器可读介质。 在一个实施例中,该装置是包括由计算机系统中存在的虚拟机拥有的一个虚拟功能的网络接口控制器。 控制器包括与第一虚拟功能相关联的简单过滤代理。 代理对接收到的网络数据包执行简单的过滤规则。 简单的过滤规则能够阻止网络数据包到达虚拟机。 该装置还包括由计算机系统中存在的虚拟机监视器拥有的另一虚拟功能。 如果第一分组被一个或多个简单过滤器规则中的至少一个阻挡,则控制器还包括侧向反弹过滤代理,以将第一网络分组转发到第二虚拟功能。

Patent Agency Ranking