Multi-Core CPU Core Resource Allocation for Time Critical Threads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern operating systems using preemptive process scheduling often result in insufficient core resource allocation to focus processes, leading to slow response times and reduced performance due to imbalanced resource allocation among time critical threads.

Innovation Solution

A method and device for allocating core resources in a multi-core CPU that determines the number of time critical threads in a focus process and allocates resources to maximize their exclusive usage, prioritizing these threads and allocating physical or logical cores based on availability to ensure optimal performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If preemptive process scheduling is used to allocate core resources, then resource allocation flexibility is improved, but focus process response speed deteriorates due to resource preemption

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidfocus process response speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent segments core resources into two categories: dedicated core resources exclusively allocated to focus processes and shared core resources available to background processes. This segmentation prevents resource preemption for focus processes while maintaining flexible allocation for background processes, thereby resolving the contradiction between allocation flexibility and response speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different allocation strategies to different process types: focus processes receive guaranteed dedicated resources with high priority to ensure fast response, while background processes utilize shared resources with lower priority. This local differentiation in resource quality and allocation policy resolves the contradiction by optimizing for each process type's specific needs.

Inventive Principle:
Principle #3Local quality

2Productivity

If core resources are shared among multiple time critical threads, then resource utilization is improved, but resource allocation balance deteriorates leading to slower response

Engineering Contradiction:
Improveresource utilizationVSAvoidresource allocation balance
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The patent segments time critical threads into those running on dedicated core resources and those on shared core resources. Threads on dedicated resources have guaranteed exclusive access ensuring balanced allocation and predictable response, while threads on shared resources can utilize available capacity. This segmentation maintains both high utilization and allocation balance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces dedicated core resources as an intermediary layer between time critical threads and shared core resources. This intermediary ensures that time critical threads have access to balanced, exclusive resources while still allowing overall high system utilization through the shared resource pool.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If dedicated core resources are allocated to time critical threads, then focus process performance is improved, but overall resource utilization deteriorates due to resource reservation

Engineering Contradiction:
Improvefocus process performanceVSAvoidoverall resource utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements dynamic resource allocation where dedicated core resources are reserved for focus processes to ensure high performance, while shared core resources dynamically allocate capacity to background processes based on availability. This dynamic approach maintains high focus process performance while maximizing overall resource utilization through flexible sharing of remaining capacity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10514955B2Method and device for allocating core resources of a multi-core CPU
Publication Date: 2019.12.24 NETEASE (HANGZHOU) NETWORK CO LTD
  • US10514955B2 patent drawing
  • US10514955B2 patent drawing
  • US10514955B2 patent drawing

AI summary

A method for allocating core resources of a multi-core CPU according to embodiments of the present disclosure, comprising: determining the number of time critical threads included in a focus process, wherein said focus process is created when a predetermined software is running; and allocating core resources for the time critical threads and making the allocated core resources dedicated to the time critical threads, based on the number of core resources included in the multi-core CPU and the number of the time critical threads, so as to maximize the number of the time critical threads that occupy exclusive core resources. In said method, it's desirable to try to allocate separate core resources for time critical threads included in a focus process, and said time critical threads can be locked within the correspondingly allocated core resources, so that the allocation of core resources can be more balanced. Accordingly, response speed and performance of a focus process can be improved, which allows a focus process to run in an optimal status, and thus bring better user experience. In addition, a device for allocating core resources of a multi-core CPU is also provided.