-
21.
公开(公告)号:US20150095585A1
公开(公告)日:2015-04-02
申请号:US14042288
申请日:2013-09-30
Applicant: VMware, Inc.
Inventor: Pratap SUBRAHMANYAM , Rajesh VENKATASUBRAMANIAN
CPC classification number: G06F3/0647 , G06F3/062 , G06F3/0683 , G06F11/14 , G06F11/1484 , G06F11/1666 , G06F11/20 , G06F11/2097
Abstract: Updates to nonvolatile memory pages are mirrored so that certain features of a computer system, such as live migration of applications, fault tolerance, and high availability, will be available even when nonvolatile memory is local to the computer system. Mirroring may be carried out when a cache flush instruction is executed to flush contents of the cache into nonvolatile memory. In addition, mirroring may be carried out asynchronously with respect to execution of the cache flush instruction by retrieving content that is to be mirrored from the nonvolatile memory using memory addresses of the nonvolatile memory corresponding to target memory addresses of the cache flush instruction.
-
公开(公告)号:US20230028825A1
公开(公告)日:2023-01-26
申请号:US17531582
申请日:2021-11-19
Applicant: VMware, Inc.
Inventor: Irina CALCIU , Andreas NOWATZYK , Pratap SUBRAHMANYAM
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.
-
公开(公告)号:US20200242036A1
公开(公告)日:2020-07-30
申请号:US16256571
申请日:2019-01-24
Applicant: VMware, Inc.
Inventor: Aasheesh KOLLI , Irina CALCIU , Jayneel GANDHI , Pratap SUBRAHMANYAM
IPC: G06F12/0831 , G06F12/109 , G06F12/0817 , G06F11/07 , G06F9/50
Abstract: Disclosed is a technique in which an application can record changes it makes to physical memory. In the technique, the application specifies a virtual memory region which is converted to a plurality of cache lines, each of which is monitored for changes by a device connected to a coherence interconnect coupled to the processor caches. The application sends a start signal to start the logging process and an end signal to stop the process. During the logging process, when a change occurs to one of the cache lines, an undo entry corresponding to the change is created and entered into a transaction log residing in persistent memory. The transaction log containing the undo entries makes the set of changes recorded in the transaction log atomic. If a failure occurs, the recorded changes can be undone as if they never occurred.
-
公开(公告)号:US20200241978A1
公开(公告)日:2020-07-30
申请号:US16256567
申请日:2019-01-24
Applicant: VMware, Inc.
Inventor: Aasheesh KOLLI , Irina CALCIU , Jayneel GANDHI , Pratap SUBRAHMANYAM
IPC: G06F11/14
Abstract: A module for rewriting application code as a failure-atomic transaction is disclosed. An application delineates a code fragment that is to become a failure-atomic transaction by writing a tx_begin( ) and tx_end( ) functions into its code. A module detects the tx_begin( ) and tx_end( ) functions and rewrites the code fragment as a failure-atomic transaction. The rewritten code is then available to be executed by the application. The rewritten code stores values and locations of stores to persistent memory locations so that the transaction can be either undone or redone in the case of an application error or a power failure. If the transaction is an undo type of transaction, the application can be rolled back to a state prior to the failure. If the transaction is a redo type of transaction, the application can be advanced to a correct state after the error.
-
公开(公告)号:US20200034294A1
公开(公告)日:2020-01-30
申请号:US16048186
申请日:2018-07-27
Applicant: VMware, Inc.
Inventor: Irina CALCIU , Jayneel GANDHI , Aasheesh KOLLI , Pratap SUBRAHMANYAM
IPC: G06F12/0815 , G06F12/0862 , G06F12/1009 , G06F9/455
Abstract: Disclosed are embodiments for running an application on a local processor when the application is dependent on pages not locally present but contained in a remote host. The system is informed that the pages on which the application depends are locally present. While running, the application encounters a cache miss and a cache line satisfying the miss from the remote host is obtained and provided to the application. Alternatively, the page containing the cache line satisfying the miss is obtained and the portion of the page not including the cache line is stored locally while the cache line is provided to the application. The cache miss is discovered by monitoring coherence events on a coherence interconnect connected to the local processor. In some embodiments, the cache misses are tracked and provide a way to predict a set of pages to be pre-fetched in anticipation of the next cache misses.
-
公开(公告)号:US20150046924A1
公开(公告)日:2015-02-12
申请号:US14467974
申请日:2014-08-25
Applicant: VMware, Inc.
Inventor: Daniel R.K. PORTS , Xiaoxin CHEN , Carl A. WALDSPURGER , Pratap SUBRAHMANYAM , Tal GARFINKEL
CPC classification number: G06F9/461 , G06F9/4486 , G06F9/45533 , G06F9/45558 , G06F9/4881 , G06F11/1451 , G06F11/1484 , G06F2009/45562 , G06F2009/45583 , G06F2201/815 , G06F2201/84
Abstract: A virtual-machine-based system provides a mechanism to implement application file I/O operations of protected data by implementing the I/O operations semantics in a shim layer with memory-mapped regions. The semantics of these I/O operations are emulated in a shim layer with memory-mapped regions by using a mapping between a process' address space and a file or shared memory object. Data that is protected from viewing by a guest OS running in a virtual machine may nonetheless be accessed by the process.
Abstract translation: 基于虚拟机的系统提供了通过在具有存储器映射区域的垫片层中实现I / O操作语义来实现受保护数据的应用文件I / O操作的机制。 这些I / O操作的语义通过使用进程的地址空间和文件或共享内存对象之间的映射在具有内存映射区域的填充层中进行仿真。 受虚拟机运行的客户机操作系统保护的数据可能会被进程访问。
-
公开(公告)号:US20140068614A1
公开(公告)日:2014-03-06
申请号:US14071455
申请日:2013-11-04
Applicant: VMware, Inc.
Inventor: Xiaoxin CHEN , Carl A. WALDSPURGER , Pratap SUBRAHMANYAM
IPC: G06F9/455
CPC classification number: G06F9/461 , G06F9/4486 , G06F9/45533 , G06F9/45558 , G06F9/4881 , G06F11/1451 , G06F11/1484 , G06F2009/45562 , G06F2009/45583 , G06F2201/815 , G06F2201/84
Abstract: A virtual-machine-based system that identifies an application or process in a virtual machine in order to locate resources associated with the identified application. Access to the located resources is then controlled based on a context of the identified application. Those applications without the necessary context will have a different view of the resource.
Abstract translation: 基于虚拟机的系统,其识别虚拟机中的应用或进程,以便定位与所识别的应用相关联的资源。 然后基于所识别的应用的上下文来控制对所定位的资源的访问。 那些没有必要上下文的应用程序将具有不同的资源视图。
-
公开(公告)号:US20230004497A1
公开(公告)日:2023-01-05
申请号:US17872744
申请日:2022-07-25
Applicant: VMware, Inc.
Inventor: Irina CALCIU , Andreas NOWATZYK , Isam Wadih AKKAWI , Venkata Subhash Reddy PEDDAMALLU , Pratap SUBRAHMANYAM
IPC: G06F12/0862
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.
-
公开(公告)号:US20200233804A1
公开(公告)日:2020-07-23
申请号:US16255432
申请日:2019-01-23
Applicant: VMware, Inc.
Inventor: Jayneel GANDHI , Pratap SUBRAHMANYAM , Irina CALCIU , Aasheesh KOLLI
IPC: G06F12/0853 , G06F12/1045 , G06F12/1009 , G06F12/0804 , G06F12/0817
Abstract: Described herein is a method for tracking changes made by an application. Embodiments include determining, by a processor, a write-back of a cache line from a hardware unit associated with a socket of a plurality of sockets to a page table entry of a page table in a memory location associated with the processor. Embodiments include adding, by the processor, the cache line to a list of dirty cache lines. Embodiments include, for each respective cache line in the list of dirty cache lines, identifying, by the processor, a memory location associated with a respective socket of the plurality of sockets corresponding to the respective cache line and updating, by the processor, an entry of a page table replica at the memory location based on the respective cache line.
-
公开(公告)号:US20200034176A1
公开(公告)日:2020-01-30
申请号:US16048183
申请日:2018-07-27
Applicant: VMware, Inc.
Inventor: Irina CALCIU , Jayneel GANDHI , Aasheesh KOLLI , Pratap SUBRAHMANYAM
IPC: G06F9/455 , G06F12/0862 , G06F12/0815 , G06F15/173
Abstract: Disclosed are embodiments for migrating a virtual machine (VM) from a source host to a destination host while the virtual machine is running on the destination host. The system includes an RDMA facility connected between the source and destination hosts and a device coupled to a local memory, the local memory being responsible for memory pages of the VM instead of the source host. The device is configured to copy pages of the VM to the destination host and to maintain correct operation of the VM by monitoring coherence events, such as a cache miss, caused by the virtual machine running on the destination host. The device services these cache misses using the RDMA facility and copies the cache line satisfying the cache miss to the CPU running the VM. The device also tracks the cache misses to create an access pattern that it uses to predict future cache misses.
-
-
-
-
-
-
-
-
-