Dynamic allocation of FPGA resources

US11042413B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-11042413-B1
Application numberUS-201916508100-A
CountryUS
Kind codeB1
Filing dateJul 10, 2019
Priority dateJul 10, 2019
Publication dateJun 22, 2021
Grant dateJun 22, 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.

Utilization metrics associated with a plurality of eligible compute tasks executable on a plurality of field-programmable gate arrays are determined. The utilization metrics are evaluated to dynamically identify a reallocation of an identified field-programmable gate array resource of the field-programmable gate arrays to handle a selected eligible compute task of the eligible compute tasks. The identified field-programmable gate array resource is automatically reprogrammed to handle the selected eligible compute task.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: field-programmable gate arrays; and a processor configured to: determine utilization metrics associated with a plurality of eligible compute tasks executable on the field-programmable gate arrays; evaluate the utilization metrics to dynamically identify a reallocation of an identified field-programmable gate array resource of the field-programmable gate arrays to handle a selected eligible compute task of the eligible compute tasks; and automatically reprogram the identified field-programmable gate array resource to handle the selected eligible compute task; wherein the processor is configured to evaluate the utilization metrics to dynamically identify the reallocation of the identified field-programmable gate array resource including by being configured to at least in part determine whether a first eligible compute task has been performed more frequently than a second eligible compute task. 2. The system of claim 1 , wherein the utilization metrics are associated with one or more of the following: queue depths of the field-programmable gate arrays or execution times to perform the eligible compute tasks. 3. The system of claim 1 , wherein the processor is further configured to evaluate one or more of the following: time of day, calendar date, or time zone to dynamically identify the reallocation of the identified field-programmable gate array resource. 4. The system of claim 1 , wherein the processor is configured to automatically reprogram the identified field-programmable gate array resource including by being configured to transfer a bitstream to the identified field-programmable gate array resource from a persistent storage device. 5. The system of claim 4 , wherein the bitstream is a part of a plurality of bitstreams included in a function repository. 6. The system of claim 1 , wherein the processor is further configured to invoke the identified field-programmable gate array resource to handle the selected eligible compute task. 7. The system of claim 1 , wherein the processor is further configured to report a result associated with the selected eligible compute task. 8. The system of claim 7 , wherein the result is formatted as an application programming interface response object. 9. The system of claim 1 , wherein the field-programmable gate arrays are located in a single server cluster. 10. The system of claim 1 , wherein the field-programmable gate arrays are located across multiple server clusters. 11. The system of claim 1 , wherein the processor is further configured to receive a request to perform the selected eligible compute task on the reprogrammed field-programmable gate array resource. 12. The system of claim 11 , wherein the request is received via an application programming interface. 13. The system of claim 11 , wherein the request originates from a software application. 14. A system, comprising: field-programmable gate arrays; and a processor configured to: determine utilization metrics associated with a plurality of eligible compute tasks executable on the field-programmable gate arrays, wherein the utilization metrics are formulated as cost functions that include, as components, queue depths of the field-programmable gate arrays and execution times to perform the eligible compute tasks; evaluate the utilization metrics to dynamically identify a reallocation of an identified field-programmable gate array resource of the field-programmable gate arrays to handle a selected eligible compute task of the eligible compute tasks; and automatically reprogram the identified field-programmable gate array resource to handle the selected eligible compute task. 15. The system of claim 14 , wherein the cost functions include, as a component, reprogramming times of the field-programmable gate arrays. 16. The system of claim 14 , wherein the processor is configured to automatically reprogram the identified field-programmable gate array resource including by being configured to transfer a bitstream to the identified field-programmable gate array resource from a persistent storage device. 17. The system of claim 14 , wherein the processor is further configured to report a result associated with the selected eligible compute task. 18. The system of claim 14 , wherein the field-programmable gate arrays are located across multiple server clusters. 19. The system of claim 14 , wherein the processor is further configured to receive a request to perform the selected eligible compute task on the reprogrammed field-programmable gate array resource. 20. A system, comprising: field-programmable gate arrays; and a processor configured to: determine utilization metrics associated with a plurality of eligible compute tasks executable on the field-programmable gate arrays; evaluate the utilization metrics to dynamically identify a reallocation of an identified field-programmable gate array resource of the field-programmable gate arrays to handle a selected eligible compute task of the eligible compute tasks; evaluate current events that generate social media activity to dynamically identify the reallocation of the identified field-programmable gate array resource; and automatically reprogram the identified field-programmable gate array resource to handle the selected eligible compute task.

Assignees

Inventors

Classifications

  • Offload · CPC title

  • Performance criteria · CPC title

  • G06F9/5027Primary

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

  • considering the load · CPC title

  • for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD] · 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 US11042413B1 cover?
Utilization metrics associated with a plurality of eligible compute tasks executable on a plurality of field-programmable gate arrays are determined. The utilization metrics are evaluated to dynamically identify a reallocation of an identified field-programmable gate array resource of the field-programmable gate arrays to handle a selected eligible compute task of the eligible compute tasks. Th…
Who is the assignee on this patent?
Facebook Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5027. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 22 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).