Target injection safe method for inlining instance-dependent calls

    公开(公告)号:US11016767B2

    公开(公告)日:2021-05-25

    申请号:US16521396

    申请日:2019-07-24

    Applicant: VMware, Inc.

    Abstract: A method for redirecting indirect calls to direct calls on a per-process basis includes accessing a memory code region of an operating system kernel that has a different mapping for each of one or more user processes running on the operating system kernel. The memory code region stores a first trampoline that refers directly to a second trampoline, which is an inline or outline trampoline that is correlated with a particular user process. Executing the first trampoline invokes the second trampoline, as a result of which the indirect calls are redirected to direct calls.

    Just-in-time hardware for field programmable gate arrays

    公开(公告)号:US11003471B2

    公开(公告)日:2021-05-11

    申请号:US16257510

    申请日:2019-01-25

    Applicant: VMware, Inc.

    Abstract: A system and method are disclosed for executing a component of a design in a hardware engine. The component is compiled to include an interface that supports an ‘open_loop(n)’ function which, when invoked, requests that the hardware engine run for a specified number of steps before communicating with other hardware or software engines via a runtime system. After the compiled hardware component is transferred to the hardware engine, the hardware engine runs for the specified number of steps unless and until it encounters a system function, such as a ‘display(s)’ function, in the code of the component that requires the runtime system to intervene. The hardware engine pauses awaiting the completion of the system function and continues its execution. The ‘open_loop(n)’ operation of the hardware engine permits components in hardware engines to run at a speed close to the native speed of the target programmable hardware fabric.

    Just-in-time hardware for field programmable gate arrays

    公开(公告)号:US10997338B2

    公开(公告)日:2021-05-04

    申请号:US16257545

    申请日:2019-01-25

    Applicant: VMware, Inc.

    Abstract: A system and method for executing a hardware component of a design are disclosed. The system and method execute hardware components that are constructed with a ‘display(s)’ function that permits the hardware component to display values “s” internal to the hardware component while the component is executing on a hardware engine. The values are displayed on a user output interface, such as a user terminal, supported by a runtime system controlling the execution of the hardware engine and thus allows the user to debug the component while it is executing on the hardware engine.

    In-place garbage collection for state machine replication

    公开(公告)号:US11561957B2

    公开(公告)日:2023-01-24

    申请号:US16875640

    申请日:2020-05-15

    Applicant: VMware, Inc.

    Abstract: Garbage collection processing in a distributed shared log system includes a client identifying obsoleted log entries for a shared data object. The client sends information associated with the identified obsoleted log entries to a shared log server. The shared log server receives information associated with obsoleted log entries from all clients in the distributed shared log system and uses the information to delete the obsoleted log entries. The shared log server can update a snapshot mark to indicate the earliest time that a snapshot of the shared log can be taken. The snapshot mark can be updated based on the information associated with obsoleted log entries.

    Managing data lifecycles through decay

    公开(公告)号:US11461050B2

    公开(公告)日:2022-10-04

    申请号:US17153265

    申请日:2021-01-20

    Applicant: VMware, Inc.

    Inventor: Amy Tai Michael Wei

    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for enforcing a decay policy for a data object. One of the methods includes receiving a request to store a data object in a storage device; obtaining a user policy identifying a lifetime of the data object; determining, using the lifetime of the data object, a voltage policy for a plurality of memory cells of the storage device, wherein: each of the plurality of memory cells will store one or more bits of the data object; the voltage policy identifies a voltage to provide each memory cell; and an expected time at which raw bit errors of the data object will cause the data object to decay is equal to a time point identified by the lifetime of the data object; and storing the data object in the storage device according to the determined voltage policy.

    Target injection safe method for dynamically inlining branch predictions

    公开(公告)号:US10908912B1

    公开(公告)日:2021-02-02

    申请号:US16521407

    申请日:2019-07-24

    Applicant: VMware, Inc.

    Abstract: A method for redirecting an indirect call in an operating system kernel to a direct call is disclosed. The direct calls are contained in trampoline code called an inline jump switch (IJS) or an outline jump switch (OJS). The IJS and OJS can operate in either a use mode, redirecting an indirect call to a direct call, a learning and update mode or fallback mode. In the learning and update mode, target addresses in a trampoline code template are learned and updated by a jump switch worker thread that periodically runs as a kernel process. When building the kernel binary, a plug-in is integrated into the kernel. The plug-in replaces call sites with a trampoline code template containing a direct call so that the template can be later updated by the jump switch worker thread.

Patent Agency Ranking