Job Scheduling Framework for VM Foreground Background Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data centers, particularly those handling high-performance computing needs, low utilization of servers is a significant issue due to the challenge of managing nodes for parallel jobs, leading to idle resources and inefficient resource allocation.

Innovation Solution

A computer-implemented method that identifies computationally intensive and data-intensive tasks within a job and assigns them to virtual machines for foreground and background processing respectively, optimizing node utilization and reducing idle time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If first-come, first served scheduling is used for parallel jobs, then job processing order is simple and predictable, but node utilization becomes low and nodes remain idle

Engineering Contradiction:
Improvescheduling simplicityVSAvoidnode utilization
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies preliminary action by pre-categorizing jobs into computationally intensive and data intensive types, and pre-identifying suitable virtual machines for each category. When a job arrives, the system can immediately assign it to an appropriate VM without waiting for node availability, thereby eliminating idle time while maintaining scheduling simplicity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If nodes are allocated based on exact job requirements, then each job gets sufficient resources, but nodes remain idle when no matching jobs are available

Engineering Contradiction:
Improvejob resource satisfactionVSAvoidnode idle time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent makes virtual machines universal by designing them to handle multiple types of workloads. Each VM can process both computationally intensive tasks and data intensive tasks, allowing a single node to serve multiple job types. This multi-functionality ensures nodes remain productive across different job arrivals rather than remaining idle waiting for specific job types.

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

Solution Approach 2:

The system dynamically assigns jobs to virtual machines based on real-time VM availability and job characteristics. The scheduler can adaptively allocate resources, moving jobs between foreground and background processing modes, and reassigning VMs as they become available. This dynamic allocation prevents nodes from remaining idle while ensuring jobs receive adequate resources.

Inventive Principle:
Principle #15Dynamics

3Productivity

If separate virtual machines are used for computationally intensive and data intensive tasks, then task processing is optimized, but system complexity increases

Engineering Contradiction:
Improvetask processing efficiencyVSAvoidvirtual machine management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates universal virtual machines that can handle both computationally intensive and data intensive tasks within the same infrastructure. This approach maintains productivity by optimizing task processing through appropriate VM selection while avoiding the complexity of managing entirely separate VM pools for different task types. The scheduler intelligently routes jobs to suitable VMs based on their characteristics.

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

Data Source

PatentUS11175940B2Scheduling framework for tightly coupled jobs
Publication Date: 2021.11.16 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11175940B2 patent drawing
  • US11175940B2 patent drawing
  • US11175940B2 patent drawing

AI summary

Managing execution of a job in a computing environment. A method establishes, for a job to be executed in the computing environment, an execution plan for processing the job. The execution plan identifies computationally intensive tasks of the job and data intensive tasks of the job. The method selects a virtual machine of the computing environment to process the identified computationally intensive tasks of the job and identified data intensive tasks of the job. The method assigns the identified computationally intensive tasks of the job for foreground processing of the virtual machine and assigns the identified data intensive tasks of the job for background processing of the virtual machine. Execution of the job executes the identified computationally intensive tasks of the job in foreground processing of the virtual machine and executes the identified data intensive tasks of the job in background processing of the virtual machine.