Patents by Inventor Andrea Arcangeli

Andrea Arcangeli has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20180287330
    Abstract: A system and method for an active Q-switched fiber laser cavity may include a pump source for emitting a laser beam at a wavelength along an optical path including an active optical medium. A modulation device may be configured to introduce tunable losses into the optical path. The tunable losses may be achieved through modulation of the transmissivity of an optical element within the optical path, the modulation of said optical element being performed over (i) a first period of time in which a cavity Q curve increases from a first percentage value to a second percentage value of a maximum Q value and (ii) a second period of time in which the cavity Q curve increases from a third percentage value to a fourth percentage value of the maximum Q value. The cavity Q curve may non-linearly and smoothly transition between (i) the first and second percentage values and (ii) the third and fourth percentage values.
    Type: Application
    Filed: March 30, 2017
    Publication date: October 4, 2018
    Inventors: Andrea Arcangeli, Mihamed Hammouda
  • Patent number: 10061622
    Abstract: Systems and methods for providing dynamic topology information to virtual machines hosted by a multi-processor computer system supporting non-uniform memory access (NUMA). An example method may comprise assigning, by a hypervisor executing on a computer system, unique identifiers to a plurality of memory blocks residing on a plurality of physical nodes; determining that a memory block has been moved from a first physical node to a second physical node; determining memory access latency values to the second physical node by a plurality of virtual processors of the computer system; and updating, using a unique identifier of the memory block, a data structure storing memory access latency information, with the memory access latency values for the memory block.
    Type: Grant
    Filed: February 26, 2013
    Date of Patent: August 28, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 10055136
    Abstract: Systems and methods for maintaining guest input/output (I/O) tables in a swappable memory. An example method comprises: allocating, by a hypervisor running on a host computer system, one or more memory pages mapped into a memory space of a virtual machine running on the host computer system, to store a guest input/output (I/O) table comprising a plurality of I/O table entries, wherein each I/O table entry maps a device identifier of an I/O device to a memory address of a memory buffer associated with the I/O device; determining, by a processing device of the host computer system, that a memory page comprises one or more I/O table entries that reference memory buffers that are marked as being not accessible by associated I/O devices; and swapping out the memory page to a backing storage.
    Type: Grant
    Filed: July 29, 2015
    Date of Patent: August 21, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 10019276
    Abstract: An example method of moving RDMA memory from a first node to a second node includes protecting a memory region from write operations. The memory region resides on a first node and includes a set of RDMA memory pages. A list specifies the set of RDMA memory pages and is associated with a memory handler. The set of RDMA memory pages includes a first memory page. The method also includes allocating a second memory page that resides on a second node and copying data stored in the first memory page to the second memory page. The method also includes updating the list by replacing the first memory page specified in the list with the second memory page. The method further includes registering the updated list as RDMA memory. The updated list is associated with the memory handler after the registering.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: July 10, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20180121243
    Abstract: Systems and methods for identifying memory devices for swapping virtual machine memory pages. An example method may comprise: identifying, by a processing device, a workload type associated with a workload being executed by a computer system; identifying a memory device associated with the workload type; evaluating a memory pressure metric reflecting a period of time during which an application being executed by the computer system has been blocked by a memory allocation operation; and responsive to determining that the memory pressure metric exceeds a threshold value, allocating a memory block on the identified memory device.
    Type: Application
    Filed: December 22, 2017
    Publication date: May 3, 2018
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 9940167
    Abstract: Systems and methods for identifying memory devices for swapping virtual machine memory pages. An example method may comprise: determining a workload type associated with a workload being executed by a virtual machine running on a computer system; identifying a memory device associated with the workload type; and allocating a memory block on the identified memory device for swapping memory pages of the virtual machine.
    Type: Grant
    Filed: May 20, 2014
    Date of Patent: April 10, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 9875047
    Abstract: Embodiments of the present disclosure enable exit-less host memory locking in a virtualized environment. An example method comprises protecting, by a processing device of a host computer system, a memory page from being accessed by a guest operating system of a virtual machine running on the host computer system. The locking indicator resides in a shared memory accessible by the guest operating system. Responsive to determining that the locking indicator indicates that the memory page is not in a locked state, the memory page is accessed. Thereafter, access to the memory page is re-enabled for the guest operating system.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: January 23, 2018
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 9836240
    Abstract: An example method of providing deduplication support for one or more memory pages includes setting, by a memory manager, an initial memory page to a write protection mode. The initial memory page is located in an address space allocated to a memory consumer. The method also includes detecting, by the memory manager, an attempted write to the initial memory page. The method further includes creating, by the memory manager, a copy of the initial memory page in response to detecting the attempted write. The method also includes discarding, based on a determination of whether to discard the initial memory page or the copy of the initial memory page, the initial memory page or the copy of the initial memory page to provide protection for memory deduplication.
    Type: Grant
    Filed: September 29, 2015
    Date of Patent: December 5, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 9772962
    Abstract: A guest operating system (OS) detects a direct memory access (DMA) write request for a device assigned to a guest OS to perform a DMA write to a page of memory and, prior to a write access of to the page, sets a DMA write state of a guest physical address for the requested page of memory to indicate that a DMA write operation is in progress for the requested page. The guest OS causes a virtual central processing unit (CPU) to attempt to write to the requested page of memory and sends the DMA write request to the device to cause the device to write to the requested page of memory.
    Type: Grant
    Filed: May 28, 2015
    Date of Patent: September 26, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 9753861
    Abstract: Embodiments of the disclosure enable exit-less movement of guest memory assigned to a device in a virtualized environment. An example method comprises detecting, by a processing device of a host computer system, an event triggering a move/copy of a memory page residing at a first memory location that is mapped to a virtual address space of a virtual machine being hosted by the host computer system. Thereafter, the first memory location is un-mapped from the virtual address space of the virtual machine. Responsive to determining that a DMA write indicator associated with a hardware device assigned to the virtual machine indicates that a DMA write operation is not in progress, the memory page is moved from the first memory location to a second memory location. Then, the second memory location is mapped into the virtual address space of the virtual machine for use by an input/output memory management unit.
    Type: Grant
    Filed: May 27, 2015
    Date of Patent: September 5, 2017
    Assignee: Red Hat Israel, Ltd
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20170249090
    Abstract: A system and method of de-duplication includes receiving a first page, scanning a first structure, identifying a first match, determining a quantity of mappings to the first match is less than a threshold, and adding a first mapping to the first match. The method includes receiving a second page, scanning the first structure, identifying the first match, determining the quantity of mappings to the first match meets the threshold, and storing the second page in a second structure. The method includes receiving a third page, scanning the first structure, identifying the first match, determining the quantity of mappings to the first match meets the threshold, scanning the second structure, identifying the second page as the match, and creating a third structure that replaces the first match and includes an identifier node, the first match, and a second match with the second and third mapping identifying the second and third pages.
    Type: Application
    Filed: February 26, 2016
    Publication date: August 31, 2017
    Inventors: Andrea Arcangeli, Michael Tsirkin
  • Publication number: 20170249179
    Abstract: A guest OS detects a DMA write request for a device assigned to the guest OS to perform a DMA write to a shared page of memory that has a write protection attribute to cause a protection page fault upon an attempt to write to the shared page of memory. The guest OS reads a portion of the shared page of memory from a location of that page, determines the value of the portion, and executes an atomic instruction that writes the value back to the location of the shared page of memory to trigger the page protection fault. Upon executing the atomic instruction, the guest OS sends the DMA write request to the device to cause the device to write to a writeable copy of the shared page of memory.
    Type: Application
    Filed: February 29, 2016
    Publication date: August 31, 2017
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Patent number: 9720846
    Abstract: A hypervisor detects a page fault associated with the request for a device assigned to a guest operating system to perform direct memory access (DMA) of a requested page of memory, invalidates a mapping in a central processing unit (CPU) page table of a guest physical address to a host physical address for a candidate page for being swapped out of host memory, checks a DMA access state of the candidate page to determine whether or not the candidate page can be swapped out from the host memory, and removes the candidate page from the host memory in response to determining that the DMA access state indicates that the candidate page can be swapped out.
    Type: Grant
    Filed: May 28, 2015
    Date of Patent: August 1, 2017
    Assignee: Red Hat Israel, Ltd.
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20170090816
    Abstract: An example method of providing deduplication support for one or more memory pages includes setting, by a memory manager, an initial memory page to a write protection mode. The initial memory page is located in an address space allocated to a memory consumer. The method also includes detecting, by the memory manager, an attempted write to the initial memory page. The method further includes creating, by the memory manager, a copy of the initial memory page in response to detecting the attempted write. The method also includes discarding, based on a determination of whether to discard the initial memory page or the copy of the initial memory page, the initial memory page or the copy of the initial memory page to provide protection for memory deduplication.
    Type: Application
    Filed: September 29, 2015
    Publication date: March 30, 2017
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20170031593
    Abstract: Systems and methods for maintaining guest input/output (I/O) tables in a swappable memory. An example method comprises: allocating, by a hypervisor running on a host computer system, one or more memory pages mapped into a memory space of a virtual machine running on the host computer system, to store a guest input/output (I/O) table comprising a plurality of I/O table entries, wherein each I/O table entry maps a device identifier of an I/O device to a memory address of a memory buffer associated with the I/O device; determining, by a processing device of the host computer system, that a memory page comprises one or more I/O table entries that reference memory buffers that are marked as being not accessible by associated I/O devices; and swapping out the memory page to a backing storage.
    Type: Application
    Filed: July 29, 2015
    Publication date: February 2, 2017
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20160350260
    Abstract: An example method of moving RDMA memory from a first node to a second node includes protecting a memory region from write operations. The memory region resides on a first node and includes a set of RDMA memory pages. A list specifies the set of RDMA memory pages and is associated with a memory handler. The set of RDMA memory pages includes a first memory page. The method also includes allocating a second memory page that resides on a second node and copying data stored in the first memory page to the second memory page. The method also includes updating the list by replacing the first memory page specified in the list with the second memory page. The method further includes registering the updated list as RDMA memory. The updated list is associated with the memory handler after the registering.
    Type: Application
    Filed: May 27, 2015
    Publication date: December 1, 2016
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20160350244
    Abstract: A guest operating system (OS) detects a direct memory access (DMA) write request for a device assigned to a guest OS to perform a DMA write to a page of memory and, prior to a write access of to the page, sets a DMA write state of a guest physical address for the requested page of memory to indicate that a DMA write operation is in progress for the requested page. The guest OS causes a virtual central processing unit (CPU) to attempt to write to the requested page of memory and sends the DMA write request to the device to cause the device to write to the requested page of memory.
    Type: Application
    Filed: May 28, 2015
    Publication date: December 1, 2016
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20160350236
    Abstract: A hypervisor detects a page fault associated with the request for a device assigned to a guest operating system to perform direct memory access (DMA) of a requested page of memory, invalidates a mapping in a central processing unit (CPU) page table of a guest physical address to a host physical address for a candidate page for being swapped out of host memory, checks a DMA access state of the candidate page to determine whether or not the candidate page can be swapped out from the host memory, and removes the candidate page from the host memory in response to determining that the DMA access state indicates that the candidate page can be swapped out.
    Type: Application
    Filed: May 28, 2015
    Publication date: December 1, 2016
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20160350018
    Abstract: Embodiments of the present disclosure enable exit-less host memory locking in a virtualized environment. An example method comprises protecting, by a processing device of a host computer system, a memory page from being accessed by a guest operating system of a virtual machine running on the host computer system. The locking indicator resides in a shared memory accessible by the guest operating system. Responsive to determining that the locking indicator indicates that the memory page is not in a locked state, the memory page is accessed. Thereafter, access to the memory page is re-enabled for the guest operating system.
    Type: Application
    Filed: May 27, 2015
    Publication date: December 1, 2016
    Inventors: Michael Tsirkin, Andrea Arcangeli
  • Publication number: 20160350235
    Abstract: Embodiments of the disclosure enable exit-less movement of guest memory assigned to a device in a virtualized environment. An example method comprises detecting, by a processing device of a host computer system, an event triggering a move/copy of a memory page residing at a first memory location that is mapped to a virtual address space of a virtual machine being hosted by the host computer system. Thereafter, the first memory location is un-mapped from the virtual address space of the virtual machine. Responsive to determining that a DMA write indicator associated with a hardware device assigned to the virtual machine indicates that a DMA write operation is not in progress, the memory page is moved from the first memory location to a second memory location. Then, the second memory location is mapped into the virtual address space of the virtual machine for use by an input/output memory management unit.
    Type: Application
    Filed: May 27, 2015
    Publication date: December 1, 2016
    Inventors: Michael Tsirkin, Andrea Arcangeli