Patents by Inventor Rajesh Venkatasubramanian

Rajesh Venkatasubramanian 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).

  • Patent number: 11573905
    Abstract: Examples described herein include systems and methods for retaining information about bad memory pages across an operating system reboot. An example method includes detecting, by a first instance of an operating system, an error in a memory page of a non-transitory storage medium of a computing device executing the operating system. The operating system can tag the memory page as a bad memory page, indicating that the memory page should not be used by the operating system. The operating system can also store tag information indicating memory pages of the storage medium that are tagged as bad memory pages. The example method can also include receiving an instruction to reboot the operating system, booting a second instance of the operating system, and providing the tag information to the second instance of the operating system. The operating system can use the tag information to avoid using the bad memory pages.
    Type: Grant
    Filed: January 21, 2021
    Date of Patent: February 7, 2023
    Assignee: VMware, Inc.
    Inventors: Tobias Stumpf, Ashish Kaila, Mukund Gunti, Rajesh Venkatasubramanian
  • Publication number: 20230033029
    Abstract: Disclosed are various embodiments for optimized memory tiering. A first page can be allocated in a first memory for a process, the first memory being associated with a first memory tier. Accesses of the first page by the process during execution of the process can be monitored. Then, accesses of the first page by the process during execution of the process can be compared to an allocation policy to make a first determination to move the contents of the first page from the first memory to a second memory associated with a second memory tier. Next, the contents of the first page can be copied from the first memory to a second page in the second memory in response to the first determination.
    Type: Application
    Filed: July 22, 2021
    Publication date: February 2, 2023
    Inventors: Marcos Kawazoe Aguilera, Renu Raman, Pratap Subrahmanyam, Praveen Vegulla, Rajesh Venkatasubramanian
  • Publication number: 20230031304
    Abstract: Disclosed are various embodiments for optimized memory tiering. An ideal tier size for a first memory and an ideal tier size for a second memory can be determined for a process. Then, a host computing device can be identified that can accommodate the ideal tier size for the first memory and the second memory. Subsequently, the process can be assigned to the host computing device.
    Type: Application
    Filed: July 22, 2021
    Publication date: February 2, 2023
    Inventors: Marcos Kawazoe Aguilera, Renu Raman, Pratap Subrahmanyam, Praveen Vegulla, Rajesh Venkatasubramanian
  • Publication number: 20230023696
    Abstract: Disclosed are various embodiments for optimizing the migration of processes or virtual machines in cluster memory systems. To begin, a first computing device can identify a set of pages allocated to a process or virtual machine hosted by the first computing device. Then, the first computing device can identify a subset of the allocated pages that have been accessed with a least a predefined frequency. Next, the first computing device can copy the subset of the allocated pages to a second computing device. Subsequently, the first computing device can copy a page mapping table to the second computing device, the page mapping table specifying which pages in the set of pages allocated to the process or virtual machine are stored by a memory host. Finally, the first computing device can copy remaining ones of the allocated pages to the second computing device.
    Type: Application
    Filed: October 7, 2021
    Publication date: January 26, 2023
    Inventors: Marcos K. AGUILERA, Pratap SUBRAHMANYAM, Sairam VEERASWAMY, Praveen VEGULLA, Rajesh VENKATASUBRAMANIAN
  • Publication number: 20230028047
    Abstract: A method of preserving the contiguity of large pages of a workload during migration of the workload from a source host to a destination host includes the steps of: detecting at the destination host, receipt of a small page of zeros from the source host, wherein, at the source host, the small page is part of one of the large pages of the workload; and upon detecting the receipt of the small page of zeros, storing, at the destination host, all zeros in a small page that is part of one of the large pages of the workload.
    Type: Application
    Filed: July 23, 2021
    Publication date: January 26, 2023
    Inventors: Arunachalam RAMANATHAN, Yury BASKAKOV, Anurekh SAXENA, Ying YU, Rajesh VENKATASUBRAMANIAN, Michael Robert STUNES
  • Publication number: 20230025699
    Abstract: Techniques that enable a hypervisor to (1) maintain shared memory pages and (2) handle memory accounting for VMs that are suspended to and resumed from the volatile memory of a host system are provided. Regarding (1), the hypervisor can maintain shared memory pages in volatile memory across the suspend-to-memory and resume-from-memory operations, without having to save their reference counts. Regarding (2), the hypervisor can keep track of the volatile memory reserved and consumed by VMs as they are suspended and resumed, without erroneously double counting that memory.
    Type: Application
    Filed: November 19, 2021
    Publication date: January 26, 2023
    Inventors: KIRAN TATI, Preeti Agarwal, Ishan Banerjee, Rajesh Venkatasubramanian, Ashish Kaila, Halesh Sadashiv, Valeriy Zhuravlev
  • Publication number: 20230027937
    Abstract: Techniques that enable a hypervisor to (1) maintain shared memory pages and (2) handle memory accounting for VMs that are suspended to and resumed from the volatile memory of a host system are provided. Regarding (1), the hypervisor can maintain shared memory pages in volatile memory across the suspend-to-memory and resume-from-memory operations, without having to save their reference counts. Regarding (2), the hypervisor can keep track of the volatile memory reserved and consumed by VMs as they are suspended and resumed, without erroneously double counting that memory.
    Type: Application
    Filed: November 19, 2021
    Publication date: January 26, 2023
    Inventors: RAJESH VENKATASUBRAMANIAN, ISHAN BANERJEE, PREETI AGARWAL, ASHISH KAILA, HALESH SADASHIV
  • Publication number: 20230021883
    Abstract: Disclosed are various embodiments for optimizing the migration of pages of memory servers in cluster memory systems. To begin, a computing device can mark in a page table of the computing device that a page stored on a first memory host is not present. Then, the computing device can flush a translation lookaside buffer of the computing device. Next, the computing device can copy the page from the first memory host to a second memory host. Moving on, the computing device can update a page mapping table to reflect that the page is stored in the second memory host. Then, the computing device can mark in the page table of the computing device that the page stored in the second memory host is present. Subsequently, the computing device can discard the page stored on the first memory host.
    Type: Application
    Filed: October 7, 2021
    Publication date: January 26, 2023
    Inventors: MARCOS K. AGUILERA, PRATAP SUBRAHMANYAM, SAIRAM VEERASWAMY, PRAVEEN VEGULLA, RAJESH VENKATASUBRAMANIAN
  • Publication number: 20230017224
    Abstract: Disclosed are various embodiments for improving the resiliency and performance for clustered memory. A computing device can mark a page of the memory as being reclaimed. The computing device can then set the page of the memory as read-only. Next, the computing device can submit a write request for the contents of the page to individual ones of a plurality of memory hosts. Subsequently, the computing device can receive individual confirmations of a successful write of the page from the individual ones of the plurality of memory hosts. Then, the computing device can mark the page as free in response to receipt of the individual confirmations of the successful write from the individual ones of the plurality of memory hosts.
    Type: Application
    Filed: September 22, 2021
    Publication date: January 19, 2023
    Inventors: MARCOS K. AGUILERA, KEERTHI KUMAR, PRAMOD KUMAR, PRATAP SUBRAHMANYAM, SAIRAM VEERASWAMY, RAJESH VENKATASUBRAMANIAN
  • Publication number: 20230021067
    Abstract: Disclosed are various embodiments for improving resiliency and performance of clustered memory. A computing device can acquire a chunk of byte-addressable memory from a cluster memory host. The computing device can then identify an active set of allocated memory pages and an inactive set of allocated memory pages for a process executing on the computing device. Next, the computing device can store the active set of allocated memory pages for the process in the memory of the computing device. Finally, the computing device can store the inactive set of allocated memory pages for the process in the chunk of byte-addressable memory of the cluster memory host.
    Type: Application
    Filed: September 22, 2021
    Publication date: January 19, 2023
    Inventors: MARCOS K. AGUILERA, Keerthi Kumar, Pramod Kumar, Pratap Subrahmanyam, Sairam Veeraswamy, Rajesh Venkatasubramanian
  • Publication number: 20230019814
    Abstract: A virtual compute instance is migrated between hosts using remote direct memory access (RDMA). The hosts are equipped with RDMA-enabled network interface controllers for carrying out RDMA operations between them. Upon failure of a first host and copying of page tables of the virtual compute instance to the first host's memory, a first RDMA operation is performed to transfer the page tables from the first host's memory to the second host's memory. Then, second RDMA operations are performed to transfer data pages of the virtual compute instance from the first host's memory to the second host's memory, with references to memory locations of the data pages specified in the page tables. The page tables of the virtual compute instance are reconstructed to reference memory locations of the data pages in the second host's memory and stored therein.
    Type: Application
    Filed: August 30, 2021
    Publication date: January 19, 2023
    Inventors: HALESH SADASHIV, PREETI AGARWAL, RAJESH VENKATASUBRAMANIAN
  • Publication number: 20230012693
    Abstract: Disclosed are various embodiments for optimizing hypervisor paging. A hypervisor can save a machine page to a swap device, the machine page comprising data for a physical page of a virtual machine allocated to a virtual page for a process executing within the virtual machine. The hypervisor can then catch a page fault for a subsequent access of the machine page by the virtual machine. Next, the hypervisor can determine that the physical page is currently unallocated by the virtual machine in response to the page fault. Subsequently, the hypervisor can send a command to the swap device to discard the machine page saved to the swap device in response to a determination that the physical page is currently unallocated by the virtual machine.
    Type: Application
    Filed: October 4, 2021
    Publication date: January 19, 2023
    Inventors: MARCOS K. AGUILERA, DHANTU BURAGOHAIN, KEERTHI KUMAR, PRAMOD KUMAR, PRATAP SUBRAHMANYAM, SAIRAM VEERASWAMY, RAJESH VENKATASUBRAMANIAN
  • Publication number: 20230017804
    Abstract: Disclosed are various embodiments for improving the resiliency and performance of cluster memory. First, a computing device can submit a write request to a byte-addressable chunk of memory stored by a memory host, wherein the byte-addressable chunk of memory is read-only. Then, the computing device can determine that a page-fault occurred in response to the write request. Next, the computing device can copy a page associated with the write request from the byte-addressable chunk of memory to the memory of the computing device. Subsequently, the computing device can free the page from the memory host. Then, the computing device can update a page table entry for the page to refer to a location of the page in the memory of the computing device.
    Type: Application
    Filed: September 22, 2021
    Publication date: January 19, 2023
    Inventors: MARCOS K. AGUILERA, Keerthi Kumar, Pramod Kumar, Pratap Subrahmanyam, Sairam Veeraswamy, Rajesh Venkatasubramanian
  • Patent number: 11543988
    Abstract: A method of preserving the contiguity of large pages of a workload during migration of the workload from a source host to a destination host includes the steps of: detecting at the destination host, receipt of a small page of zeros from the source host, wherein, at the source host, the small page is part of one of the large pages of the workload; and upon detecting the receipt of the small page of zeros, storing, at the destination host, all zeros in a small page that is part of one of the large pages of the workload.
    Type: Grant
    Filed: July 23, 2021
    Date of Patent: January 3, 2023
    Assignee: VMware, Inc.
    Inventors: Arunachalam Ramanathan, Yury Baskakov, Anurekh Saxena, Ying Yu, Rajesh Venkatasubramanian, Michael Robert Stunes
  • Publication number: 20220405121
    Abstract: Disclosed are various embodiments for decreasing the amount of time spent processing interrupts by switching contexts in parallel with processing an interrupt. An interrupt request can be received during execution of a process in a less privileged user mode. Then, the current state of the process can be saved. Next, a switch from the less privileged mode to a more privileged mode can be made. The interrupt request is then processed while in the more privileged mode. Subsequently or in parallel, and possibly prior to completion of the processing the interrupt request, another switch from the more privileged mode to the less privileged mode can be made.
    Type: Application
    Filed: June 18, 2021
    Publication date: December 22, 2022
    Inventors: Yizhou Shan, Marcos Kawazoe Aguilera, Pratap Subrahmanyam, Rajesh Venkatasubramanian
  • Publication number: 20220398014
    Abstract: Disclosed are various embodiments for high throughput reclamation of pages in memory. A first plurality of pages in a memory of the computing device are identified to reclaim. In addition, a second plurality of pages in the memory of the computing device are identified to reclaim. The first plurality of pages are prepared for storage on a swap device of the computing device. Then, a write request is submitted to a swap device to store the first plurality of pages. After submission of the write request, the second plurality of pages are prepared for storage on the swap device while the swap device completes the write request.
    Type: Application
    Filed: June 10, 2021
    Publication date: December 15, 2022
    Inventors: Emmanuel Amaro Ramirez, Marcos Kawazoe Aguilera, Pratap Subrahmanyam, Rajesh Venkatasubramanian
  • Publication number: 20220374269
    Abstract: In one set of embodiments, a hypervisor of a host system can determine that a delta between local and remote memory access latencies for each of a subset of NUMA nodes of the host system is less than a threshold. In response, the hypervisor can enable page sharing across the subset of NUMA nodes, where enabling page sharing comprises associating the subset of NUMA nodes with a single page sharing table, and where the single page sharing table holds entries identifying host physical memory pages of the host system that are shared by virtual machines (VMs) placed on the subset of NUMA nodes.
    Type: Application
    Filed: May 19, 2021
    Publication date: November 24, 2022
    Inventors: Qasim Ali, Arunachalam Ramanathan, Rajesh Venkatasubramanian
  • Publication number: 20220365855
    Abstract: Techniques for implementing RDMA-based recovery of dirty data in remote memory are provided. In one set of embodiments, upon occurrence of a failure at a first (i.e., source) host system, a second (i.e., failover) host system can allocate a new memory region corresponding to a memory region of the source host system and retrieve a baseline copy of the memory region from a storage backend shared by the source and failover host systems. The failover host system can further populate the new memory region with the baseline copy and retrieve one or more dirty page lists for the memory region from the source host system via RDMA, where the one or more dirty page lists identify memory pages in the memory region that include data updates not present in the baseline copy. For each memory page identified in the one or more dirty page lists, the failover host system can then copy the content of that memory page from the memory region of the source host system to the new memory region via RDMA.
    Type: Application
    Filed: July 28, 2022
    Publication date: November 17, 2022
    Inventors: Keerthi Kumar, Halesh Sadashiv, Sairam Veeraswamy, Rajesh Venkatasubramanian, Kiran Dikshit, Kiran Tati
  • Publication number: 20220334774
    Abstract: Disclosed are various approaches for decreasing the latency involved in reading pages from swap devices. These approaches can include setting a first queue in the plurality of queues as a highest priority queue and a second queue in the plurality of queues as a low priority queue. Then, an input/output (I/O) request for an address in memory can be received.
    Type: Application
    Filed: July 9, 2021
    Publication date: October 20, 2022
    Inventors: Emmanuel Amaro Ramirez, Marcos Kawazoe Aguilera, Pratap Subrahmanyam, Rajesh Venkatasubramanian
  • Publication number: 20220283836
    Abstract: The disclosure provides an approach for the dynamic configuration of virtualized objects. A virtual object may be associated with a desired state defining a first plurality of resources for allocating to the virtual object. The first plurality of resources correspond to one or more resource types. Techniques include determining that each of a plurality of hosts does not have sufficient available resources to allocate the first plurality of resources to the virtual object according to the desired state. Techniques include selecting, a first host of the plurality of hosts to run the virtual object. Techniques include allocating a second plurality of resources to the virtual object from the first host, wherein the second plurality of resources is less than the first plurality of resources, and running the virtual object in the first host.
    Type: Application
    Filed: March 2, 2021
    Publication date: September 8, 2022
    Inventors: Avinash GOUD, Aniket SAKHARDANDE, Praveen VEGULLA, Rajesh VENKATASUBRAMANIAN, Maarten WIGGERS, Keith FARKAS, Derek BEARD