Simplified Hash Table
US-2024422006-A1 · Dec 19, 2024 · US
US2016308718A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016308718-A1 |
| Application number | US-201514752793-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jun 26, 2015 |
| Priority date | Apr 17, 2015 |
| Publication date | Oct 20, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
The present invention extends to methods, systems, and computer program products for reconfiguring an acceleration component among interconnected acceleration components. Aspects of the invention facilitate reconfiguring an acceleration component among interconnected acceleration components using a higher-level software service. A manager or controller isolates an acceleration component by sending a message to one or more neighbor acceleration components instructing the one or more neighbor acceleration components to stop accepting communication from the acceleration component. The manager or controller can then shut down an application layer at the acceleration component for at least partial reconfiguration and closes input/output (I/O) portions. After reconfiguration completes, communication between the acceleration component and the one or more neighbor acceleration components can resume
Opening claim text (preview).
What is claimed: 1 . A method for reconfiguring an acceleration component among interconnected acceleration components, the method comprising a service manager: determining that it is appropriate to reconfigure a role at the acceleration component based on a detected condition at one or more of: the acceleration component or the role, the acceleration component included in a group of interoperating acceleration components in a hardware acceleration plane, roles at each acceleration component in the group of interoperating acceleration components linked together to compose a graph that provides service acceleration for a service; isolating the acceleration component from neighbor acceleration components in the group of interoperating acceleration components, the acceleration component isolated by sending a halt command to one or more neighbor acceleration components of the acceleration component, the halt command instructing the one or more neighbor acceleration components to ignore communication from the acceleration component; receiving an indication from each of the one or more neighbor acceleration components that the neighbor acceleration component is halted; reconfiguring the role at the acceleration component; sending an activate command to the one or more neighbor acceleration components of the acceleration component, the activate command instructing the one or more neighbor acceleration components to accept communication from the acceleration component; and receiving an indication from each of the one or more neighbor acceleration components that the neighbor acceleration component is activated. 2 . The method of claim 1 , wherein determining that it is appropriate to reconfigure a role at the acceleration component comprises detecting an error at the acceleration component. 3 . The method of claim 1 , further comprising, prior to isolating the acceleration component from the one or more neighbor acceleration components: sending a command to quiesce the graph; and receiving an indication that the graph is quiesced. 4 . The method of claim 3 , further comprising, subsequent to receiving an indication from each of the one or more neighbor acceleration components that the neighbor acceleration component is activated, sending an activate command to the graph to reactivate the graph. 5 . The method of claim 1 , wherein reconfiguring the role at the acceleration component comprises: sending a reconfiguration command to the acceleration component to reconfigure the role at the acceleration component; and receiving an indication from the acceleration component that the role has been reconfigured. 6 . The method claim 1 , wherein reconfiguring the role at the acceleration component comprises loading an image file at the acceleration component. 7 . The method of claim 1 , wherein the acceleration component comprises a Field Programmable Gate Array (FPGA). 8 . The method of claim 1 , wherein the service acceleration is for a service selected from among: document ranking, data encryption, data compression, speech translation, computer vision, or machine learning. 9 . The method of claim 1 , wherein the hardware acceleration plane comprises a configurable fabric of Field Programmable Gate Arrays (FPGAs). 10 . A computer program product for implementing a method for reconfiguring an acceleration component among interconnected acceleration components, the computer program product comprising one or more computer storage devices having stored thereon computer-executable instructions that, in response to execution at a processor, cause the method to be performed, comprising: determine that it is appropriate to reconfigure a role at the acceleration component based on a detected condition at one or more of: the acceleration component or the role, the acceleration component included in a group of interoperating acceleration components in a hardware acceleration plane, roles at each acceleration component in the group of interoperating acceleration components linked together to compose a graph that provides service acceleration for a service; isolate the acceleration component from neighbor acceleration components in the group of interoperating acceleration components, the acceleration component isolated by sending a halt command to one or more neighbor acceleration components of the acceleration component, the halt command instructing the one or more neighbor acceleration components to ignore communication from the acceleration component; receive an indication from each of the one or more neighbor acceleration components that the neighbor acceleration component is halted; reconfigure the role at the acceleration component; send an activate command to the one or more neighbor acceleration components of the acceleration component, the activate command instructing the one or more neighbor acceleration components to accept communication from the acceleration component; and receive an indication from each of the one or more neighbor acceleration components that the neighbor acceleration component is activated. 11 . The computer program product of claim 10 , wherein computer-executable instructions that, in response to execution, reconfigure the role at the acceleration component reconfigure the role at the acceleration component comprise computer-executable instructions that, when executed, load an image file at the acceleration component. 12 . The computer program product of claim 10 , further comprising computer-executable instructions that, in response to execution: prior to isolating the acceleration component from the one or more neighbor acceleration components: send a command to quiesce the graph; and receive an indication that the graph is quiesced; and subsequent to receiving an indication from each of the one or more neighbor acceleration components that the neighbor acceleration component is activated: send an activate command to the graph to reactivate the graph. 13 . The computer program product of claim 10 , wherein the acceleration component comprises a Field Programmable Gate Array (FPGA). 14 . The computer program product of claim 10 , wherein the service acceleration is for a service selected from among: document ranking, data encryption, data compression, speech translation, computer vision, or machine learning. 15 . The computer program product of claim 10 , wherein the hardware acceleration plane comprises a configurable fabric of Field Programmable Gate Arrays (FPGAs). 16 . A system, the system including: a hardware acceleration plane including a configurable fabric of a plurality of acceleration components; a software plane including a plurality of host components configured to execute software; a network infrastructure shared by acceleration components in the hardware acceleration plane and host components in the software plane, the network infrastructure used by acceleration components to communicate directly with one another; one or more computer storage devices having stored thereon computer-executable instructions representing a service manager, the service manager configured to: determine that it is appropriate to reconfigure a role at the acceleration component based on a detected condition at one or more of: the acceleration component and the role, the acceleration component included in a group of interoperating acceleration components in the hardware acceleration plane, roles at each acceleration component in the group of interoperating acceleration components linked together to compose a graph that provides service accelerat
Resetting or repowering · CPC title
Reconfiguring to eliminate the error (group management mechanisms in a peer-to-peer network H04L67/1044) · CPC title
Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units (interface circuits for specific input/output devices G06F3/00 {; multiprogram control therefor G06F9/46}; multiprocessor systems G06F15/16 ) · CPC title
Reconfiguration support, e.g. configuration loading, configuration switching, or hardware OS · CPC title
the resource being a machine, e.g. CPUs, Servers, Terminals · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.