Method and apparatus for scheduling arbitration among a plurality of service requestors

US11113101B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11113101-B2
Application numberUS-201715613760-A
CountryUS
Kind codeB2
Filing dateJun 5, 2017
Priority dateJun 5, 2017
Publication dateSep 7, 2021
Grant dateSep 7, 2021

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.

Method and system embodying the method for scheduling arbitration among a plurality of service requestors encompassing: designating among the plurality of service requestors all the service requestors that have an active request; determining whether at least one of the designated service requestors has an un-served status indicator which is set; and when the determining is positive then: selecting one of the at least one designated service requestors in accordance with a pre-determined policy; and clearing the un-served status indicator for the selected service requestor, is disclosed.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for scheduling arbitration among a numbered plurality of service requestors, comprising: at least one host and at least one engine, the at least one engine comprising at least one digital signal processor and/or at least one hardware accelerator, the at least one host and the at least one engine being configured to generate requests to be enqueued into the plurality of service requestors, wherein each request comprises a job or a non-job; and a job arbitrator and assignor communicatively coupled to the plurality of service requesters and being configured to: designate among the plurality of service requestors all the service requesters that have an active request at a top entry indicating that a job is ready to be processed and that at least one engine capable of processing the job is available; determine whether at least one of the designated service requestors has an un-served status indicator which is set; select one of the at least one designated service requestors in accordance with a pre-determined policy and clear the un-served status indicator for the selected service requestor in response to the determination being positive; and submit the active request from the selected service requester to one of the at least one engine capable of processing the job. 2. The apparatus as claimed in claim 1 , wherein when the determination is negative, the job arbitrator and assignor is further configured to: set the un-served status indicator for each of the at least one designated service requestors; select one of the at least one designated service requestors in accordance with the pre-determined policy; and clear the un-served status indicator for the selected service requestor. 3. The apparatus as claimed in claim 1 , wherein the job arbitrator and assignor is further configured to: determine a priority level of each of the plurality of service requestors; and designate in the plurality of service requestors all the service requestors that have the highest determined priority level and an active request. 4. The apparatus as claimed in claim 3 , wherein the at least one host is configured to: set a priority level of each of the plurality of service requestors. 5. The apparatus as claimed in claim 1 , wherein the job arbitrator and assignor is further configured to: set the un-served status indicator for each of the plurality of requestors before the designating from the plurality of service requestors all the service requestors that have an active request. 6. The apparatus as claimed in claim 1 , wherein the job arbitrator and assignor is configured to select the pre-determined policy from a group consisting of: round-robin; random selection; lowest numbered service requestor; least recently used service requestor; most recently used service requestor; highest numbered service requestor; and according to a configurable, complete and fixed order between the service requestors. 7. The apparatus as claimed in claim 1 , wherein the plurality of service requestors comprises a plurality of queues. 8. A method for scheduling arbitration among a numbered plurality of service requestors, comprising: enqueuing at the plurality of service requestors, requests generated by at least one host and at least one engine, the at least one engine comprising at least one digital signal processor and/or at least one hardware accelerator, wherein each request comprises a job or a non-job; performing, by a job arbitrator and assignor communicatively coupled to the plurality of service requestors the actions of; designating among the plurality of service requestors all the service requestors that have an active request at a top entry indicating that a job is ready to be processed and that at least one engine capable of processing the job is available; determining whether at least one of the designated service requesters has an un-served status indicator which is set; and in response to the determination being positive: selecting one of the at least one designated service requestors in accordance with a pre-determined policy; clearing the un-served status indicator for the selected service requestor; and submitting the active request from the selected service requestor to one of the at least one engine capable of processing the job. 9. The method as claimed in claim 8 , wherein when the determination is negative, comprising: setting the un-served status indicator for each of the at least one designated service requestors; selecting one of the at least one designated service requesters in accordance with the pre-determined policy; and clearing the un-served status indicator for the selected service requestor. 10. The method as claimed in claim 8 , further comprising; determining a priority level of each of the plurality of service requestors; and wherein the designating in the plurality of service requestors all the service requestors that have an active request comprises: designating from the plurality of service requestors all the service requestors that have the highest determined priority level and an active request. 11. The method as claimed in claim 10 , further comprising: setting a priority level of each of the plurality of service requestors. 12. The method as claimed in claim 8 , further comprising: setting the un-served status indicator for each of the plurality of requestors before the designating all the service requestors that have an active request from the plurality of service requestors. 13. The method as claimed in claim 8 , wherein the pre-determined policy is selected from a group consisting of: round-robin; random selection; lowest numbered service requestor; least recently used service requestor; most recently used service requestor; highest numbered service requestor; and according to a configurable, complete and fixed order between the service requestors. 14. The method as claimed in claim 8 , wherein the plurality of service requestors comprises a plurality of queues. 15. A non-transitory computer readable medium comprising: a plurality of executable instructions that when executed by an apparatus for scheduling arbitration among a plurality of service requestors cause the apparatus to: generate requests to be enqueued into the plurality of service requestors by at least one host and at least one engine, the at least one engine comprising at least one digital signal processor and/or at least one hardware accelerator, wherein each request comprises a job or a non-job; perform, by a job arbitrator and assignor communicatively coupled to the plurality of numbered service requestors, the actions of: designate among the plurality of service requestors all the service requestors that have an active request at a top entry indicating that a job is ready to be processed and that at least one engine capable of processing the job is available; determine whether at least one of the designated service requestors has an un-served status indicator which is set; select one of the at least one designated service requestors in accordance with a pre-determined policy; clear the un-served status indicator for the selected service requestor in response to the determination being positive; and submit the active request from the selected service requestor to one of the at least one engine capable of processing the job.

Assignees

Inventors

Classifications

  • Access to shared memory · CPC title

  • G06F9/4881Primary

    Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues · CPC title

  • the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title

  • considering hardware capabilities · CPC title

  • Specially adapted for signal processing, e.g. Harvard architectures · 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 US11113101B2 cover?
Method and system embodying the method for scheduling arbitration among a plurality of service requestors encompassing: designating among the plurality of service requestors all the service requestors that have an active request; determining whether at least one of the designated service requestors has an un-served status indicator which is set; and when the determining is positive then: select…
Who is the assignee on this patent?
Cavium Llc, Marvell Asia Pte Ltd
What technology area does this patent fall under?
Primary CPC classification G06F13/1663. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 07 2021 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).