IP Library Patent Application 16159322
Patent Application
App. No. 16/159,322

TASK SCHEDULING METHOD AND APPARATUS OF ARTIFICIAL INTELLIGENCE HETEROGENEOUS HARDWARE, DEVICE AND READABLE 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.
16/159,322
Abstract

The present disclosure provides a task scheduling method and apparatus of artificial intelligence heterogeneous hardware, a device and a readable medium. The method comprises: receiving a task execution request for a corresponding function sent from an API, the task execution request carrying attribute information of the task; obtaining a priority of the task according to attribute information of the task, wherein a priority of an online service is higher than a priority of an offline task; inserting the corresponding task into a scheduling queue of a corresponding function according to the priority of the task; tasks in the scheduling queue being arranged in a descending order of priorities; controlling in turn a free computing unit in a plurality of computing units of the corresponding function to execute the corresponding task, in the descending order of priorities of the task in the scheduling queue. According to the technical solution of the present embodiment, it is feasible to achieve mixed performance of the offline model training task and online reasoning service according to the difference of priorities, thereby substantially improving the resource utilization rate.

Claims (66)

1 . A task scheduling method of artificial intelligence heterogeneous hardware, wherein the method comprises:

receiving a task execution request for a corresponding function sent from an application program interface, the task execution request carrying attribute information of the task;

obtaining a priority of the task according to attribute information of the task, wherein a priority of an online service is higher than a priority of an offline task;

inserting the corresponding task into a scheduling queue of a corresponding function according to the priority of the task; tasks in the scheduling queue being arranged in a descending order of priorities;

controlling in turn a free computing unit in a plurality of computing units of the corresponding function to execute the corresponding task, in the descending order of priorities of the task in the scheduling queue;

2 . The method according to claim 1 , wherein the attribute information of the task comprises a priority of the task, and the priority of the task is assigned for the task by a scheduling module at an upper layer of the application program interface.

3 . The method according to claim 1 , wherein the obtaining a priority of the task according to attribute information of the task specifically comprises:

setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task.

4 . The method according to claim 3 , wherein the attribute information of the task comprises a type of the task, and the type of the task is an offline task or online service; the priority setting policy comprises setting the priority of the task according to the type of task;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the type of the task from the attribute information of the task;

setting a priority for the task according to the type of the task, so that the priority of the task corresponding to the online service is higher than the priority of the task corresponding to the offline task.

5 . The method according to claim 3 , wherein the attribute information of the task comprises a type of the task and a class in the type, and the type of the task is an offline task or online service; the priority setting policy comprises setting the priority for the task according to the type of the task, the class in the type and a preset high priority class list corresponding to the preset types;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the type of the task and the class in the type from the attribute information of the task;

setting the priority for the task according to the type of the task, the class in the type and the preset high priority class list corresponding to the preset types; wherein the priority of the task corresponding to the online service is higher than the priority of the task corresponding to the offline task; and, in the same type, the priorities of tasks corresponding to classes in the high priority class list are higher than priorities of tasks corresponding to classes outside the high priority class list.

6 . The method according to claim 3 , wherein the attribute information of the task comprises a preset finishing time instant of the task; the priority setting policy comprises setting the priority of the task according to a distance between the preset finishing time instant of the task and a current time instant;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the preset finishing time instant of the task from the attribute information of the task;

calculating a time difference between the preset finishing time instant of the task and the current time instant;

setting a priority for the task according to the time difference, so that the priority of the task corresponding to the time difference which is smaller than a first preset time length threshold is higher than the priority of the task corresponding to the time difference which is larger than the first preset time length threshold and smaller than or equal to a second preset time length threshold, and the priority of the task corresponding to the time difference which is larger than the first preset time length threshold and smaller than or equal to the second preset time length threshold is higher than the priority of the task corresponding to the time difference which is larger than the second preset time length threshold.

7 . A computer device, wherein the device comprises:

one or more processors,

a memory for storing one or more programs,

the one or more programs, when executed by said one or more processors, enable said one or more processors to implement a task scheduling method of artificial intelligence heterogeneous hardware, wherein the method comprises:

receiving a task execution request for a corresponding function sent from an application program interface, the task execution request carrying attribute information of the task;

obtaining a priority of the task according to attribute information of the task, wherein a priority of an online service is higher than a priority of an offline task;

inserting the corresponding task into a scheduling queue of a corresponding function according to the priority of the task; tasks in the scheduling queue being arranged in a descending order of priorities;

controlling in turn a free computing unit in a plurality of computing units of the corresponding function to execute the corresponding task, in the descending order of priorities of the task in the scheduling queue;

8 . The computer device according to claim 7 , wherein the attribute information of the task comprises a priority of the task, and the priority of the task is assigned for the task by a scheduling module at an upper layer of the application program interface.

9 . The computer device according to claim 7 , wherein the obtaining a priority of the task according to attribute information of the task specifically comprises:

setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task.

10 . The computer device according to claim 9 , wherein the attribute information of the task comprises a type of the task, and the type of the task is an offline task or online service; the priority setting policy comprises setting the priority of the task according to the type of task;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the type of the task from the attribute information of the task;

setting a priority for the task according to the type of the task, so that the priority of the task corresponding to the online service is higher than the priority of the task corresponding to the offline task.

11 . The computer device according to claim 9 , wherein the attribute information of the task comprises a type of the task and a class in the type, and the type of the task is an offline task or online service; the priority setting policy comprises setting the priority for the task according to the type of the task, the class in the type and a preset high priority class list corresponding to the preset types;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the type of the task and the class in the type from the attribute information of the task;

setting the priority for the task according to the type of the task, the class in the type and the preset high priority class list corresponding to the preset types; wherein the priority of the task corresponding to the online service is higher than the priority of the task corresponding to the offline task; and, in the same type, the priorities of tasks corresponding to classes in the high priority class list are higher than priorities of tasks corresponding to classes outside the high priority class list.

12 . The computer device according to claim 9 , wherein the attribute information of the task comprises a preset finishing time instant of the task; the priority setting policy comprises setting the priority of the task according to a distance between the preset finishing time instant of the task and a current time instant;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the preset finishing time instant of the task from the attribute information of the task;

calculating a time difference between the preset finishing time instant of the task and the current time instant;

setting a priority for the task according to the time difference, so that the priority of the task corresponding to the time difference which is smaller than a first preset time length threshold is higher than the priority of the task corresponding to the time difference which is larger than the first preset time length threshold and smaller than or equal to a second preset time length threshold, and the priority of the task corresponding to the time difference which is larger than the first preset time length threshold and smaller than or equal to the second preset time length threshold is higher than the priority of the task corresponding to the time difference which is larger than the second preset time length threshold.

13 . A computer readable medium on which a computer program is stored, wherein the program, when executed by the processor, implements a task scheduling method of artificial intelligence heterogeneous hardware, wherein the method comprises:

receiving a task execution request for a corresponding function sent from an application program interface, the task execution request carrying attribute information of the task;

obtaining a priority of the task according to attribute information of the task, wherein a priority of an online service is higher than a priority of an offline task;

inserting the corresponding task into a scheduling queue of a corresponding function according to the priority of the task; tasks in the scheduling queue being arranged in a descending order of priorities;

controlling in turn a free computing unit in a plurality of computing units of the corresponding function to execute the corresponding task, in the descending order of priorities of the task in the scheduling queue;

14 . The computer readable medium according to claim 13 , wherein the attribute information of the task comprises a priority of the task, and the priority of the task is assigned for the task by a scheduling module at an upper layer of the application program interface.

15 . The computer readable medium according to claim 13 , wherein the obtaining a priority of the task according to attribute information of the task specifically comprises:

setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task.

16 . The computer readable medium according to claim 15 , wherein the attribute information of the task comprises a type of the task, and the type of the task is an offline task or online service; the priority setting policy comprises setting the priority of the task according to the type of task;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the type of the task from the attribute information of the task;

setting a priority for the task according to the type of the task, so that the priority of the task corresponding to the online service is higher than the priority of the task corresponding to the offline task.

17 . The computer readable medium according to claim 15 , wherein the attribute information of the task comprises a type of the task and a class in the type, and the type of the task is an offline task or online service; the priority setting policy comprises setting the priority for the task according to the type of the task, the class in the type and a preset high priority class list corresponding to the preset types;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the type of the task and the class in the type from the attribute information of the task;

setting the priority for the task according to the type of the task, the class in the type and the preset high priority class list corresponding to the preset types; wherein the priority of the task corresponding to the online service is higher than the priority of the task corresponding to the offline task; and, in the same type, the priorities of tasks corresponding to classes in the high priority class list are higher than priorities of tasks corresponding to classes outside the high priority class list.

18 . The computer readable medium according to claim 15 , wherein the attribute information of the task comprises a preset finishing time instant of the task; the priority setting policy comprises setting the priority of the task according to a distance between the preset finishing time instant of the task and a current time instant;

the setting a priority for the task according to a pre-stored priority setting policy and the attribute information of the task specifically comprises:

obtaining the preset finishing time instant of the task from the attribute information of the task;

calculating a time difference between the preset finishing time instant of the task and the current time instant;

setting a priority for the task according to the time difference, so that the priority of the task corresponding to the time difference which is smaller than a first preset time length threshold is higher than the priority of the task corresponding to the time difference which is larger than the first preset time length threshold and smaller than or equal to a second preset time length threshold, and the priority of the task corresponding to the time difference which is larger than the first preset time length threshold and smaller than or equal to the second preset time length threshold is higher than the priority of the task corresponding to the time difference which is larger than the second preset time length threshold.

Assignments (3)
CHANGE OF NAME Recorded Sep 28, 2021
From: XINGYUN RONGCHUANG (BEIJING) TECHNOLOGY CO., LTD.
To: KUNLUNXIN TECHNOLOGY (BEIJING) COMPANY LIMITED
Reel/Frame 057635/0014 →
LICENSE Recorded Sep 28, 2021
From: BAIDU ONLINE NETWORK TECHNOLOGY (BEIJING) CO., LTD.; BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO., LTD.
To: XINGYUN RONGCHUANG (BEIJING) TECHNOLOGY CO., LTD.
Reel/Frame 057635/0018 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 14, 2018
From: WANG, YONG; OUYANG, JIAN; QI, WEI
To: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY CO.,LTD.
Reel/Frame 047500/0836 →