Efficiently managing the interruption of user-level critical sections

    公开(公告)号:US10922128B1

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

    申请号:US16721646

    申请日:2019-12-19

    Applicant: VMware, Inc.

    Abstract: Techniques for efficiently managing the interruption of user-level critical sections are provided. In certain embodiments, a physical CPU of a computer system can execute a critical section of a user-level thread of an application, where program code for the critical section is marked with CPU instruction(s) indicating that the critical section should be executed atomically. The physical CPU can detect, while executing the critical section, an event to be handled by an OS kernel of the computer system and upon detecting the event, revert changes performed within the critical section. The physical CPU can then invoke a trap handler of the OS kernel, and in response the OS kernel can invoke a user-level handler of the application with information including (1) the identity of the user-level thread, (2) an indication of the event, (3) the physical CPU state upon detecting the event, and (4) an indication that the user-level thread was interrupted while in the critical section.

    File system interface for remote direct memory access

    公开(公告)号:US10706005B2

    公开(公告)日:2020-07-07

    申请号:US15836577

    申请日:2017-12-08

    Applicant: VMware, Inc.

    Abstract: Exemplary methods, apparatuses, and systems include a distributed memory agent within a first node intercepting an operating system request to open a file from an application running on the first node. The request includes a file identifier, which the distributed memory agent transmits to a remote memory manager. The distributed memory agent receives, from the remote memory manager, a memory location within a second node for the file identifier and information to establish a remote direct memory access channel between the first node and the second node. In response to the request to open the file, the distributed memory agent establishes the remote direct memory access channel between the first node and the second node. The remote direct memory access channel allows the first node to read directly from or write directly to the memory location within the second node while bypassing an operating system of the second node.

    FRAMEWORK FOR BUILDING CLUSTER MANAGEMENT CONTROLLERS

    公开(公告)号:US20240241889A1

    公开(公告)日:2024-07-18

    申请号:US18097670

    申请日:2023-01-17

    Applicant: VMware, Inc.

    CPC classification number: G06F16/285

    Abstract: Examples described herein include systems and methods for providing a framework for building and verifying cluster-management controllers. Using this framework, a developer can submit only a fraction of the code otherwise required to verify safety and liveness of a controller. A verification framework is provided that can verify the implementation of a cluster-management controller down to the manner it will execute. The developer can submit a small function that runs inside the provided framework, making formal verification possible. The framework provided to the developer can incorporate the complex details regarding standard portions of cluster-management controllers, the underlying platform (such as KUBERNETES, as an example), platform API, platform networking, and so on. The developer's code can therefore focus on the new features but still make use of formal verification for how that code will work within an entire cluster-management system.

    Highly-scalable, software-defined, in-network multicasting of load statistics data

    公开(公告)号:US11184259B2

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

    申请号:US16432477

    申请日:2019-06-05

    Applicant: VMware, Inc.

    Abstract: In an embodiment, a computer-implemented method for highly-scalable, in-network multicasting of statistics data is disclosed. In an embodiment, a method comprises: receiving, from an underlay controller, a match-and-action table that is indexed using one or more multicast (“MC”) group identifiers and includes one or more special MC headers; detecting a packet carrying statistics data; determining whether the packet includes an MC group identifier; in response to determining that the packet includes the MC group identifier: using the MC group identifier, retrieving a special MC header, of the one or more special MC headers, from the match-and-action table; generating an encapsulated packet by encapsulating the packet with the special MC header; and providing the encapsulated packet to an interface controller for transmitting the encapsulated packet to one or more physical switches.

Patent Agency Ranking