IP Library Patent Application 18547249
Patent Application
App. No. 18/547,249

MULTI-CORE PROCESSOR TASK SCHEDULING METHOD, AND DEVICE AND STORAGE MEDIUM

Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US None
App. No.
18/547,249
Abstract

A multi-core processor task scheduling method and apparatus, and a device and a storage medium are disclosed. The method includes: acquiring a target task to be executed; selecting, based on attribute information of the target task, a target processor from a multi-core processor, wherein the attribute information includes binding relationship information and priority information, the binding relationship information is used for describing whether the target task needs to be run on a processor having a binding relationship, and the priority information is used for describing a priority of the target task; scheduling the target task to the target processor; and running the target task on the target processor. The present application solves the technical problem that an existing multi-core scheduling algorithm is unable to accurately determine a target processor for running a task to be executed.

Claims (97)

1 . A multi-core processor task scheduling method, comprising:

acquiring a target task to be executed;

selecting, based on attribute information of the target task, a target processor from a multi-core processor, wherein the attribute information comprises binding relationship information and priority information, the binding relationship information is used for describing whether the target task needs to be run on a processor having a binding relationship with the target task, and the priority information is used for describing a priority of the target task;

scheduling the target task to the target processor; and

running the target task on the target processor.

2 . The multi-core processor task scheduling method of claim 1 , wherein the selecting, based on the attribute information of the target task, the target processor from the multi-core processor, comprises:

determining, based on the binding relationship information, that there is a first processor having the binding relationship with the target task, in the multi-core processor;

comparing the priority of the target task with a priority of a current task of the first processor; and

in a case where the priority of the target task is higher than the priority of the current task and the first processor is a processor currently scheduling the target task, determining the first processor as the target processor.

3 . The multi-core processor task scheduling method of claim 1 , wherein the selecting, based on the attribute information of the target task, the target processor from the multi-core processor, comprises:

determining, based on the binding relationship information, that there is a first processor having the binding relationship with the target task, in the multi-core processor;

comparing the priority of the target task with a priority of a current task of the first processor; and

in a case where the priority of the target task is higher than the priority of the current task and the first processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the first processor to determine the first processor as the target processor.

4 . The multi-core processor task scheduling method of claim 1 , wherein the selecting, based on the attribute information of the target task, the target processor from the multi-core processor, comprises:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor, and priorities of current tasks of all processors in the multi-core processor are the same, selecting a second processor that has previously run the target task from the multi-core processor; and

in a case where the second processor is a processor currently scheduling the target task, determining the second processor as the target processor.

5 . The multi-core processor task scheduling method of claim 1 , wherein the selecting, based on the attribute information of the target task, the target processor from the multi-core processor, comprises:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor, and priorities of current tasks of all processors in the multi-core processor are the same, selecting a second processor that has previously run the target task from the multi-core processor; and

in a case where the second processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the second processor to determine the second processor as the target processor.

6 . The multi-core processor task scheduling method of claim 1 , wherein the selecting, based on the attribute information of the target task, the target processor from the multi-core processor, comprises:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor and priorities of current tasks of all processors in the multi-core processor are different, selecting a third processor with a lowest priority of the current task from the multi-core processor; and

in a case where the third processor is a processor currently scheduling the target task, determining the third processor as the target processor.

7 . The multi-core processor task scheduling method of claim 1 , wherein the selecting, based on the attribute information of the target task, the target processor from the multi-core processor, comprises:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor and priorities of current tasks of all processors in the multi-core processor are different, selecting a third processor with a lowest priority of the current task from the multi-core processor; and

in a case where the third processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the third processor to determine the third processor as the target processor.

8 . (canceled)

9 . A non-transitory storage medium, comprising a stored program, wherein the program, when run, controls a device where the non-transitory storage medium is located to perform processing steps of

acquiring a target task to be executed;

selecting, based on attribute information of the target task, a target processor from a multi-core processor, wherein the attribute information comprises binding relationship information and priority information, the binding relationship information is used for describing whether the target task needs to be run on a processor having a binding relationship with the target task, and the priority information is used for describing a priority of the target task;

scheduling the target task to the target processor; and

running the target task on the target processor.

10 . A multi-core processor task scheduling device, comprising:

a processor; and

a memory, connected to the processor and configured for providing the processor with instructions to perform processing steps of:

acquiring a target task to be executed;

selecting, based on attribute information of the target task, a target processor from a multi-core processor, wherein the attribute information comprises binding relationship information and priority information, the binding relationship information is used for describing whether the target task needs to be run on a processor having a binding relationship with the target task, and the priority information is used for describing a priority of the target task;

scheduling the target task to the target processor; and

running the target task on the target processor.

11 . The multi-core processor task scheduling device of claim 10 , wherein the memory is further configured for providing the processor with instructions to perform processing steps of:

determining, based on the binding relationship information, that there is a first processor having the binding relationship with the target task, in the multi-core processor;

comparing the priority of the target task with a priority of a current task of the first processor; and

in a case where the priority of the target task is higher than the priority of the current task and the first processor is a processor currently scheduling the target task, determining the first processor as the target processor.

12 . The multi-core processor task scheduling device of claim 10 , wherein the memory is further configured for providing the processor with instructions to perform processing steps of:

determining, based on the binding relationship information, that there is a first processor having the binding relationship with the target task, in the multi-core processor;

comparing the priority of the target task with a priority of a current task of the first processor; and

in a case where the priority of the target task is higher than the priority of the current task and the first processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the first processor to determine the first processor as the target processor.

13 . The multi-core processor task scheduling device of claim 10 , wherein the memory is further configured for providing the processor with instructions to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor, and priorities of current tasks of all processors in the multi-core processor are the same, selecting a second processor that has previously run the target task from the multi-core processor; and

in a case where the second processor is a processor currently scheduling the target task, determining the second processor as the target processor.

14 . The multi-core processor task scheduling device of claim 10 , wherein the memory is further configured for providing the processor with instructions to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor, and priorities of current tasks of all processors in the multi-core processor are the same, selecting a second processor that has previously run the target task from the multi-core processor; and

in a case where the second processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the second processor to determine the second processor as the target processor.

15 . The multi-core processor task scheduling device of claim 10 , wherein the memory is further configured for providing the processor with instructions to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor and priorities of current tasks of all processors in the multi-core processor are different, selecting a third processor with a lowest priority of the current task from the multi-core processor; and

in a case where the third processor is a processor currently scheduling the target task, determining the third processor as the target processor.

16 . The multi-core processor task scheduling device of claim 10 , wherein the memory is further configured for providing the processor with instructions to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor and priorities of current tasks of all processors in the multi-core processor are different, selecting a third processor with a lowest priority of the current task from the multi-core processor; and

in a case where the third processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the third processor to determine the third processor as the target processor.

17 . The non-transitory storage medium of claim 9 , wherein the program, when run, controls the device where the non-transitory storage medium is located to perform processing steps of:

determining, based on the binding relationship information, that there is a first processor having the binding relationship with the target task, in the multi-core processor;

comparing the priority of the target task with a priority of a current task of the first processor; and

in a case where the priority of the target task is higher than the priority of the current task and the first processor is a processor currently scheduling the target task, determining the first processor as the target processor.

18 . The non-transitory storage medium of claim 9 , wherein the program, when run, controls the device where the non-transitory storage medium is located to perform processing steps of:

determining, based on the binding relationship information, that there is a first processor having the binding relationship with the target task, in the multi-core processor;

comparing the priority of the target task with a priority of a current task of the first processor; and

in a case where the priority of the target task is higher than the priority of the current task and the first processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the first processor to determine the first processor as the target processor.

19 . The non-transitory storage medium of claim 9 , wherein the program, when run, controls the device where the non-transitory storage medium is located to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor, and priorities of current tasks of all processors in the multi-core processor are the same, selecting a second processor that has previously run the target task from the multi-core processor; and

in a case where the second processor is a processor currently scheduling the target task, determining the second processor as the target processor.

20 . The non-transitory storage medium of claim 9 , wherein the program, when run, controls the device where the non-transitory storage medium is located to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor, and priorities of current tasks of all processors in the multi-core processor are the same, selecting a second processor that has previously run the target task from the multi-core processor; and

in a case where the second processor is not a processor currently scheduling the target task, sending, by the processor currently scheduling the target task, an inter-processor interrupt to the second processor to determine the second processor as the target processor.

21 . The non-transitory storage medium of claim 9 , wherein the program, when run, controls the device where the non-transitory storage medium is located to perform processing steps of:

determining, based on the binding relationship information, that there is no first processor having the binding relationship with the target task;

comparing the priority of the target task with a priority of a current task of each processor in the multi-core processor;

in a case where the priority of the target task is higher than the priority of the current task of each processor in the multi-core processor and priorities of current tasks of all processors in the multi-core processor are different, selecting a third processor with a lowest priority of the current task from the multi-core processor; and

in a case where the third processor is a processor currently scheduling the target task, determining the third processor as the target processor.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075366/0369 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 22, 2023
From: GU, LIANGZENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 064660/0300 →