Job Scheduling via Complementary Resource Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current parallel computing systems experience inefficiencies due to uneven resource utilization across servers, leading to suboptimal workload throughput and increased operational costs.
Innovation Solution
A scheduling mechanism that identifies complementary jobs, which overload one resource and underutilize another, and allocates resources accordingly, ensuring efficient execution by matching tasks that complement each other's resource usage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If jobs are executed in parallel on servers, then workload throughput is increased, but resource utilization becomes uneven leading to inefficiency
Solution Approach 1:
The patent combines multiple jobs with complementary resource usage patterns into a single execution unit. Specifically, it merges a first job that overloads a first resource but underutilizes a second resource with a second job that underutilizes the first resource but overloads the second resource, allowing them to be executed together on the same server to balance overall resource utilization.
Solution Approach 2:
The patent applies local quality by analyzing and matching specific resource usage characteristics of different jobs. It identifies jobs with opposite resource utilization patterns on specific resources (CPU, I/O, network) and pairs them together, so that each server receives a customized combination of jobs tailored to balance its resource consumption locally.
2Productivity
If additional servers are added to handle workload, then processing capacity is increased, but capital expenditures and operating costs increase
Solution Approach 1:
The patent makes existing servers more universally useful by enabling them to efficiently execute multiple types of jobs simultaneously. By combining jobs with complementary resource patterns, each server can handle a diverse workload that fully utilizes its various resources (CPU, I/O, network), thereby increasing the effective capacity of the existing server fleet without adding new servers.
3Ease of operation
If resources are allocated to all jobs equally, then simplicity is maintained, but high priority jobs do not receive sufficient resource allocation to improve completion time
Solution Approach 1:
The patent introduces dynamic resource allocation within job combinations by allowing the scheduler to adjust the proportion of resources allocated to each job based on priority, resource requirements, and current system state. This enables high-priority jobs to receive more resources when needed while maintaining the simplicity of the overall scheduling mechanism through automated dynamic adjustment.
Data Source
AI summary
The subject disclosure is directed towards executing jobs based on resource usage. When a plurality of jobs is received, one or more jobs are mapped to one or more other jobs based on which resources are fully utilized or overloaded. The utilization of these resources by the one or more jobs complements utilization of these resources by the one or more other jobs. The resources are partitioned at one or more servers in order to efficiently execute the one or more jobs and the one or more other jobs. The resources may be partitioned equally or proportionally based on the resource usage or priorities.


