Accelerator Task Scheduling for Dynamic Resource Pooling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Accelerator devices often remain idle due to static resource allocation, leading to wastage of resources in data centers, especially in environments where workloads are not consistently utilized, such as in machine learning and genomics applications.

Innovation Solution

Implementing a data center architecture with dynamically pooled resources, such as accelerators, memory, and storage, that can be allocated on an as-needed basis through an optical fabric, allowing compute resources to access these resources as if they were local, and utilizing predictive utilization models to reallocate resources based on past usage patterns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If static resource allocation is used for accelerator devices, then resource assignment is simple and stable, but resource utilization is low and waste occurs

Engineering Contradiction:
Improveresource utilizationVSAvoidresource allocation complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation where accelerator devices are not permanently assigned to specific workloads but are instead allocated on-demand based on current needs. The system monitors workload requirements and dynamically assigns accelerator resources from a shared pool, allowing resources to transition between idle and active states based on real-time demand rather than static configuration.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent creates a universal accelerator resource pool where multiple types of accelerator devices (GPUs, FPGAs, ASICs) can serve multiple different workloads. Instead of dedicating specific accelerators to specific applications, the system allows any accelerator in the pool to be allocated to any workload that requires acceleration capabilities, making the infrastructure multi-functional and adaptable.

Inventive Principle:
Principle #6Universality (Multi-functionality)

2Reliability

If accelerator devices are allocated for the duration of workload, then resource availability is guaranteed, but idle time increases and resources are wasted

Engineering Contradiction:
Improveresource availabilityVSAvoididle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent ensures continuous utilization of accelerator resources by implementing a resource pooling mechanism where accelerators that finish one workload are immediately made available for the next assignment. The system maintains a queue of pending workloads and continuously allocates resources from the pool to awaiting tasks, eliminating idle periods and ensuring that accelerator devices are constantly performing useful work rather than remaining dormant between allocations.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If dynamic resource pooling is implemented, then resource utilization improves, but system complexity increases

Engineering Contradiction:
Improveoverall performanceVSAvoidarchitecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces a resource manager as an intermediary component that handles the complexity of dynamic allocation, pooling, and assignment of accelerator resources. This mediator layer sits between the workloads and the physical accelerator devices, abstracting the complex management tasks away from both the applications and the hardware. The resource manager handles monitoring, allocation, de-allocation, and coordination, thereby enabling dynamic resource pooling without requiring complex changes to the underlying accelerator architecture or the workload applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11907557B2Technologies for dividing work across accelerator devices
Publication Date: 2024.02.20 INTEL CORP
  • US11907557B2 patent drawing
  • US11907557B2 patent drawing
  • US11907557B2 patent drawing

AI summary

Technologies for dividing work across one or more accelerator devices include a compute device. The compute device is to determine a configuration of each of multiple accelerator devices of the compute device, receive a job to be accelerated from a requester device remote from the compute device, and divide the job into multiple tasks for a parallelization of the multiple tasks among the one or more accelerator devices, as a function of a job analysis of the job and the configuration of each accelerator device. The compute engine is further to schedule the tasks to the one or more accelerator devices based on the job analysis and execute the tasks on the one or more accelerator devices for the parallelization of the multiple tasks to obtain an output of the job.