Processor Core Isolation for Multi-OS Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current technologies fail to enable the concurrent execution of multiple operating systems on a multicore computer system with distinct, unscheduled control over their respective cores, as conventional approaches cannot dedicate specific cores to different operating systems without resource overlap.

Innovation Solution

A computer-implemented method that boots multiple operating systems on mutually exclusive subsets of processor cores within a multicore system, using a hypervisor to initialize and partition the system, allowing each OS to control dedicated resources without shared scheduling, and leveraging UEFI and virtualization extensions for core and memory isolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single operating system is booted on all processor cores, then the system can execute one OS across the entire multicore system, but the ability to run multiple distinct operating systems concurrently on different cores is lost

Engineering Contradiction:
Improveability to run multiple operating systemsVSAvoidsystem configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the multicore system by partitioning processor cores into distinct subsets, where each subset is dedicated to a specific operating system. The hypervisor divides the available cores among multiple OS instances, allowing each OS to run on its assigned subset of cores independently. This segmentation enables concurrent execution of multiple operating systems while maintaining clear boundaries between them.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hypervisor as an intermediary layer between the hardware and multiple operating systems. The hypervisor manages core allocation, handles boot processes for multiple OS instances, and mediates resource access. This intermediary enables the system to support multiple operating systems without requiring complex modifications to each OS or the underlying hardware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple operating systems are allowed to share processor cores, then resource utilization can be improved, but core isolation and dedicated control for each OS cannot be ensured

Engineering Contradiction:
Improveresource utilizationVSAvoidcore isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements core segmentation by assigning specific subsets of processor cores to each operating system instance. Each OS is granted exclusive access to its designated cores during execution, ensuring isolation while allowing the system to utilize all available cores across multiple OS instances. This approach maintains both productivity through full core utilization and reliability through enforced isolation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by giving different subsets of cores to different operating systems, allowing each OS to have dedicated control over specific hardware resources. Each OS instance experiences a customized execution environment with exclusive access to its assigned cores, ensuring reliability and isolation while the system as a whole maintains high resource utilization.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If a hypervisor schedules and manages multiple operating systems, then concurrent execution can be enabled, but the hypervisor must continuously execute to maintain scheduling control

Engineering Contradiction:
Improveconcurrent OS executionVSAvoidhypervisor execution overhead
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by having the hypervisor perform all necessary scheduling and core allocation decisions during the boot process. Each operating system instance is pre-configured with its designated subset of cores before execution begins. Once the hypervisor completes the boot process and establishes core assignments, it can cease execution, allowing the assigned OS instances to run independently on their dedicated cores without continuous hypervisor intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent extracts the ongoing scheduling function from the hypervisor by completing all scheduling decisions during the boot phase. The hypervisor's role is extracted to仅限于 the initial configuration and allocation of cores to OS instances. After this preliminary scheduling is complete, the hypervisor is removed from the execution cycle, reducing energy overhead while maintaining the benefits of concurrent OS execution.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11397587B2Processor core isolation for execution of multiple operating systems on a multicore computer system
Publication Date: 2022.07.26 ASSURED INFORMATION SECURITY
  • US11397587B2 patent drawing
  • US11397587B2 patent drawing
  • US11397587B2 patent drawing

AI summary

Process core isolation for execution of multiple operating systems on a multicore computer system includes booting first and second operating systems (OSs) on a computer system that includes a plurality of processor cores across physical central processing unit(s) (CPUs). Booting the first OS boots the first OS on a first subset of the processor cores. Booting the second OS, different from the first OS, boots the second OS on a second subset of the processor cores. The first and second subsets are mutually exclusive, where a first processor core of a physical CPU of the physical CPUs is included in the first subset and a second processor core of the physical CPU is included in the second subset, and where the first and second OSs execute concurrently on the computer system, and each of the first and second OS executes on only its respective subset of processor core(s).