-
公开(公告)号:US12072804B2
公开(公告)日:2024-08-27
申请号:US18083356
申请日:2022-12-16
Applicant: VMware, Inc.
Inventor: Aidan Cully , Duan Veljko , Husheng Zhou , Hyojong Kim
IPC: G06F12/08 , G06F12/0815
CPC classification number: G06F12/0815
Abstract: A coherence protocol applied to memory pages maintains coherence between memory spaces on a plurality of nodes so that the threads of the runtime are operable on any of the nodes. The nodes operating according to the coherence protocol track a state and an epoch number for each memory page residing therein. The states include a modified state in which only one particular node has an up-to-date copy of the memory page, an exclusive state in which only one particular node owns the memory page, a shared state in which all nodes that have the memory page in the shared state have the same copy, and a lost state in which the memory page cannot be either read or written. The epoch number is a number that is incremented each time the page enters the modified state and is used to determine whether the page contains data that is stale.
-
公开(公告)号:US11762672B2
公开(公告)日:2023-09-19
申请号:US17493781
申请日:2021-10-04
Applicant: VMware, Inc.
Inventor: Aidan Cully
CPC classification number: G06F9/44521 , G06F9/44505 , G06F9/45558 , G06F9/5016 , G06F9/5038 , G06F9/5061 , G06F9/5088 , G06F9/52 , G06F9/54 , G06F9/546 , G06F9/547 , G06F2009/45591
Abstract: A method for a dynamic linker to load and run an application that is executed over a plurality of nodes, includes relocating a primary binary of the application from an initial location to an executable location, loading library dependencies, altering a system call table used during execution of the application for the dynamic linker to catch all system calls made by the application, and executing the relocated primary binary from the executable location.
-
公开(公告)号:US12293198B2
公开(公告)日:2025-05-06
申请号:US17493741
申请日:2021-10-04
Applicant: VMware, Inc.
Inventor: Aidan Cully , Vance Miller , Dušan Veljko , Mazhar Memon
Abstract: A method for executing an application over a plurality of nodes in each of which an application monitor and a runtime are executing includes executing a first portion of the application by first threads of the runtime of the first node and a second portion of the application by second threads of the runtime of the second node, and under control of the application monitors of the first and second nodes and while executing the first portions and second portions of the application, migrating workloads of one or more of the first threads from the first node to the second node for execution by the second threads.
-
公开(公告)号:US11822925B2
公开(公告)日:2023-11-21
申请号:US17201855
申请日:2021-03-15
Applicant: VMware, Inc.
Inventor: Mazhar Memon , Aidan Cully
CPC classification number: G06F9/3855 , G06F9/3851 , G06F9/54 , G06N3/02 , G06F9/3836 , G06F9/3838 , G06F9/3877 , G06F9/4843 , G06F9/4881 , G06F9/545
Abstract: Execution of multiple execution streams is scheduled on at least one coprocessor. A software layer located logically between applications and the at least one coprocessor intercepts a first API call from an application and determines that a first execution stream is to be executed. Before scheduling the first execution stream, the software layer transmits a response to the application indicating that the at least one coprocessor is ready to execute another execution stream. The software layer intercepts a second API call from the application and determines that a second execution stream including one or more kernels is to be executed. The software layer determines that the one or more kernels does not have a dependency on the first execution stream. The software layer schedules the one or more kernels for execution prior to when the at least one coprocessor has completed execution of the first execution stream.
-
-
-