WO2007029421A1 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- WO2007029421A1 WO2007029421A1 PCT/JP2006/313957 JP2006313957W WO2007029421A1 WO 2007029421 A1 WO2007029421 A1 WO 2007029421A1 JP 2006313957 W JP2006313957 W JP 2006313957W WO 2007029421 A1 WO2007029421 A1 WO 2007029421A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- task
- program
- unit
- information
- reconfigurable hardware
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
Definitions
- the present invention relates to an information processing apparatus using reconfigurable hardware that can efficiently process various processes with less hardware resources.
- FPGA Field Programmable Gate Array
- PLD Protein Deformation Deformation
- An information processing apparatus using reconfigurable hardware can perform high-speed processing compared to processor processing such as CPU and DSP.
- processor processing such as CPU and DSP.
- a programmable device that can rewrite the reconfigurable hardware program in accordance with the processing contents, it is possible to execute various processes with few hardware resources.
- the rewriting of the program is performed when it becomes necessary according to the progress of the process.
- rewriting was performed based on information obtained by statically analyzing the entire process in advance (see, for example, JP-A-10-256383).
- a second problem is that when a job to be processed is not fixed, efficient processing is difficult or impossible with a static task scheduling method. If the job structure such as tasks to be processed, dependencies between tasks, execution order, etc. is statically divided by analyzing the entire process in advance, the task will be processed according to the progress of job processing. Can be scheduled. However, if the processing (job structure) applied to the data differs depending on the arrival data, such as network processing, a static schedule cannot be used. It is necessary to generate a job dynamically according to the arrival data, select and execute an executable task, and manage the progress of the job according to the execution of the task.
- the conventional information processing apparatus has the following two problems.
- An object of the present invention is to provide a reconfiguration in an information processing apparatus using reconfigurable hardware.
- the overhead of program loading time is reduced, and large-scale processing can be efficiently processed even with limited hardware and reconfigurable hardware of one software scale It is to provide a system that can.
- Another object of the present invention is to allow the information processing apparatus using reconfigurable hardware to proceed with processing even when the schedule for program loading and execution cannot be determined statically. ⁇ It is to provide a system that can handle efficiently by managing dynamically.
- an information processing apparatus of the present invention includes a reconfigurable hardware unit, an input / output data storage unit, and a control unit.
- the reconfigurable hardware section can load one or more programs according to the processing content of the task to be executed, and simultaneously executes one or more programs out of the loaded one or more programs Is possible.
- the input / output data storage unit stores the input / output data to be processed by the reconfigurable hardware unit.
- the control unit controls the loading of the program to the reconfigurable hardware unit and the execution of the program.
- the control unit includes a program storage unit, a task information storage unit, a job information storage unit, a job management unit, and a schedule unit.
- the program storage unit stores a plurality of programs to be loaded into the reconfigurable hardware unit.
- the task information storage unit is stored for each program stored in the task information program storage unit indicating a plurality of tasks that can be executed by the same program.
- the job information storage unit stores job information indicating a dependency relationship between each task constituting a job which is a unit of processing composed of a plurality of task forces.
- the job management unit selects a task that can be executed according to the job information, stores the task information of the selected task in the task information storage unit, and updates the job information according to the progress of the task execution. To do.
- the schedule unit selects one or more tasks that can be executed by the program from the task information storage unit, and selects a program necessary for execution of the selected task from the program storage unit.
- the schedule part is the reconfigurable hardware part of the selected program Load and schedule management, and task execution control and schedule management in the reconfigurable hardware section. Furthermore, the schedule unit notifies the job management unit of the progress of task execution.
- FIG. 1 is a block diagram showing a configuration of an information processing apparatus according to a first embodiment of this invention.
- FIG. 2 is a diagram showing a configuration example of task information 60 stored in the task information storage unit 42 of FIG.
- FIG. 3A is a diagram showing a state in which a plurality of pieces of task information are managed for each program 20 in the task information storage unit 42 of FIG.
- FIG. 3B is a diagram showing a configuration example of a task queue 70.
- FIG. 4 is a diagram showing a configuration example of one job information 50 stored in the job information storage unit 43 in FIG. 1.
- FIG. 5 is a diagram illustrating a configuration example of the reconfigurable hardware unit 30 in FIG.
- FIG. 6 is a diagram showing another configuration example of the processing unit 32 in FIG.
- FIG. 7 is a flowchart showing an operation example of the job management unit 44 in FIG.
- FIG. 8 is a flowchart showing an operation example of the schedule unit 45 of FIG.
- FIG. 9 is a block diagram showing a configuration of an information processing apparatus according to a second embodiment of the present invention.
- FIG. 1 shows an example of the configuration of the information processing apparatus according to the first embodiment of the present invention.
- the information processing apparatus 10 of the present embodiment includes a reconfigurable hardware unit 30, an input / output data storage unit 110, and a control unit 40.
- the control unit 40 includes a program storage unit 41, a task information storage unit 42, a job information storage unit 43, a job management unit 44, and a schedule unit 45.
- the reconfigurable hardware unit 30 can load one or more programs 20, changes the hardware configuration in accordance with the loaded program 20, and executes predetermined processing.
- the reconfigurable hardware section 30 can execute one or more programs 20 at the same time. is there. If loading of one program 20 and execution of one program 20 are sufficient, the reconfigurable hardware unit 30 can be implemented using an FPGA (Field Programmable Gate Array).
- FPGA Field Programmable Gate Array
- the input / output data storage unit 110 stores input / output data to be processed by the reconfigurable hardware unit 30.
- the program storage unit 41 stores a plurality of programs 20 to be loaded into the reconfigurable hardware unit 30.
- the stored program 20 is uniquely identified by a program identifier or the like.
- task information storage unit 42 task information indicating a plurality of tasks that can be executed by the same program is stored for each program 20 stored in the program storage unit 41.
- the task information 60 holds information necessary for executing the task by the reconfigurable hardware unit 30.
- FIG. 2 shows a configuration example of the task information 60 stored in the task information storage unit 42 of FIG.
- the task information 60 includes an input data set 61, an output data set 63, a program identifier 65, a required processing time 66, and a deadline 67.
- the program identifier 65 is an identifier for identifying the program 20 to be loaded into the reconfigurable hardware unit 30 when executing a task.
- the input data set 61 is composed of one or more input data 62 to be subjected to task processing.
- Each input data 62 may be actual data, or may be pointer information such as an address for identifying an input / output data area stored in the input / output data storage unit 110.
- the output data set 63 also includes one or more output data 64 for storing the output of the task processing result.
- the output data 64 may be reserved as a data area in the task information 60, or may be pointer information such as an address for identifying the input / output data area where the data in the input / output data storage unit 110 is to be stored. Yo ...
- the required processing time 66 is an estimated value of the processing time required when the task specified by the task information 60 is executed by the reconfigurable hardware section 30.
- Deadline 67 is Stores the deadline time at which task execution should be completed.
- FIG. 3A and FIG. 3B show a configuration example of a task queue 70 for managing a plurality of task information 60 for each program 20 in the task information storage unit 42 of FIG.
- the task information storage unit 42 includes the program storage unit 4 shown in FIG.
- a task queue 70 is stored for each program 20 stored in 1.
- the task queue 70 includes a task buffer 71, a program identifier 72, a task queue required processing time 73, and a task queue deadline 74.
- the task buffer 71 stores task information 60 of a plurality of tasks included in the task queue 70.
- the program identifier 72 is an identifier of the V program 20 that must be loaded into the reconfigurable hardware unit 30 in order to execute the task specified by the task information 60 stored in the task buffer 71. Is stored.
- the task queue required processing time 73 stores the time required to execute the task specified by all the task information 60 stored in the task buffer 71 of the task queue 70.
- the task queue required processing time 73 stores the total value of the required processing times 66 of all the task information 60 stored in the task buffer 71.
- the task queue deadline 74 stores a time limit for completing execution of tasks specified by all the task information 60 stored in the task buffer 71 of the task queue 70. For example, the task queue deadline 74 stores the smallest value among the deadlines 67 of all the task information 60 stored in the task buffer 71.
- the schedule unit 45 shown in FIG. 1 loads and executes the program 20 to the reconfigurable hardware unit 30 while referring to a plurality of pieces of task information 60 stored in the task information storage unit 42. Manage. Specifically, the schedule unit 45 selects a plurality of tasks that can be executed by the same program from the task information storage unit 42, selects a necessary program from the program storage unit 41, and reconfigurable hardware. Controls loading of programs to section 30 and execution of multiple tasks.
- the schedule unit 45 includes a plurality of tasks stored in the task information storage unit 42. Referring to information 60, determine which program 20 will be loaded next and which task will be executed.
- the schedule unit 45 adds the current time and the task queue required processing time 73 of each task queue 70 to calculate the scheduled end time when the processing of the task included in the task queue 70 is started at the current time.
- the schedule unit 45 calculates the difference between the task queue deadline 74 of the task queue 70 and the scheduled end time, and determines that the task queue 70 having the smallest difference has the highest urgency. In this way, the schedule unit 45 selects the task queue 70 having a high degree of urgency, and loads the program 20 necessary to execute a plurality of tasks included in the task queue 70 into the reconfigurable hardware unit 30. After that, the task is executed in the reconfigurable hardware unit 30.
- the program load time can be relatively reduced. Furthermore, according to the information processing apparatus 10 of the present embodiment, it is possible to preferentially execute a plurality of tasks with high urgency while reducing the number of program loads. Can be applied.
- the job information storage unit 43 stores a plurality of job information 50.
- Large-scale processing may not be executed as one task by the reconfigurable hardware unit 30 due to limitations on the actual amount of hardware. In such a case, the entire process is divided into a plurality of small tasks, and each task is sequentially processed by the reconfigurable hardware unit 30.
- a processing unit that consists of multiple tasks divided into large-scale processes is called a job. Jobs have multiple task forces.
- Each task is not independent and has a dependency. Therefore, it is necessary to execute each task while keeping this dependency.
- FIG. 4 shows a configuration example of one job information 50 stored in the job information storage unit 43 in FIG.
- a plurality of task information 60 constituting the job and its dependency relation 68 are stored as a graph.
- Each task information 60 has a dependency counter 69 added thereto.
- the dependency number counter 69 is set to an initial value when a job is generated. For example, if the task 60 depends on completion of the other two tasks 60, the initial value of the dependency counter 69 is set to 2.
- the task dependency 68 is given, and the dependency counter 69 added to the task information 60 ahead is decreased by one.
- the task information 60 in which the value of the dependency number counter 69 is 0 is an executable task.
- Dependency 68 has data dependency and control dependency, but can be managed in a unified manner by dependency counter 69.
- the job management unit 44 selects task information 60 of a task that can be executed while referring to the plurality of job information 50 stored in the job information storage unit 43. . Specifically, the job management unit 44 selects a task to be executed next according to the execution status of tasks in a plurality of jobs, and stores the task information of the selected task in the task information storage unit 42. In addition, job information is updated and managed according to the progress of task execution.
- the job management unit 44 selects the task information 60 whose dependency counter 69 is 0 and stores it in the task information storage unit 42. .
- the selected task information 60 may be stored in the task information storage unit 43 directly by the job management unit 44, or the selected task information 60 is notified to the schedule unit 45, and the schedule unit 45 You can do it through! /
- the job management unit 44 sets the program identifier 65 of the selected task information 60. Accordingly, the task information 60 is stored in the task buffer 71 of the task queue 70 having the same program identifier 72.
- the task information 60 stored in the task information storage unit 42 is scheduled by the schedule unit 45 for program loading and execution, and is executed by the reconfigurable hardware unit 30.
- the task information 60 of the completed task is notified from the schedule unit 45 to the job management unit 44.
- the job management unit 44 changes the job information 50 based on the completion notification from the schedule unit 45.
- Execution completed in job information 50 The dependency 68 is obtained from the task information 60 of the task, and the dependency counter 69 of the task information 60 of the task that was dependent on the completed task is decreased.
- Which task information 60 of the plurality of job information 50 stored in the job information storage unit 43 corresponds to the task information 60 of the completed task can be managed using information such as a task identifier.
- FIG. 5 shows a configuration example of the reconfigurable hardware unit 30 in FIG.
- the reconfigurable hardware unit 30 includes an input / output control unit 31 and one or more processing units 32.
- the processing unit 32 includes a reconfiguration unit 33 and a program memory 35, respectively. Depending on the contents of the program 20 loaded in the program memory 35, the hardware configuration of the reconfiguration unit 32 is changed and predetermined processing is performed.
- the input / output unit 31 is used for an external interface.
- the program 20 is loaded from the outside of the reconfigurable hardware unit 30 to the program memory 35 via the input / output unit 31 and processed by the processing unit 32. Can be controlled.
- the input / output control unit 31 receives the task information 60, supplies the input data stored in the input / output data storage unit 110 to the processing unit 32 according to the information, and outputs the processing result in the processing unit 32 The data is output to the input / output data storage unit 110 as data.
- the program 20 can be loaded into another processing unit 32 that is not being executed while one or more processing units 32 execute the program 20.
- the reconfigurable hardware unit 30 can load a plurality of programs 20 and can execute the program 20 and load the program 20 at the same time, a plurality of tasks that can be executed by the program 20 are executed. However, since another program 20 can be loaded, the program loading time can be completely hidden.
- the processing unit 32 includes a reconfiguration unit 33, a plurality of program memories 35, and a program selection unit 34.
- the program selection unit 34 selects one from the plurality of program memories 35, and the hardware configuration of the reconfiguration unit 33 is changed according to the program 20.
- the selection of the program memory 35 by the program selection unit 34 is the program input to the program memory 35. Compared to a card, it can be performed in a short time. If all the necessary programs 20 are loaded in the program memory 35, the program 20 can be switched without program loading overhead. Also, when a certain program memory 35 is selected and executed by the reconfiguration unit 33, it can be selected and loaded into another program memory 35. Therefore, even when a larger number of programs 20 than a plurality of program memories 35 have to be loaded, it is possible to hide the program loading time.
- the job management unit 44 performs processing designated in advance according to the arrival of data from the outside, and outputs the result.
- the job management unit 44 receives two events: arrival of data from an external force and notification of task execution completion from the scheduling unit 45.
- the job management unit 44 first waits for the arrival of an event (step J10). If the event is the arrival of data from the outside (step J20), the job management unit 44 newly generates job information 50 necessary for processing the data and stores it in the job information storage unit 43 (step J40).
- the job management unit 44 stores the necessary program 20 in the program storage unit 41 by notifying the scheduling unit 45 of the program 20 necessary for execution of the tasks constituting the job (step S40). J50). Now you have the necessary preparations for executing the tasks that make up the job.
- the job management unit 44 refers to the plurality of job information 50 stored in the job information storage unit 43, selects the task information 60 for which the dependency count of the task information 60 is 0, and notifies the scheduling unit 45. (Step J60). As a result, the selected task information 60 is stored in the task information storage unit 42.
- the job management unit 44 updates the corresponding job information 50 according to the task information 60 of the task that has been executed. (Step J70). Since the job information 50 may be updated, a task that can be newly executed may be generated, so the job management unit 44 selects an executable task. The schedule part 45 is notified (step J60).
- each job is divided into a task and a task that can be executed independently by the reconfigurable hardware unit 30, and the dependency between tasks is determined as the progress of task execution. Since it is managed dynamically according to the error, efficient processing by the reconfigurable hardware unit 30 is possible even when multiple jobs are dynamically generated according to the arrival of data It becomes.
- the schedule unit 45 notifies the program registration from the job management unit 44 (step J50 in FIG. 7), the task registration notification (step J60 in FIG. 7), and the task execution completion from the reconfigurable hardware unit 30.
- An event called notification is received.
- the schedule unit 45 can confirm the operation state of the reconfigurable hardware unit 30 when performing the operation. This is because the reconfigurable hardware unit 30 is provided with a register indicating the operation state, or the schedule unit 45 itself is provided with a state variable indicating the execution control state for the reconfigurable hardware 30 and the reconfigurable hardware unit 30 is configured. This can be done by changing the state variable according to the control of the hardware unit 30 and the notification of the state from the reconfigurable hardware unit 30.
- the schedule unit 45 loads and executes the program 20 in units of 70 task queues.
- the task queue 70 changes several states under the management of the schedule unit 45.
- the main states are waiting for a program to be loaded for execution in the reconfigurable hardware part 30 and waiting for execution in the reconfigurable hardware part 30 and waiting for execution in the reconfigurable hardware part 30. .
- the schedule unit 45 first waits for the arrival of an event (step S10). Next, if the event is a notification of program registration from the job management unit 44 (step S20), the schedule unit 45 stores the designated program 20 in the program storage unit 41 and manages the program 20 A program identifier is generated (step S60). Next, the schedule unit 45 generates a task queue 70 for managing the task information 60 executable by the registered program 20 in the task information storage unit 42, and can be uniquely identified by the program identifier generated in step S60. (Step S70).
- the schedule The task unit 45 refers to the program identifier 65 of the designated task information 60 and stores the task information 60 in the corresponding task queue 70 of the task information storage unit 41.
- the schedule unit 45 also updates the state of the task queue 70 such as the task queue required processing time 73 of the task queue 70 and the task queue deadline 74 according to the storage of the task information 60 (step S80).
- the schedule unit 45 compares the task queue required processing time 73 of each task queue 70 and the state values of the task queue 70 such as the task queue deadline 74 and selects the task queue 70 with a high degree of urgency. (Step S90).
- the schedule unit 45 confirms the operation status of the reconfigurable hardware unit 30 (step S100), and if the program can be loaded, the program necessary for executing the selected task queue 70 is displayed. 20 loads can be reconfigured. The hardware unit 30 is instructed, and the selected task queue 70 enters a program load wait state that represents a state waiting for a program load (step S110).
- the schedule unit 45 confirms the operating state of the reconfigurable hardware unit 30 (step S120), and if the task can be executed, the schedule unit 45 is in an execution waiting state and the task queue 70 Instructs the reconfigurable hardware unit 30 to execute. If the reconfigurable hardware unit 30 can execute multiple tasks at the same time and there are multiple task queues 70 waiting to be executed, more efficient execution can be performed by instructing the execution of the multiple task queues 70. Yes (step S13 0). Steps S90, S100, SI 10, SI 20, SI 30 forces S The main part of the scheduling by S scheduling.
- the schedule unit 45 When the event is a task execution completion notification from the reconfigurable hardware unit 30 (step S40), the schedule unit 45 notifies the job management unit 44 of task information 60 of the completed task. Notification power of task execution completion from the reconfigurable hardware section 30 Task queue In the case of 70 units, the schedule section 45 can also notify the job management section 44 in 70 units of task queue (step S 140).
- the schedule unit 45 is configured to perform steps S90, S100, SI 10 of the main part of scheduling. , SI 20 and SI 30 are operated.
- the schedule unit 45 changes the state of the task queue 70 corresponding to the program 20 that has completed the program load from the program load waiting state to the execution waiting state (Step S150). Since the state of the reconfigurable hardware unit 30 and the state of the task queue 70 have changed, the schedule unit 45 performs the operations of steps S90, S100, SI10, SI20, SI30, which are the main parts of scheduling. Do.
- the reconfigurable hardware unit 30 can reduce the overhead of program load time when multiple programs are executed. If the reconfigurable hardware unit 30 can execute the program 20 and load the program 20 at the same time as shown in Fig. 5 and Fig. 6, the program load can be performed in parallel with other programs 20, so It is possible to substantially eliminate overhead.
- the time required for program loading is compared with the execution time by collectively executing a plurality of tasks that can be processed by the same program in the reconfigurable hardware unit 30.
- the entire process is managed in a structure called a job having a plurality of task forces, and the task to be executed next is moved according to the execution status of the task in the job.
- the task execution and the schedule management of the program load required to execute the task can be performed dynamically.
- the information processing device 10 using the reconfigurable hardware unit 30 dynamically manages the progress of processing even when the schedule for program loading and execution cannot be determined statically. Therefore, it can be processed efficiently.
- the reconfigurable hardware unit 30 is configured as a plug. Since the time required for program loading can be substantially eliminated, communication, network processing, and multimedia that require processing changes according to the arrival of external force data and there are time restrictions on sending processing results. It can be applied to the purpose of improving the efficiency of processing.
- the basic configuration is the same as that of the first embodiment described above, but the job management unit 44 and the schedule unit 45 are executed on the processor 80.
- Figure 9 shows the configuration realized as software.
- the job information storage unit 43, the task information storage unit 42, the program storage unit 41, and the input / output data storage unit 110 can be realized as areas on the memory 100, respectively.
- the processor 80, the reconfigurable hardware unit 30, and the memory 100 can exchange and control information via the communication path 90.
- event notification from the reconfigurable hardware unit 30 can be realized as an interrupt to the processor 80.
- the job management unit 44 and the schedule unit 45 can be realized as one program, or can be realized as a parallel program such as multithread! /.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
Description
Claims
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/991,372 US20090158293A1 (en) | 2005-09-05 | 2006-07-13 | Information processing apparatus |
JP2007534278A JP5018480B2 (ja) | 2005-09-05 | 2006-07-13 | 情報処理装置 |
CN200680032551.XA CN101258469B (zh) | 2005-09-05 | 2006-07-13 | 信息处理设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005-256324 | 2005-09-05 | ||
JP2005256324 | 2005-09-05 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2007029421A1 true WO2007029421A1 (ja) | 2007-03-15 |
Family
ID=37835549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2006/313957 WO2007029421A1 (ja) | 2005-09-05 | 2006-07-13 | 情報処理装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20090158293A1 (ja) |
JP (1) | JP5018480B2 (ja) |
CN (1) | CN101258469B (ja) |
WO (1) | WO2007029421A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009044635A1 (ja) * | 2007-10-03 | 2009-04-09 | Nec Corporation | データ処理装置および方法 |
JP2009187478A (ja) * | 2008-02-08 | 2009-08-20 | Sanyo Electric Co Ltd | 情報処理装置、情報処理方法およびプロセッサ |
WO2012039216A1 (ja) * | 2010-09-24 | 2012-03-29 | 日本電気株式会社 | 情報処理装置、その方法及びそのプログラム |
JP2012089154A (ja) * | 2005-09-30 | 2012-05-10 | Coware Inc | マルチコアアーキテクチャにおけるスケジューリング |
US8299816B2 (en) | 2010-03-11 | 2012-10-30 | Fuji Xerox Co., Ltd. | Data processing apparatus |
US8901957B2 (en) | 2013-02-26 | 2014-12-02 | Fujitsu Semiconductor Limited | Processor and control method for processor |
JP2021157482A (ja) * | 2020-03-26 | 2021-10-07 | Kddi株式会社 | スケジューリング方法、およびスケジューリング装置 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5049683B2 (ja) * | 2007-07-18 | 2012-10-17 | キヤノン株式会社 | デバイス管理装置及びジョブフロー処理方法とタスク連携処理システム |
US8850438B2 (en) * | 2009-02-05 | 2014-09-30 | International Business Machines Corporation | Managing the processing of processing requests in a data processing system comprising a plurality of processing environments |
JP5580404B2 (ja) * | 2010-03-29 | 2014-08-27 | 株式会社東芝 | 半導体装置 |
US8640137B1 (en) * | 2010-08-30 | 2014-01-28 | Adobe Systems Incorporated | Methods and apparatus for resource management in cluster computing |
JP5786863B2 (ja) * | 2010-10-28 | 2015-09-30 | 日本電気株式会社 | タスク配置最適化システム、タスク配置最適化方法、及びタスク配置最適化プログラム |
US9535757B2 (en) * | 2011-12-19 | 2017-01-03 | Nec Corporation | Task allocation optimizing system, task allocation optimizing method and task allocation optimizing program |
US9400653B2 (en) | 2013-03-14 | 2016-07-26 | Samsung Electronics Co., Ltd. | System and method to clear and rebuild dependencies |
US20140282572A1 (en) * | 2013-03-14 | 2014-09-18 | Samsung Electronics Co., Ltd. | Task scheduling with precedence relationships in multicore systems |
US9336502B2 (en) * | 2013-04-30 | 2016-05-10 | Oracle International Corporation | Showing relationships between tasks in a Gantt chart |
NL2011315C2 (en) * | 2013-08-19 | 2015-02-23 | Topic Embedded Systems B V | A computing platform, a reconfigurable hardware device and a method for simultaneously executing processes on dynamically reconfigurable hardware device, such as an fpga, as well as instruction set processors, such as a cpu, and a related computer readable medium. |
US20150356518A1 (en) * | 2014-06-10 | 2015-12-10 | Oracle International Corporation | Aggregate task system |
US10643157B2 (en) | 2015-02-03 | 2020-05-05 | Oracle International Corporation | Task progress update history visualization system |
US10496943B2 (en) | 2015-03-30 | 2019-12-03 | Oracle International Corporation | Visual task assignment system |
US9552229B2 (en) | 2015-05-14 | 2017-01-24 | Atlassian Pty Ltd | Systems and methods for task scheduling |
CN105677469B (zh) * | 2016-01-06 | 2019-12-27 | 北京京东世纪贸易有限公司 | 定时任务执行方法及装置 |
US20180081834A1 (en) * | 2016-09-16 | 2018-03-22 | Futurewei Technologies, Inc. | Apparatus and method for configuring hardware to operate in multiple modes during runtime |
GB2554392B (en) * | 2016-09-23 | 2019-10-30 | Imagination Tech Ltd | Task scheduling in a GPU |
US10318348B2 (en) | 2016-09-23 | 2019-06-11 | Imagination Technologies Limited | Task scheduling in a GPU |
EP3376441B1 (en) * | 2017-03-15 | 2021-07-14 | Siemens Aktiengesellschaft | A method for execution of a machine learning model on memory restricted industrial device |
US11263025B2 (en) * | 2020-05-26 | 2022-03-01 | International Business Machines Corporation | Proactively performing tasks based on estimating hardware reconfiguration times |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205231A (ja) * | 1990-11-30 | 1992-07-27 | Fujitsu Ltd | プログラム実行制御方式 |
JPH10228385A (ja) * | 1997-02-17 | 1998-08-25 | Nec Corp | リアルタイムos及びそのタスク管理方式 |
JPH11184718A (ja) * | 1997-12-19 | 1999-07-09 | Matsushita Electric Ind Co Ltd | プログラマブルなデータ処理装置 |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63150735A (ja) * | 1986-12-16 | 1988-06-23 | Nec Corp | タスクの生成/削除制御方式 |
US5640563A (en) * | 1992-01-31 | 1997-06-17 | International Business Machines Corporation | Multi-media computer operating system and method |
US6003061A (en) * | 1995-12-07 | 1999-12-14 | Microsoft Corporation | Method and system for scheduling the use of a computer system resource using a resource planner and a resource provider |
US6408277B1 (en) * | 2000-06-21 | 2002-06-18 | Banter Limited | System and method for automatic task prioritization |
US7299466B2 (en) * | 2001-12-20 | 2007-11-20 | Cadence Design Systems, Inc. | Mechanism for managing execution environments for aggregated processes |
JP2003263331A (ja) * | 2002-03-07 | 2003-09-19 | Toshiba Corp | マルチプロセッサシステム |
GB0304628D0 (en) * | 2003-02-28 | 2003-04-02 | Imec Inter Uni Micro Electr | Method for hardware-software multitasking on a reconfigurable computing platform |
-
2006
- 2006-07-13 US US11/991,372 patent/US20090158293A1/en not_active Abandoned
- 2006-07-13 JP JP2007534278A patent/JP5018480B2/ja active Active
- 2006-07-13 WO PCT/JP2006/313957 patent/WO2007029421A1/ja active Application Filing
- 2006-07-13 CN CN200680032551.XA patent/CN101258469B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205231A (ja) * | 1990-11-30 | 1992-07-27 | Fujitsu Ltd | プログラム実行制御方式 |
JPH10228385A (ja) * | 1997-02-17 | 1998-08-25 | Nec Corp | リアルタイムos及びそのタスク管理方式 |
JPH11184718A (ja) * | 1997-12-19 | 1999-07-09 | Matsushita Electric Ind Co Ltd | プログラマブルなデータ処理装置 |
JP2001068993A (ja) * | 1999-08-25 | 2001-03-16 | Fuji Xerox Co Ltd | 情報処理システム |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9286262B2 (en) | 2005-09-30 | 2016-03-15 | Synopsys, Inc. | Scheduling in a multicore architecture |
US9164953B2 (en) | 2005-09-30 | 2015-10-20 | Synopsys, Inc. | Scheduling in a multicore architecture |
US9442886B2 (en) | 2005-09-30 | 2016-09-13 | Synopsys, Inc. | Scheduling in a multicore architecture |
JP2012089154A (ja) * | 2005-09-30 | 2012-05-10 | Coware Inc | マルチコアアーキテクチャにおけるスケジューリング |
US8751773B2 (en) | 2005-09-30 | 2014-06-10 | Synopsys, Inc. | Scheduling in a multicore architecture |
US8732439B2 (en) | 2005-09-30 | 2014-05-20 | Synopsys, Inc. | Scheduling in a multicore processor |
JP5240200B2 (ja) * | 2007-10-03 | 2013-07-17 | 日本電気株式会社 | データ処理装置および方法 |
WO2009044635A1 (ja) * | 2007-10-03 | 2009-04-09 | Nec Corporation | データ処理装置および方法 |
JP2009187478A (ja) * | 2008-02-08 | 2009-08-20 | Sanyo Electric Co Ltd | 情報処理装置、情報処理方法およびプロセッサ |
US8299816B2 (en) | 2010-03-11 | 2012-10-30 | Fuji Xerox Co., Ltd. | Data processing apparatus |
JPWO2012039216A1 (ja) * | 2010-09-24 | 2014-02-03 | 日本電気株式会社 | 情報処理装置、その方法及びそのプログラム |
JP5825261B2 (ja) * | 2010-09-24 | 2015-12-02 | 日本電気株式会社 | 情報処理装置、その方法及びそのプログラム |
WO2012039216A1 (ja) * | 2010-09-24 | 2012-03-29 | 日本電気株式会社 | 情報処理装置、その方法及びそのプログラム |
US8901957B2 (en) | 2013-02-26 | 2014-12-02 | Fujitsu Semiconductor Limited | Processor and control method for processor |
JP2021157482A (ja) * | 2020-03-26 | 2021-10-07 | Kddi株式会社 | スケジューリング方法、およびスケジューリング装置 |
JP7273383B2 (ja) | 2020-03-26 | 2023-05-15 | Kddi株式会社 | スケジューリング方法、およびスケジューリング装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5018480B2 (ja) | 2012-09-05 |
JPWO2007029421A1 (ja) | 2009-03-12 |
US20090158293A1 (en) | 2009-06-18 |
CN101258469A (zh) | 2008-09-03 |
CN101258469B (zh) | 2010-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2007029421A1 (ja) | 情報処理装置 | |
US9870252B2 (en) | Multi-threaded processing with reduced context switching | |
US7302686B2 (en) | Task management system | |
JP5405320B2 (ja) | 仮想計算機制御装置、仮想計算機制御方法及び仮想計算機制御プログラム | |
US7441240B2 (en) | Process scheduling apparatus, process scheduling method, program for process scheduling, and storage medium recording a program for process scheduling | |
US7836291B2 (en) | Method, medium, and apparatus with interrupt handling in a reconfigurable array | |
US20080235695A1 (en) | Resource allocation system for jobs, resource allocation method and resource allocation program for jobs | |
KR101622266B1 (ko) | 재구성 가능 프로세서 및 이를 이용한 인터럽트 핸들링 방법 | |
TWI426451B (zh) | Work processing device | |
US7590990B2 (en) | Computer system | |
JP4199444B2 (ja) | パーティション構成変更方式、パーティション構成変更方法およびパーティション構成変更用プログラム | |
US20210232430A1 (en) | Processor zero overhead task scheduling | |
WO2012039216A1 (ja) | 情報処理装置、その方法及びそのプログラム | |
JP2004220093A (ja) | プロセッサ、実行タスク決定装置及び演算処理方法 | |
JP2002163117A (ja) | タスクスケジューリング装置 | |
Aridor et al. | Open job management architecture for the Blue Gene/L supercomputer | |
JP2012203911A (ja) | 非同期のデバイスによって実行されるタスクのスケジューリングの向上 | |
WO2006011189A1 (ja) | 並列計算機 | |
CN113296846B (zh) | 一种基于任务调度的芯片端口配置方法与装置 | |
US11789773B2 (en) | Computing device for handling tasks in a multi-core processor, and method for operating computing device | |
JP2666667B2 (ja) | マルチタスク実行装置 | |
JP2579008B2 (ja) | 時分割マルチタスク実行装置 | |
JPH0844574A (ja) | ジョブ運転管理装置 | |
CN113835903A (zh) | 一种信息处理方法、装置、设备及存储介质 | |
CN118132231A (zh) | 基于虚拟双核的系统任务调度方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 200680032551.X Country of ref document: CN |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2007534278 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: 11991372 Country of ref document: US |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 06768171 Country of ref document: EP Kind code of ref document: A1 |