Workload Scheduling in Heterogeneous Computing Environments
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Scheduling tasks on heterogeneous computing devices with various specialized components becomes increasingly difficult due to the complexity of leveraging their unique performance benefits effectively.
Innovation Solution
A workload scheduling method that identifies available processors and storage devices, considers their proximity and current utilization, and determines an optimal execution configuration for computing jobs by creating task and resource graphs to assign tasks efficiently across different processing and storage elements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If tasks are scheduled on heterogeneous computing devices with various specialized components, then computing performance and efficiency are improved, but scheduling complexity increases
Solution Approach 1:
The patent segments the heterogeneous computing system into distinct processor types (CPUs, GPUs, FPGAs) and storage devices (HDDs, SSDs), creating separate task graphs and resource graphs that map specific computing tasks to appropriate processor types. This segmentation allows the scheduler to handle each processor type independently according to its characteristics, reducing overall scheduling complexity while maintaining performance benefits.
Solution Approach 2:
The patent applies local quality by considering data locality - storing data on storage devices physically proximate to the processors that need them. The scheduler evaluates storage device proximity to processors and assigns tasks to processor-storage pairs that minimize data transfer distances. This local optimization reduces data access latency and improves computing performance without requiring complex global coordination.
2Speed
If data is stored on storage devices proximate to processors, then data access speed is improved, but system complexity increases
Solution Approach 1:
The patent performs preliminary actions by pre-positioning data on storage devices that are proximate to the processors that will need them. The scheduler analyzes task requirements and proactively assigns data to appropriate storage locations before execution begins. This preliminary data placement ensures fast data access during task execution without requiring complex real-time data movement operations.
Solution Approach 2:
The patent uses copying by creating multiple copies of data across different storage devices and processors. Instead of moving data dynamically, the system replicates data copies to storage devices proximate to various processors, allowing any processor to access its local copy without coordination overhead. This copying strategy improves data access speed while keeping the system relatively simple.
Data Source
AI summary
In an approach for scheduling the execution of a workload in a computing environment, a computer receives a request for scheduling execution of a computing job, wherein the computing job includes a plurality of computing tasks to be executed in a sequence, and wherein at least one computing task requires access to a set of data. The computer identifies information related to the computing environment, wherein the information comprises at least processors available to execute each computing task of the plurality of computing tasks and storage device proximity to the processors. The computer determines an execution configuration for the computing job based, at least in part, on the received request, the information related to the computing environment, and current utilization of the processors' resources. The computer schedules execution of the execution configuration for the computing job.


