Accelerator Manager for Dynamic ASIC Resource Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Adaptability or versatility
If accelerators are statically implemented on ASICs, then manufacturing precision is improved, but adaptability deteriorates
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.
3Reliability
If all accelerators are deployed to ensure availability, then reliability is improved, but resource utilization deteriorates
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.
Data Source
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.


