IP Library › Granted Patent US 10,831,547
Granted Patent B2
US 10,831,547 · App. 16/070,312 · Granted Nov 10, 2020

Accelerator control apparatus for analyzing big data, accelerator control method, and program

Inventors: Jun Suzuki (Tokyo, JP); Masaki Kan (Tokyo, JP); Yuki Hayashi (Tokyo, JP)
Assignee: NEC CORPORATION
G06F9/5038G06F3/0604G06F3/0659G06F3/0671G06F9/3877G06F9/4881G06F9/5016
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,831,547
App. No.
16/070,312
Granted
Nov 10, 2020
Kind
B2
Abstract

An accelerator control apparatus includes: a task storage part which holds an executable task(s); a data scheduler which selects a task needing a relatively small input/output data amount on a memory included in an accelerator when the task is executed by the accelerator from the executable task(s) and instructs the accelerator to prepare for data I/O on the memory for the selected task; and a task scheduler which instructs the accelerator to execute the selected task and adds a task that becomes executable upon completion of the selected task to the task storage part, wherein the data scheduler continues, depending on a use status of the memory, selection of a next task from the executable task(s) held in the task storage part and preparation of data I/O for the next task selected.

Claims (36)

1. An accelerator control apparatus, comprising:

a processor and a main memory storing a program causing the processor to execute processing for:

storing an executable task(s) in a storage part;

selecting, from among the executable task(s) held in the storage part, a task needing an input/output data amount on a memory included in an accelerator when the task is executed by the accelerator that is less than other tasks from among the executable task(s), and instructing the accelerator to prepare for data I/O on the memory for the selected task;

instructing the accelerator to execute the selected task and adding a task, from among tasks indicated by a request, that becomes executable upon completion of the selected task to the storage part until the tasks indicated by the request are completed; and

continuing, based on a use amount of the memory being less than a threshold, selection of a next task from the executable task(s) held in the storage part and preparation of data I/O for the next task selected.

2. The accelerator control apparatus according to claim 1 , wherein the input/output data amount on a memory included in an accelerator when the task is executed by the accelerator indicates a sum of an input data amount that needs to be loaded to the memory when the task is executed on the accelerator and an output data amount that needs to be evacuated to an external memory from the memory.

3. The accelerator control apparatus according to claim 1 , wherein, when a use amount of the memory is less than the threshold, the processor executes processing to continue selection of a next task and preparation of data I/O for the next task selected.

4. The accelerator control apparatus according to claim 1 ,

wherein the storage part comprises a first storage part which holds an executable task(s) that is executable by an arbitrary unlimited accelerator and a second storage part which holds a task(s) that is executable by a limited accelerator(s), and

wherein the processor executes processing to select the task from the task(s) held in the second storage part and executable by the limited accelerator(s) and the task(s) held in the first storage part.

5. The accelerator control apparatus according to claim 4 ,

wherein the first storage part holds a task(s), the most upstream task or all the upstream tasks of which have been executed, and

wherein the second storage part holds, as the task(s) that is executable by the limited accelerator(s), a task(s) that is at least one of the upstream tasks of which stands by for execution on the accelerator(s) and all the other remaining upstream tasks of which have been executed.

6. The accelerator control apparatus according to claim 5 , wherein, when execution of the selected task is completed, the processor executes processing to update the task(s) held in the first and/or second storage part.

7. The accelerator control apparatus according to claim 5 , wherein, when preparation of the data I/O for the selected task is completed, the processor executes processing to update the task(s) held in the second storage part.

8. An accelerator control method, comprising:

storing an executable task(s) a storage part;

selecting, from among the executable task(s) held in the task storage part, a task needing an input/output data amount on a memory included in an accelerator when the task is executed by the accelerator that is less than other tasks from among the executable task(s) and instructing the accelerator to prepare for data I/O on the memory for the selected task;

instructing the accelerator to execute the selected task and adding a task, from among tasks indicated by a request, that becomes executable upon completion of the selected task to the storage part until the tasks indicated by the request are completed; and

continuing, based on a use amount of the memory being less than a threshold, selection of a next task from the executable task(s) held in the storage part and preparation of data I/O for the next task selected.

9. The accelerator control method according to claim 8 , wherein the input/output data amount on a memory included in an accelerator when the task is executed by the accelerator indicates a sum of an input data amount that needs to be loaded to the memory when the task is executed on the accelerator and an output data amount that needs to be evacuated to an external memory from the memory.

10. The accelerator control method according to claim 8 , wherein, when a use amount of the memory is less than a predetermined threshold, selection of a next task and preparation of data I/O for the next task selected are continued.

11. The accelerator control method according to claim 8 , comprising:

storing a first task(s), which is an executable task(s) that is executable by an arbitrary unlimited accelerator, in the storage part; and

storing a second task(s), which is executable by a limited accelerator(s), in the storage part,

wherein the task is selected from the second task(s) executable by the limited accelerator(s) and the first task(s).

12. The accelerator control method according to claim 11 , wherein the first task(s) is a task(s), the most upstream task or all the upstream tasks of which have been executed, and

wherein the second task(s) is a task(s) that is executable by a limited accelerator(s), at least one of the upstream tasks of which stands by for execution on the accelerator(s) and all the other remaining upstream tasks of which have been executed.

13. The accelerator control method according to claim 12 , wherein, when execution of the selected task is completed, the first and/or second task(s) held in the storage part is updated.

14. The accelerator control method according to claim 11 , wherein, when preparation of the data I/O for the selected task is completed, the second task(s) held in the storage part is updated.

15. A non-transitory computer-readable recording medium storing a program, causing a computer to execute processing for:

storing an executable task(s) a storage part;

selecting, from among the executable task(s) held in the task storage part, a task needing an input/output data amount on a memory included in an accelerator when the task is executed by the accelerator that is less than other tasks from among the executable task(s) and instructing the accelerator to prepare for data I/O on the memory for the selected task;

instructing the accelerator to execute the selected task and adding a task, from among tasks indicated by a request, that becomes executable upon completion of the selected task to the storage part until the tasks indicated by the request are completed; and

continuing, based on a use amount of the memory being less than a threshold, selection of a next task from the executable task(s) held in the storage part and preparation of data I/O for the next task selected.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2018
From: SUZUKI, JUN; KAN, MASAKI; HAYASHI, YUKI
To: NEC CORPORATION
Reel/Frame 046357/0775 →
Priority Claims (1)
JP 2016-015352 · Jan 29, 2016 · national
Continuity (1)
Related Publication 20190026157A1 · Jan 24, 2019
Cited By (1)
US 12,260,257