Graphics Processor CPU Core Arbitration for Resource Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems underutilize embedded processors, such as graphics processing units (GPUs), leading to inefficiencies in processing capabilities.
Innovation Solution
A system and method that provides access to graphics processor CPU cores for both graphics processors and central processing units (CPUs), allowing for the arbitration of requests to execute code on these cores, utilizing a dynamic pool of CPU resources and data structures like semaphores to manage availability and prioritize processing tasks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Power
If embedded processors in graphics processors are dedicated solely to graphics processing, then graphics processing performance is improved, but processing capability utilization deteriorates
Solution Approach 1:
The patent makes the CPU cores in graphics processors multi-functional by allowing them to serve both graphics processing tasks and general-purpose computing tasks. The system enables the GPU's CPU cores to be dynamically allocated to either graphics workloads or CPU workloads based on system needs, transforming a single-function resource into a universal resource that can adapt to different processing requirements.
Solution Approach 2:
The patent implements dynamic allocation of CPU cores between graphics processing and general-purpose computing. The system continuously monitors workload demands and dynamically assigns CPU core availability to either the GPU or CPU based on current processing needs, allowing the resource allocation to adapt and change over time rather than being fixed.
2Productivity
If CPU cores in graphics processors are made accessible to both GPU and CPU, then resource utilization is improved, but system complexity deteriorates
Solution Approach 1:
The patent introduces an intermediary arbitration mechanism that manages access to shared CPU cores between the GPU and CPU. This arbitration layer acts as a mediator that receives requests from both processors, determines priority and availability, and grants access appropriately. The intermediary abstracts the complexity of resource management, allowing both GPU and CPU to access shared cores without direct conflicts.
Solution Approach 2:
The system implements feedback mechanisms where the arbitration logic continuously monitors the state of CPU cores, the needs of the GPU, and the needs of the CPU. Based on this feedback, the system dynamically adjusts resource allocation decisions, creating a closed-loop control system that optimizes resource utilization while managing complexity through adaptive response to system conditions.
3Productivity
If arbitration mechanisms are implemented for shared CPU cores, then resource allocation efficiency is improved, but processing time deterioration occurs
Solution Approach 1:
The patent implements preliminary action by pre-establishing arbitration rules, priority schemes, and resource allocation policies before processing workloads. The system pre-configures how CPU cores should be allocated under different conditions, allowing arbitration decisions to be made based on pre-determined criteria rather than requiring complex real-time negotiations, thus reducing arbitration overhead and processing time.
Data Source
AI summary
A system, method, and computer program product are presented for providing access to graphics processor central processing unit (CPU) cores, to both a graphics processor and a central processing unit. In operation, access is provided to a plurality of central processing unit cores of a graphics processor, to both the graphics processor and a central processing unit. Additionally, first requests are received from the central processing unit to execute first code utilizing at least one of the central processing unit cores of the graphics processor. Furthermore, second requests are received from the graphics processor to execute second code utilizing at least one of the central processing unit cores of the graphics processor. Still yet, there is arbitrating among the first requests and the second requests.


