Virtual Hardware Thread Scheduling for Cloud VNF Scaling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing cloud scaling technologies face challenges in efficiently managing thousands of Virtual Network Functions (VNFs) due to high scheduling and CPU oversubscription overheads, leading to resource drain and latency issues, especially when using thin virtual machines for microservices and web-services.

Innovation Solution

The implementation of non-blocking, non-spinning cross-domain event synchronization and data communication using virtual hardware threads (VHTRs) that allow for efficient CPU resource allocation and scheduling, avoiding context switch penalties and operating system overheads by using a hardware scheduler to switch VHTRs in and out of execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If polling-mode interactions are used to implement event-driven state-engine traversals, then efficient event processing can be achieved, but significant CPU resources and power are drained due to continuous polling loops

Engineering Contradiction:
Improveevent processing efficiencyVSAvoidCPU resource consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The patent replaces the mechanical polling loop system with an event-driven architecture using hardware threads and interrupt-based notification. Instead of continuously polling for events, the system uses hardware threads that are automatically activated when events occur, eliminating the need for continuous CPU polling and reducing energy consumption while maintaining efficient event processing.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements periodic action through event-triggered activation of hardware threads. Rather than continuous polling, the system periodically activates hardware threads only when events occur, allowing the CPU to remain in low-power states between events while ensuring timely event processing when needed.

Inventive Principle:
Principle #19Periodic action

2Adaptability or versatility

If thin virtual machines for microservices are deployed to scale cloud services, then cloud scalability is improved, but scheduling overheads increase due to CPU pinning and context switching

Engineering Contradiction:
Improvecloud scalabilityVSAvoidscheduling overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the CPU into multiple hardware threads that can be independently scheduled. This segmentation allows the system to manage thousands of VNFs by distributing them across multiple hardware threads, reducing the scheduling overhead that would otherwise occur with traditional CPU pinning and context switching mechanisms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces hardware threads as an intermediary between the CPU and VNFs. These hardware threads act as mediators that automatically manage context switching and scheduling, eliminating the need for complex software-based scheduling mechanisms and reducing overall scheduling overhead while enabling improved cloud scalability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Stability of the object's composition

If CPU pinning is used to schedule VNFs, then execution determinism is improved, but massive oversubscription occurs leading to resource exhaustion

Engineering Contradiction:
Improveexecution determinismVSAvoidCPU resource availability
Core Design Contradiction:
Stability of the object's compositionVSQuantity of substance

Solution Approach 1:

The patent implements dynamic resource allocation through hardware threads that can be scheduled based on actual workload demands. Instead of static CPU pinning that causes oversubscription, the system dynamically allocates hardware threads to VNFs as needed, maintaining execution determinism while preventing resource exhaustion through flexible, demand-driven resource allocation.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10771554B2Cloud scaling with non-blocking non-spinning cross-domain event synchronization and data communication
Publication Date: 2020.09.08 INTEL CORP
  • US10771554B2 patent drawing
  • US10771554B2 patent drawing
  • US10771554B2 patent drawing

AI summary

Disclosed embodiments relate to cloud scaling with non-blocking, non-spinning cross-domain event synchronization and data communication. In an example, a processor includes a memory to store multiple virtual hardware thread (VHTR) descriptors, each including an architectural state, a monitored address range, a priority, and an execution state, fetch circuitry to fetch instructions associated with a plurality of the multiple VNFs, decode circuitry to decode the fetched instructions, scheduling circuitry to allocate and pin a VHTR to each of the plurality of VNFs, schedule execution of a VHTR on each of a plurality of cores, set the execution state of the scheduled VHTR; and in response to a monitor instruction received from a given VHTR, pause the given VHTR and switch in another VHTR to use the core previously used by the given VHTR, and, upon detecting a store to the monitored address range, trigger execution of the given VHTR.