Resource Scheduler with Credit-Based CPU Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualized computing environments, the number of virtual machine instances supported by a computing system is limited by CPU resources, leading to tradeoffs between responsiveness and efficiency, as excessive instances result in low responsiveness due to insufficient CPU allocation, while fewer instances lead to underutilization of resources.

Innovation Solution

Implementing a resource scheduler that provides resource credits to virtual machines, allowing prioritized access to CPU resources based on usage, with mechanisms like quota scheduling to manage CPU time allocation and limit resource consumption, ensuring high responsiveness and efficient use of computing resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the number of virtual machine instances is increased, then computing resource capacity is improved, but responsiveness deteriorates due to insufficient CPU allocation per instance

Engineering Contradiction:
Improvenumber of virtual machine instancesVSAvoidresponsiveness
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent implements dynamic CPU scheduling that adjusts CPU time allocation based on virtual machine activity states. Active virtual machines receive higher CPU time quotas while inactive ones receive reduced allocation, allowing the system to maintain high responsiveness for active instances while supporting a larger total number of virtual machine instances through adaptive resource distribution

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the CPU time parameter dynamically by adjusting the proportion of CPU time allocated to each virtual machine based on its activity state. This parameter change enables the system to resolve the contradiction by allocating more CPU time to active instances (improving responsiveness) while allowing more instances to exist in the system (increasing quantity)

Inventive Principle:
Principle #35Parameter changes

2Speed

If the number of virtual machine instances is decreased, then responsiveness is improved through sufficient CPU allocation, but resource utilization efficiency deteriorates

Engineering Contradiction:
ImproveresponsivenessVSAvoidresource utilization efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The dynamic scheduling mechanism monitors virtual machine activity states and adjusts CPU time allocation accordingly. When virtual machines are inactive, they receive reduced CPU time allocation, freeing up resources for other active instances. This dynamic adjustment maintains high resource utilization efficiency while ensuring active instances receive sufficient CPU resources for responsive operation

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system dynamically changes the CPU time parameter based on virtual machine activity, increasing allocation for active instances to maintain responsiveness while decreasing allocation for inactive instances to improve overall resource utilization efficiency

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If CPU time is equally allocated to all virtual machine instances, then fairness is improved, but service quality levels deteriorate due to inability to prioritize active instances

Engineering Contradiction:
ImprovefairnessVSAvoidservice quality
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements differentiated CPU time allocation where different virtual machine instances receive different proportions of CPU time based on their activity states. Active virtual machines receive higher CPU time quotas while inactive ones receive lower allocation, providing localized quality adjustment that prioritizes service quality for active instances while maintaining a fairness mechanism through state-based differentiation

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9535736B2Providing service quality levels through CPU scheduling
Publication Date: 2017.01.03 AMAZON TECH INC
  • US9535736B2 patent drawing
  • US9535736B2 patent drawing
  • US9535736B2 patent drawing

AI summary

In this disclosure, a resource scheduler is described that allows virtual machine instances to earn resource credits during the low activity levels. Virtual machine instances that spend a predominant amount of time operating at low activity levels are able to quickly gain resource credits. Once these virtual machine instances acquire enough resource credits to surpass a threshold level, the resource scheduler can assign a high priority level to the virtual machine instances that provide them with priority access to CPU resources. The next time that the virtual machine instances enter a high activity level, they have a high priority level that allows them to preempt other, lower priority virtual machine instances. Thus, these virtual machine instances are able to process operations and/or respond to user requests with low latency.