VM Scheduling via Pre-computed Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional scheduling algorithms for virtual machines require a long time to calculate resource allocation, which can lead to inefficiencies in processing tasks and failing to meet deadline requirements.

Innovation Solution

A real-time scheduling system that includes a management server, nodes, and a scheduler that determines whether a processor can execute tasks while satisfying deadlines by calculating optimal resource allocation for virtual machines, using algorithms such as is_schedulable and optimal_resource to efficiently allocate processor resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If conventional scheduling algorithms are used to calculate resource allocation for virtual machines, then resource allocation can be determined, but the calculation process takes a long time

Engineering Contradiction:
Improvecalculation time for resource allocationVSAvoidprocessing efficiency of tasks
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent pre-calculates and stores scheduling information for multiple virtual machines before actual task execution. The scheduling information includes pre-determined resource allocation data that can be quickly retrieved during runtime, eliminating the need for complex real-time calculations and significantly reducing the time required for resource allocation decisions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent divides the scheduling information into discrete units associated with individual virtual machines. Each virtual machine has its own pre-calculated scheduling data structure that can be independently processed and retrieved. This segmentation allows the system to quickly access only the relevant scheduling information for active virtual machines without processing entire scheduling datasets, thereby reducing calculation time.

Inventive Principle:
Principle #1Segmentation

2Reliability

If conventional scheduling algorithms calculate resource allocation in real-time, then accurate resource distribution can be achieved, but the processing time exceeds task deadlines

Engineering Contradiction:
Improvedeadline satisfaction for tasksVSAvoidtime for resource allocation calculation
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs scheduling calculations in advance and stores the results for quick retrieval during task execution. This preliminary computation ensures that accurate resource allocation decisions are already prepared before tasks need to be scheduled, guaranteeing deadline satisfaction while minimizing real-time processing delays.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates and stores copies of scheduling information that can be rapidly accessed during runtime. Instead of performing complex calculations whenever a scheduling decision is needed, the system retrieves pre-computed scheduling data copies, ensuring both accuracy and speed in meeting task deadlines.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9348629B2Apparatus, system, method and computer-readable medium for scheduling in which a check point is specified
Publication Date: 2016.05.24 KK TOSHIBA
  • US9348629B2 patent drawing
  • US9348629B2 patent drawing
  • US9348629B2 patent drawing

AI summary

A scheduling apparatus according to an example embodiment includes a controller. The controller determines whether a resource of a second processor in a second terminal device can execute a group including at least one virtual machine in a first terminal in addition to virtual machines in the second terminal device by each combination of a cycle and an executing period per cycle. The controller specifies a cycle and an executing period of which a ratio of the executing period to the cycle is the smallest from among pairs of a cycle and an executing period for which the controller determines that the group can be executed, and assigns the specified cycle and the specified executing period to the group including the at least one of the one or more virtual machines in the first terminal in addition to the one or more virtual machines in the second terminal device.