-
公开(公告)号:US20230124036A1
公开(公告)日:2023-04-20
申请号:US18069119
申请日:2022-12-20
Applicant: VMware, Inc.
Inventor: Maithem MUNSHED , Xin LI , Wenbin ZHU , Anny MARTINEZ MANZANILLA , Michael WEI
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.
-
公开(公告)号:US20210357385A1
公开(公告)日:2021-11-18
申请号:US16875640
申请日:2020-05-15
Applicant: VMware, Inc.
Inventor: Maithem MUNSHED , Xin LI , Wenbin ZHU , Anny MARTINEZ MANZANILLA , Michael WEI
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.
-
公开(公告)号:US20190236229A1
公开(公告)日:2019-08-01
申请号:US15881654
申请日:2018-01-26
Applicant: VMware, Inc.
Inventor: Eric SCHKUFZA , Michael WEI
CPC classification number: G06F17/5027 , G06F9/45504
Abstract: A method for implementing a distributed hardware system includes retrieving a hardware design described in a hardware description language, where the hardware design includes a plurality of components. The method further includes, for each component of the hardware design, sending the component to a hardware compiler and to one of a plurality of software engines, where the hardware compiler compiles the component to run in one of a plurality of hardware engines and the one software engine simulates the component while the hardware compiler compiles the component for the one hardware engine, and upon completion of the compilation of the component, sending the compiled component to one of the hardware engines to be executed by the one hardware engine and monitoring communication so that the one hardware engine can interact with other components in other hardware engines or software engines.
-
公开(公告)号:US20210011738A1
公开(公告)日:2021-01-14
申请号:US16746731
申请日:2020-01-17
Applicant: VMware, Inc.
Inventor: Nadav AMIT , Frederick Joseph JACOBS , Michael WEI
Abstract: A method of redirecting an indirect call in a callback list associated with a list of functions that are registered, includes the steps of: upon registering the list of functions, determining a list of function pointers, each of which corresponds to an address in an associated callback; for each function pointer in the list of function pointers, adding a direct call instruction to the registration trampoline corresponding to the associated callback of the function pointer; and upon invoking the associated callback of one of the function pointers in the list of function pointers, invoking the corresponding direct call instruction in the registration trampoline.
-
公开(公告)号:US20210011728A1
公开(公告)日:2021-01-14
申请号:US16521407
申请日:2019-07-24
Applicant: VMware, Inc.
Inventor: Nadav AMIT , Frederick Joseph JACOBS , Michael WEI
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.
-
公开(公告)号:US20190235893A1
公开(公告)日:2019-08-01
申请号:US16257531
申请日:2019-01-25
Applicant: VMware, Inc.
Inventor: Eric SCHKUFZA , Michael WEI
CPC classification number: G06F9/45508 , G06F9/4552 , G06F17/5027
Abstract: A system and method are disclosed for executing a hardware component of a design in a hardware engine, where the component includes a pre-compiled library component. The hardware component is compiled to include an interface that supports a ‘forward( )’ function which, when invoked, requests that the hardware engine running the hardware component run such that interactions between the library component and the hardware component occur without communicating with the runtime system because interactions between the library component and the hardware component are handled locally by the hardware engine and not the runtime system. Handling the library component without the runtime system intervening allows the library component to run at a speed that is close to the native speed of the target re-programmable hardware fabric. In addition, library components targeted to the specific reprogrammable hardware fabric are available to the design without compilation.
-
公开(公告)号:US20190235892A1
公开(公告)日:2019-08-01
申请号:US16257510
申请日:2019-01-25
Applicant: VMware, Inc.
Inventor: Eric SCHKUFZA , Michael WEI
CPC classification number: G06F9/45508 , G06F9/4552 , G06F17/5027
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.
-
公开(公告)号:US20210011722A1
公开(公告)日:2021-01-14
申请号:US16521396
申请日:2019-07-24
Applicant: VMware, Inc.
Inventor: Nadav AMIT , Frederick Joseph JACOBS , Michael WEI
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.
-
公开(公告)号:US20190236231A1
公开(公告)日:2019-08-01
申请号:US16257545
申请日:2019-01-25
Applicant: VMware, Inc.
Inventor: Eric SCHKUFZA , Michael WEI
IPC: G06F17/50
CPC classification number: G06F17/5027 , G06F2217/02
Abstract: A system and method for executing a hardware component of a design is disclosed. The system and method execute hardware components that are constructed with a ‘display(s)’ function that permits the hardware component to display values 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 have a view into the executing hardware that would be otherwise unavailable. This view permits the user to debug the component executing on the hardware engine.
-
公开(公告)号:US20190236230A1
公开(公告)日:2019-08-01
申请号:US16030551
申请日:2018-07-09
Applicant: VMware, Inc.
Inventor: Eric SCHKUFZA , Michael WEI
CPC classification number: G06F17/5027 , G06F9/45508
Abstract: A method for implementing a distributed hardware system includes retrieving a hardware design described in a hardware description language, where the hardware design includes a plurality of modules. The method includes sending modules of the design to software engines, where the runtime maintains for each module being simulated a queue for update and evaluation events. Update events on the queue are those that update stateful objects in the module and cause evaluation events to be enqueued onto the module's queue while evaluation events are those that update stateless objects in the module and cause update events to be enqueued onto the module's queue. Having a queue for each module permits the runtime to manage module simulations so that the executions of each module run concurrently with each other. This leads to faster executions of the modules and less complex communications between modules during execution.
-
-
-
-
-
-
-
-
-