-
公开(公告)号:US10706005B2
公开(公告)日:2020-07-07
申请号:US15836577
申请日:2017-12-08
Applicant: VMware, Inc.
Inventor: Michael Wei , Marcos Aguilera , Irina Calciu , Stanko Novakovic , Lalith Suresh , Jayneel Gandhi , Nadav Amit , Pratap Subrahmanyam , Xavier Deguillard , Kiran Tati , Rajesh Venkatasubramanian
IPC: G06F15/173 , G06F16/182
Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.
-
公开(公告)号:US10515029B2
公开(公告)日:2019-12-24
申请号:US15356460
申请日:2016-11-18
Applicant: VMware, Inc.
Inventor: Vijaychidambaram Velayudhan Pillai , Irina Calciu , Himanshu Chauhan , Eric Schkufza , Onur Mutlu , Pratap Subrahmanyam
Abstract: Techniques for facilitating conversion of an application from a block-based persistence model to a byte-based persistence model are provided. In one embodiment, a computer system can receive source code of the application and automatically identify data structures in the source code that are part of the application's semantic persistent state. The computer system can then output a list of data types corresponding to the identified data structures.
-
13.
公开(公告)号:US20190129800A1
公开(公告)日:2019-05-02
申请号:US15881514
申请日:2018-01-26
Applicant: VMware, Inc.
Inventor: Pratap Subrahmanyam , Rajesh Venkatasubramanian , Kiran Tati , Qasim Ali , Marcos Aguilera , Irina Calciu , Venkata Subhash Reddy Peddamallu , Xavier Deguillard , Yi Yao
IPC: G06F11/14
Abstract: Techniques for achieving application high availability via crash-consistent asynchronous replication of persistent data are provided. In one set of embodiments, an application running on a computer system can, during runtime of the application: write persistent data to a local nonvolatile data store of the computer system, write one or more log entries comprising the persistent data to a local log region of the computer system, and asynchronously copy the one or more log entries to one or more remote destinations. Then, upon detecting a failure that prevents the application from continuing execution, the computer system can copy the local log region or a remaining portion thereof to the one or more remote destinations, where the copying is performed while the computer system runs on battery power and where the application is restarted on another computer system using a persistent state derived from the copied log entries.
-
公开(公告)号:US11544194B1
公开(公告)日:2023-01-03
申请号:US17488028
申请日:2021-09-28
Applicant: VMware, Inc.
Inventor: Irina Calciu , Andreas Nowatzyk , Pratap Subrahmanyam
IPC: G06F12/00 , G06F12/084
Abstract: A method of performing a copy-on-write on a shared memory page is carried out by a device communicating with a processor via a coherence interconnect. The method includes: adding a page table entry so that a request to read a first cache line of the shared memory page includes a cache-line address of the shared memory page and a request to write to a second cache line of the shared memory page includes a cache-line address of a new memory page; in response to the request to write to the second cache line, storing new data of the second cache line in a second memory and associating the second cache-line address with the new data stored in the second memory; and in response to a request to read the second cache line, reading the new data of the second cache line from the second memory.
-
公开(公告)号:US20220398199A1
公开(公告)日:2022-12-15
申请号:US17348529
申请日:2021-06-15
Applicant: VMware, Inc.
Inventor: Irina Calciu , Muhammad Talha Imran , Nadav Amit
IPC: G06F12/0882 , G06F12/1045 , G06F12/02 , G06F9/50 , G06F11/07 , G06F15/173
Abstract: Techniques for implementing user-space remote memory paging are provided. In one set of embodiments, these techniques include a user-space remote memory paging (RMP) runtime that can: (1) pre-allocate one or more regions of remote memory for use by an application; (2) at a time of receiving/intercepting a memory allocation function call invoked by the application, map the virtual memory address range of the allocated local memory to a portion of the pre-allocated remote memory; (3) at a time of detecting a page fault directed to a page that is mapped to remote memory, retrieve the page via Remote Direct Memory Access (RDMA) from its remote memory location and store the retrieved page in a local main memory cache; and (4) on a periodic basis, identify pages in the local main memory cache that are candidates for eviction and write out the identified pages via RDMA to their mapped remote memory locations if they have been modified.
-
公开(公告)号:US11099991B2
公开(公告)日:2021-08-24
申请号:US16256562
申请日:2019-01-24
Applicant: VMware, Inc.
Inventor: Aasheesh Kolli , Irina Calciu , Jayneel Gandhi , Pratap Subrahmanyam
IPC: G06F12/08 , G06F12/0817 , G06F12/0864
Abstract: Described herein is a method for tracking changes to memory locations made by an application. In one embodiment, the application decides to start tracking and sends a list of virtual memory pages to be tracked to an operating system via an interface. The operating system converts the list of virtual memory pages to a list of physical addresses and sends the list of physical addresses to a hardware unit which performs the tracking by detecting write backs on a coherence interconnect coupled to the hardware unit. After the application ends tracking, the application requests a list of dirty cache lines. In response to the request, the operating system obtains the list of dirty cache lines from the hardware unit and adds the list to a buffer that the application can read. In other embodiments, the operating system can perform the tracking without the application making the request.
-
17.
公开(公告)号:US10929233B2
公开(公告)日:2021-02-23
申请号:US15881379
申请日:2018-01-26
Applicant: VMware, Inc.
Inventor: Pratap Subrahmanyam , Rajesh Venkatasubramanian , Kiran Tati , Qasim Ali , Marcos Aguilera , Irina Calciu , Venkata Subhash Reddy Peddamallu , Xavier Deguillard , Yi Yao
Abstract: Techniques for achieving application high availability via application-transparent battery-backed replication of persistent data are provided. In one set of embodiments, a computer system can detect a failure that causes an application of the computer system to stop running. In response to detecting the failure, the computer system can copy persistent data written by the application and maintained locally at the computer system to one or more remote destinations, where the copying is performed in a manner that is transparent to the application and while the computer system runs on battery power. The application can then be restarted on another computer system using the copied data.
-
公开(公告)号:US20190179794A1
公开(公告)日:2019-06-13
申请号:US15836577
申请日:2017-12-08
Applicant: VMware, Inc.
Inventor: Michael Wei , Marcos Aguilera , Irina Calciu , Stanko Novakovic , Lalith Suresh , Jayneel Gandhi , Nadav Amit , Pratap Subrahmanyam , Xavier Deguillard , Kiran Tati , Rajesh Venkatasubramanian
IPC: G06F15/173 , G06F17/30
CPC classification number: G06F15/17331 , G06F16/183
Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.
-
公开(公告)号:US12019554B2
公开(公告)日:2024-06-25
申请号:US17872744
申请日:2022-07-25
Applicant: VMware, Inc.
Inventor: Irina Calciu , Andreas Nowatzyk , Isam Wadih Akkawi , Venkata Subhash Reddy Peddamallu , Pratap Subrahmanyam
IPC: G06F12/0862
CPC classification number: G06F12/0862 , G06F2212/602
Abstract: A method of prefetching memory pages from remote memory includes detecting that a cache-line access made by a processor executing an application program is an access to a cache line containing page table data of the application program, identifying data pages that are referenced by the page table data, initiating a fetch of a data page, which is one of the identified data pages, and starting a timer. If the fetch completes prior to expiration of the timer, the data page is stored in a local memory. On the other hand, if the fetch does not complete prior to expiration of timer, a presence bit of the data page in the page table data is set to indicate that the data page is not present.
-
公开(公告)号:US12008361B2
公开(公告)日:2024-06-11
申请号:US17531582
申请日:2021-11-19
Applicant: VMware, Inc.
Inventor: Irina Calciu , Andreas Nowatzyk , Pratap Subrahmanyam
CPC classification number: G06F8/656 , G06F9/30047 , G06F9/3804 , G06F9/45533 , G06F13/1668
Abstract: A device tracks accesses to pages of code executed by processors and modifies a portion of the code without terminating the execution of the code. The device is connected to the processors via a coherence interconnect and a local memory of the device stores the code pages. As a result, any requests to access cache lines of the code pages made by the processors will be placed on the coherence interconnect, and the device is able to track any cache-line accesses of the code pages by monitoring the coherence interconnect. In response to a request to read a cache line having a particular address, a modified code portion is returned in place of the code portion stored in the code pages.
-
-
-
-
-
-
-
-
-