Accelerator Manager for Dynamic ASIC Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face inefficiencies in utilizing hardware accelerators due to manual design and implementation processes, which can lead to suboptimal performance and resource utilization, especially with the OpenCAPI interface, where accelerators are not dynamically managed for optimal usage.

Innovation Solution

An accelerator manager monitors usage and generates historical logs to determine which accelerators to implement on application-specific integrated circuits (ASICs), allowing for dynamic deployment of accelerators or accelerator images to programmable devices, thereby optimizing resource allocation and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If manual design and implementation processes are used for accelerator deployment, then device complexity is reduced, but productivity and resource utilization deteriorate

Engineering Contradiction:
Improveaccelerator deployment efficiencyVSAvoidaccelerator manager system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The accelerator manager enables self-service by automatically monitoring accelerator usage, generating historical logs, determining optimal accelerator implementations, and deploying accelerators without manual intervention. The system autonomously manages the entire accelerator lifecycle from selection to deployment on ASICs or programmable devices.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The accelerator manager implements feedback mechanisms by continuously monitoring accelerator usage patterns, generating historical logs based on actual performance data, and using this feedback to determine which accelerators to implement. This closed-loop approach ensures optimal resource allocation based on real-world performance.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If accelerators are statically implemented on ASICs, then manufacturing precision is improved, but adaptability deteriorates

Engineering Contradiction:
Improveaccelerator deployment flexibilityVSAvoidaccelerator implementation accuracy
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The system transitions from static accelerator implementation to dynamic deployment by using the accelerator manager to automatically select and deploy accelerators based on monitored usage patterns. Accelerators can be dynamically allocated to ASICs or deployed to programmable devices like FPGAs, enabling flexible adaptation to changing computational needs while maintaining precise implementation through automated determination processes.

Inventive Principle:
Principle #15Dynamics

3Reliability

If all accelerators are deployed to ensure availability, then reliability is improved, but resource utilization deteriorates

Engineering Contradiction:
Improveaccelerator availabilityVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

Instead of deploying all possible accelerators, the accelerator manager implements partial deployment by analyzing historical usage logs and only deploying accelerators that are actually needed based on monitored patterns. This selective approach ensures reliable availability for frequently used accelerators while avoiding resource waste on rarely used or unnecessary accelerators.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10740257B2Managing accelerators in application-specific integrated circuits
Publication Date: 2020.08.11 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10740257B2 patent drawing
  • US10740257B2 patent drawing
  • US10740257B2 patent drawing

AI summary

An accelerator manager monitors usage of accelerators by one or more computer programs, and generates a historical log from the monitored usage. The accelerator manager determines from the historical log which of the plurality of accelerators to implement on one or more application-specific integrated circuits. Each application-specific integrated circuit can include implemented accelerators and accelerator images that can be deployed to external programmable devices. Once one or more accelerators are implemented on one or more application-specific integrated circuits, the accelerator manager can direct one of the application-specific integrated circuits to provide a needed accelerator. An application-specific integrated circuit can provide the needed accelerator either using an accelerator implemented in the application-specific integrated circuit, or by deploying an accelerator image in the application-specific integrated circuit to an external programmable device.