Prioritized polling techniques

US12591532B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12591532-B2
Application numberUS-202318394424-A
CountryUS
Kind codeB2
Filing dateDec 22, 2023
Priority dateDec 22, 2023
Publication dateMar 31, 2026
Grant dateMar 31, 2026

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

In at least one embodiment, processing can include: assigning services a non-critical polling priority or a critical polling priority, where each service is associated with a queue set including a completion queue (CQ) and receiving queue (RQ) associated with received messages stored in memory of the local node and sent by a remote node via remote direct memory access (RDMA); partitioning CQs of the queue sets in accordance with assigned polling priorities to generate a non-critical CQ list and a critical CQ list; polling the non-critical CQ list by a non-critical poller at a non-critical polling frequency for completion signals or indicators associated with received non-critical messages of the local node to be serviced; and polling the critical CQ list by a critical poller at a critical polling frequency for completion signals or indicators associated with received critical messages of the local node to be serviced.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method comprising: for a first plurality of services, assigning each service of the first plurality a polling priority of a non-critical polling priority or a critical polling priority, wherein each service of the first plurality is associated with a corresponding service queue set of a second plurality of service queue sets of a local node, wherein each service queue set of the second plurality of service queue sets associated with a corresponding service of the first plurality includes a completion queue (CQ) and an associated receiving queue (RQ) of work queue entries (WQEs) associated with received messages that are stored in a first memory of the local node and sent by a remote node via remote direct memory access (RDMA); partitioning CQs of the second plurality of service queue sets associated with the first plurality of services in accordance with assigned polling priorities to generate a non-critical CQ list of the local node and a critical CQ list of the local node, wherein the non-critical CQ list includes CQs associated with services of the first plurality assigned the non-critical polling priority, and wherein the critical CQ list includes CQs associated with services of the first plurality assigned the critical polling priority; polling each CQ of the non-critical CQ list on the local node by a non-critical poller at a non-critical polling frequency, wherein said polling said each CQ of the non-critical CQ list includes polling said each CQ of the non-critical CQ list for completion signals or indicators associated with corresponding received non-critical messages of the local node to be serviced; and polling each CQ of the critical CQ list on the local node by a critical poller at a critical polling frequency, wherein said polling said each CQ of the critical CQ list includes polling said each CQ of the critical CQ list for completion signals or indicators associated with corresponding received critical messages of the local node to be serviced. 2 . The computer-implemented method of claim 1 , wherein each RQ of the second plurality of service queue sets is configured to synchronize via RDMA with an Send Queue (SQ) of the remote node such that when a first WQE (work queue element or entry), that is associated with an outgoing message stored in a second memory of the remote node, is enqueued in the SQ of the remote node, the outgoing message is sent via RDMA from the remote node to the local node, where the outgoing message is received by the local node and stored in an incoming message buffer of the first memory of the local node, wherein the incoming message buffer of the local node is associated with a second WQE of the RQ that synchronizes via RDMA with the SQ. 3 . The computer-implemented method of claim 2 , further comprising: in response to storing, via RDMA, the outgoing message of the remote node in the incoming message buffer of the second WQE of the RQ having an associated CQ on the local node, generating a completion signal or indicator to indicate that the second WQE of the RQ associated with the incoming message buffer needs servicing or handling by a service of the first plurality associated with the RQ. 4 . The computer-implemented method of claim 3 , wherein the CQ associated with the RQ includes a CQ Entry (CQE) associated with the second WQE and the incoming message buffer whereby the CQE serves as a signal or indicator that a received message of the local node stored in the incoming message buffer needs servicing or handling by the local node. 5 . The computer-implemented method of claim 1 , further comprising: for each completion signal or indicator of a CQ of the non-critical list associated with a corresponding received non-critical message of the local node, servicing said received non-critical message by the local node. 6 . The computer-implemented method of claim 5 , wherein said servicing said received non-critical message of the local node includes forwarding any of: a CQE of the CQ where the CQE is associated with said received non-critical message, or a WQE of an RQ associated with the CQ where the WQE is associated with said received non-critical message, to a worker thread of one service of the first plurality executing on the local node, wherein said one service is assigned the non-critical polling frequency and said one service is associated with the RQ and the CQ on the local node. 7 . The computer-implemented method of claim 6 , wherein for each RQ of a queue set of the second plurality that is associated with a corresponding CQ of the queue set of a service assigned the non-critical polling priority, each CQE of the corresponding CQ is associated with a WQE of said each RQ wherein the WQE references a buffer in the first memory of the local node, and wherein the buffer stores an incoming non-critical message transmitted via RDMA from the local node to the remote node. 8 . The computer-implemented method of claim 1 , further comprising: for each completion signal or indicator of a CQ of the critical list associated with a corresponding received critical message of the local node, servicing said received critical message by the local node. 9 . The computer-implemented method of claim 8 , wherein said servicing said received critical message of the local node includes forwarding any of: a CQE of the CQ where the CQE is associated with said received critical message, or a WQE of an RQ associated with the CQ where the WQE is associated with said received critical message, to a worker thread of one service of the first plurality executing on the local node, wherein said one service is assigned the critical polling frequency and said one service is associated with the RQ and the CQ on the local node. 10 . The computer-implemented method of claim 9 , wherein for each RQ of a queue set of the second plurality that is associated with a corresponding CQ of the queue set of a service assigned the critical polling priority, each CQE of the corresponding CQ is associated with a WQE of said each RQ wherein the WQE references a buffer in the first memory of the local node, wherein the buffer stores an incoming critical message transmitted via RDMA from the local node to the remote node. 11 . The computer-implemented method of claim 1 , wherein the critical poller and the non-critical poller are separate independent pollers. 12 . The computer-implemented method of claim 1 , wherein the critical poller is a first dedicated critical polling thread that only performs critical polling of CQs associated with services of the first plurality assigned the critical polling priority, and wherein the non-critical poller is a second dedicated non-critical polling thread that only performs non-critical polling of CQs associated with services of the first plurality assigned the non-critical polling priority. 13 . The computer-implemented method of claim 1 , wherein the critical polling frequency indicates a greater polling frequency than the non-critical polling frequency such that critical polling, as performed by the critical poller, is performed at a greater frequency that non-critical polling, as performed by the non-critical poller. 14 . The computer-implemented method of claim 1 , wherein a first service of the first plurality is assigned the critical polling frequency, a first queue set of the second plurality is associated with the first service, the first queue set including a first RQ, and a first CQ that is associated with the first RQ and that signals completed receipt of critical messages by the local node. 15 . The comput

Assignees

Inventors

Classifications

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • G06F9/3856Primary

    Reordering of instructions, e.g. using queues or age tags · CPC title

  • G06F13/22Primary

    using successive scanning, e.g. polling (G06F13/24 takes precedence) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12591532B2 cover?
In at least one embodiment, processing can include: assigning services a non-critical polling priority or a critical polling priority, where each service is associated with a queue set including a completion queue (CQ) and receiving queue (RQ) associated with received messages stored in memory of the local node and sent by a remote node via remote direct memory access (RDMA); partitioning CQs o…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F9/3856. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 31 2026 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).