Memory coherency in application-level virtualization

    公开(公告)号:US12072804B2

    公开(公告)日:2024-08-27

    申请号:US18083356

    申请日:2022-12-16

    Applicant: VMware, Inc.

    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.

    Intelligent scheduling of coprocessor execution

    公开(公告)号:US11822925B2

    公开(公告)日:2023-11-21

    申请号:US17201855

    申请日:2021-03-15

    Applicant: VMware, Inc.

    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.

Patent Agency Ranking