Job Scheduling Framework for VM Foreground Background Processing
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
3Productivity
If separate virtual machines are used for computationally intensive and data intensive tasks, then task processing is optimized, but system complexity increases
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.
Data Source
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.


