Partially reconfiguring acceleration components
AssigneeMicrosoft Technology Licensing, LLC
InventorsDerek T. Chiou, Sitaram V. Lanka, Adrian M. Caulfield, Andrew R. Putnam, Douglas C. Burger
Life of this patent
Estimating the term…
Abstract
Aspects extend to methods, systems, and computer program products for partially reconfiguring acceleration components. Partial reconfiguration can be implemented for any of a variety of reasons, including to address an error in functionality at the acceleration component or to update functionality at the acceleration component. During partial reconfiguration, connectivity can be maintained for any other functionality at the acceleration component untouched by the partial reconfiguration. Partial reconfiguration is more efficient to deploy than full reconfiguration of an acceleration component.
Claims20
A method for partially reconfiguring an acceleration component, the method comprising:
- detecting a reason for changing the functionality provided at the acceleration component;
- halting the provided functionality at the acceleration component;
- partially reconfiguring the acceleration component by writing an image for the provided functionality to the acceleration component;
- maintaining other functionality as operational during partially reconfiguring the acceleration component;
- and
- activating the provided functionality at the acceleration component after partially reconfiguring the acceleration component is complete.
A computer program product for implementing a method for partially reconfiguring a hardware accelerator, 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:
- detect a reason for changing the provided functionality;
- halt the provided functionality at the hardware accelerator;
- partially reconfigure the hardware accelerator by writing an image for the provided functionality to the hardware accelerator;
- maintain the other functionality as operational during partially reconfiguring the hardware accelerator;
- and
- activate the provided functionality at the hardware accelerator after partially reconfiguring the hardware accelerator is complete.
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;
- and
- one or more computer storage devices having stored thereon computer-executable instructions representing a configuration service, the configuration service executed on a processor in the software plane, the configuration service configured to:
- detect a reason for reconfiguring an acceleration component, the acceleration component included in and providing functionality to a group of interoperating acceleration components that provide acceleration of a service, functionality at each acceleration component in the group of interoperating acceleration components composed together in a graph to provide the service acceleration;
- halt the provided functionality at the acceleration component;
- partially reconfigure the acceleration component by writing an image for the provided functionality to the acceleration component;
- maintain other functionality at the acceleration component as operational during partially reconfiguring the acceleration component;
- and
- activate the provided functionality at the acceleration component after partially reconfiguring the acceleration component is complete.
Dependencies are inferred from the claim text.