Host OS Core Allocation for Asymmetric Multi-Core Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In asymmetric multi-core processor environments, existing technologies inefficiently allocate cores due to the virtual operating system's unawareness of physical hardware asymmetry, leading to inactive cores and redundant process scheduling, resulting in poor performance and resource utilization.

Innovation Solution

An electronic device with a host operating system configured to receive information from a virtual machine, allocate cores based on process requirements, and provide allocation information, enabling efficient core allocation and utilization in asymmetric multi-core environments.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If the virtual OS performs process scheduling without awareness of physical hardware asymmetry, then the virtual OS can operate independently with simplified scheduling logic, but core allocation becomes inefficient with inactive cores and duplicate scheduling

Engineering Contradiction:
Improvevirtual OS scheduling independenceVSAvoidcore utilization efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent introduces a host OS as an intermediary layer between the virtual OS and the physical asymmetric multi-core processor. The host OS receives process information from the virtual OS, performs intelligent core allocation based on process characteristics and core capabilities, and manages the mapping between virtual CPUs and physical cores. This mediator resolves the contradiction by maintaining virtual OS independence while enabling efficient core utilization through informed scheduling decisions.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Device complexity

If the virtual OS performs scheduling without host OS involvement, then the system architecture remains simple with clear virtualization boundaries, but performance deteriorates due to inactive cores and redundant scheduling operations

Engineering Contradiction:
Improvesystem architecture complexityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The host OS serves as a necessary intermediary that bridges the virtualization layer and physical hardware. It receives process information from the virtual OS, analyzes process characteristics, and allocates appropriate physical cores based on asymmetric core capabilities. This architecture maintains relatively simple virtual OS design while significantly improving performance through intelligent core allocation that prevents inactive cores and duplicate scheduling.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Loss of time

If core allocation is performed without process information from virtual machine, then allocation decisions can be made quickly with less information processing, but allocation accuracy decreases leading to suboptimal core utilization

Engineering Contradiction:
Improveallocation decision timeVSAvoidcore allocation efficiency
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The host OS performs preliminary analysis of process information received from the virtual machine before making allocation decisions. It pre-evaluates process characteristics such as computational intensity, memory requirements, and execution patterns, and matches these with available core capabilities. This preliminary action enables informed allocation decisions that optimize core utilization while maintaining reasonable decision-making speed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11630699B2Virtual process scheduling and execution using cores allocated via host operating system having host ready queue and virtual ready queue
Publication Date: 2023.04.18 SAMSUNG ELECTRONICS CO LTD
  • US11630699B2 patent drawing
  • US11630699B2 patent drawing
  • US11630699B2 patent drawing

AI summary

An electronic device and storage medium for process scheduling are provided. The electronic device includes a memory and at least one processor, wherein the memory stores instructions to enable the at least one processor to execute a host operating system (OS) and at least one virtual machine, and wherein the host OS is configured to receive information for at least one process from the virtual machine, allocate at least one core to the virtual machine based on the information for the at least one process, and provide, to the virtual machine, information related to allocation of the at least one core. Other various embodiments are possible as well.