IP Library Granted Patent US 10,467,057
Granted Patent B2
US 10,467,057 · App. 15/867,128 · Granted Nov 5, 2019

Selecting a logic operation unit that matches a type of logic operation unit required by a selected operation engine

Inventor: Xiaoyu Zhang (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
G06F9/5005G06F9/4881G06F9/546G09C1/00H04L9/0816H04L9/30H04L9/302H04L2209/125
View Patent ↗
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 10,467,057
App. No.
15/867,128
Granted
Nov 5, 2019
Kind
B2
Abstract

The utilization rate of operation resources in a computing device is improved by assigning specialized types of logic operations to a data processing engine depending on the type of logic operation that the data processing engine requires to execute a data processing request. The data processing engine is selected from a plurality of engines by first identifying an idle engine, next identifying a post-processing engine when no idle engine is available, and then identifying a stand-by engine when no post-processing engine is available.

Claims (61)

1. A method of scheduling data processing requests, the method comprising:

reading, by a computing device, a data processing request from a request queue;

identifying, by the computing device, one or more idle operation engines within a plurality of operation engines in response to reading the data processing request;

selecting, by the computing device, an idle operation engine from the plurality of operation engines as a selected operation engine to process the data processing request when an idle operation engine is identified;

determining, by the computing device, a type of logic operation unit required by the selected operation engine to process the data processing request;

identifying, by the computing device, one or more available logic operation units within a plurality of logic operation units that match the type of logic operation unit required by the selected operation engine to process the data processing request;

selecting, by the computing device, a logic operation unit that matches the type of logic operation unit required by the selected operation engine as a selected logic operation unit when a logic operation unit that matches the type of logic operation unit required by the selected operation engine is identified; and

assigning, by the computing device, the selected logic operation unit to the selected operation engine to execute the data processing request.

2. The method according to claim 1 , wherein the selected operation engine is selected from a plurality of idle operation engines based on a least recently used (LRU) algorithm.

3. The method according to claim 1 , further comprising:

identifying one or more operation engines in the plurality of operation engines that are performing post processing when no idle operation engines are present in the plurality of operation engines; and

selecting, by the computing device, a post-processing operation engine from the plurality of operation engines as the selected operation engine to process the data processing request when a post-processing operation engine is identified.

4. The method according to claim 3 , wherein the post-processing operation engine selected as the selected operation engine is selected from a plurality of post-processing operation engines based on a least recently used (LRU) algorithm.

5. The method according to claim 3 , further comprising:

identifying one or more idle operation engines in the plurality of operation engines that are in a standby state when no post-processing operation engines are present in the plurality of operation engines; and

selecting, by the computing device, an idle operation engine in a standby state as the selected operation engine to process the data processing request when an idle operation engine in the standby state is identified.

6. The method according to claim 1 , wherein a plurality of types of logic operation units are required to process the data processing request.

7. The method according to claim 1 , further comprising:

releasing, by the computing device, resources for processing the data processing request, and updating a state of an operation engine configured to schedule a logic operation unit to process the data processing request; and

returning to a standby state for a next data processing.

8. A non-transitory computer-readable medium having computer executable instructions for performing a method for scheduling data processing, the method comprising:

reading a data processing request from a request queue;

identifying one or more idle operation engines within a plurality of operation engines in response to reading the data processing request;

selecting an idle operation engine from the plurality of operation engines as a selected operation engine to process the data processing request when an idle operation engine is identified;

determining a type of logic operation unit required by the selected operation engine to process the data processing request;

identifying one or more available logic operation units within a plurality of logic operation units that match the type of logic operation unit required by the selected operation engine to process the data processing request;

selecting a logic operation unit that matches the type of logic operation unit required by the selected operation engine as a selected logic operation unit when a logic operation unit that matches the type of logic operation unit required by the selected operation engine is identified; and

assigning the selected logic operation unit to the selected operation engine to execute the data processing request.

9. The non-transitory computer-readable medium of claim 8 wherein the selected operation engine is selected from a plurality of idle operation engines based on a least recently used (LRU) algorithm.

10. The non-transitory computer-readable medium of claim 8 , wherein the method further comprises:

identifying one or more operation engines in the plurality of operation engines that are performing post processing when no idle operation engines are present in the plurality of operation engines; and

selecting, by the computing device, a post-processing operation engine from the plurality of operation engines as the selected operation engine to process the data processing request when a post-processing operation engine is identified.

11. The non-transitory computer-readable medium of claim 10 , wherein the post-processing operation engine selected as the selected operation engine is selected from a plurality of post-processing operation engines based on a least recently used (LRU) algorithm.

12. The non-transitory computer-readable medium of claim 10 , wherein the method further comprises:

identifying one or more idle operation engines in the plurality of operation engines that are in a standby state when no post-processing operation engines are present in the plurality of operation engines; and

selecting, by the computing device, an idle operation engine in a standby state as the selected operation engine to process the data processing request when an idle operation engine in the standby state is identified.

13. The non-transitory computer-readable medium of claim 8 , wherein a plurality of types of logic operation units are required to process the data processing request.

14. The non-transitory computer-readable medium of claim 8 , wherein the method further comprises:

releasing, by the computing device, resources for processing the data processing request, and updating a state of an operation engine configured to schedule a logic operation unit to process the data processing request; and

returning to a standby state for a next data processing.

15. A computing device, comprising:

an operation engine group having a plurality of operation engines;

a logic operation unit pool having a plurality of types of logic operation units;

a memory that stores a data processing request queue; and

a processor coupled to the operation engine group, the logic operation unit pool, and the memory to:

read a data processing request from the data processing request queue;

identify one or more idle operation engines within the plurality of operation engines in response to reading the data processing request;

select an idle operation engine from the plurality of operation engines as a selected operation engine to process the data processing request when an idle operation engine is identified;

determine a type of logic operation unit required by the selected operation engine to process the data processing request;

identify one or more available logic operation units within the plurality of types of logic operation units that match the type of logic operation unit required by the selected operation engine to process the data processing request;

select a logic operation unit that matches the type of logic operation unit required by the selected operation engine as a selected logic operation unit when a logic operation unit that matches the type of logic operation unit required by the selected operation engine is identified; and

assign the selected logic operation unit to the selected operation engine to execute the data processing request.

16. The computing device of claim 15 wherein the selected operation engine is selected from a plurality of idle operation engines based on a least recently used (LRU) algorithm.

17. The computing device of claim 15 , wherein the processor to further:

identify one or more operation engines in the plurality of operation engines that are performing post processing when no idle operation engines are present in the plurality of operation engines; and

select, by the computing device, a post-processing operation engine from the plurality of operation engines as the selected operation engine to process the data processing request when a post-processing operation engine is identified.

18. The computing device of claim 17 , wherein the post-processing operation engine selected as the selected operation engine is selected from a plurality of post-processing operation engines based on a least recently used (LRU) algorithm.

19. The computing device of claim 17 , wherein the processor to further:

identify one or more idle operation engines in the plurality of operation engines that are in a standby state when no post-processing operation engines are present in the plurality of operation engines; and

select, by the computing device, an idle operation engine in a standby state as the selected operation engine to process the data processing request when an idle operation engine in the standby state is identified.

20. The computing device of claim 15 , wherein a plurality of types of logic operation units are required to process the data processing request.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075499/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2018
From: ZHANG, XIAOYU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 045039/0773 →
Priority Claims (1)
CN 2017 1 0016528 · Jan 10, 2017 · national
Continuity (1)
Related Publication 20180196699A1 · Jul 12, 2018